{"version":3,"file":"bungie-api-angular.mjs","sources":["../../../projects/bungie-api-angular/src/lib/configuration.ts","../../../projects/bungie-api-angular/src/lib/api.module.ts","../../../projects/bungie-api-angular/src/lib/model/applicationsApplicationScopes.ts","../../../projects/bungie-api-angular/src/lib/model/applicationsApplicationStatus.ts","../../../projects/bungie-api-angular/src/lib/model/applicationsDatapoint.ts","../../../projects/bungie-api-angular/src/lib/model/applicationsDeveloperRole.ts","../../../projects/bungie-api-angular/src/lib/model/bungieCredentialType.ts","../../../projects/bungie-api-angular/src/lib/model/bungieMembershipType.ts","../../../projects/bungie-api-angular/src/lib/model/commonModelsCoreSetting.ts","../../../projects/bungie-api-angular/src/lib/model/commonModelsCoreSystem.ts","../../../projects/bungie-api-angular/src/lib/model/commonModelsDestiny2CoreSettings.ts","../../../projects/bungie-api-angular/src/lib/model/componentsComponentPrivacySetting.ts","../../../projects/bungie-api-angular/src/lib/model/componentsComponentResponse.ts","../../../projects/bungie-api-angular/src/lib/model/configClanBannerClanBannerDecal.ts","../../../projects/bungie-api-angular/src/lib/model/configGroupTheme.ts","../../../projects/bungie-api-angular/src/lib/model/configUserTheme.ts","../../../projects/bungie-api-angular/src/lib/model/contentCommentSummary.ts","../../../projects/bungie-api-angular/src/lib/model/contentContentRepresentation.ts","../../../projects/bungie-api-angular/src/lib/model/contentModelsContentPreview.ts","../../../projects/bungie-api-angular/src/lib/model/contentModelsContentPropertyDataTypeEnum.ts","../../../projects/bungie-api-angular/src/lib/model/contentModelsContentTypeDefaultValue.ts","../../../projects/bungie-api-angular/src/lib/model/contentModelsContentTypePropertySection.ts","../../../projects/bungie-api-angular/src/lib/model/contentModelsTagMetadataItem.ts","../../../projects/bungie-api-angular/src/lib/model/contentNewsArticleRssItem.ts","../../../projects/bungie-api-angular/src/lib/model/contentSearchHelpArticles200Response.ts","../../../projects/bungie-api-angular/src/lib/model/datesDateRange.ts","../../../projects/bungie-api-angular/src/lib/model/destiny2GetClanBannerSource200Response.ts","../../../projects/bungie-api-angular/src/lib/model/destinyActivityGraphNodeHighlightType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaAuthorizationResult.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaInitializeResponse.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaPermissionRequested.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaResponseReason.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaUserResponse.ts","../../../projects/bungie-api-angular/src/lib/model/destinyAdvancedAwaUserSelection.ts","../../../projects/bungie-api-angular/src/lib/model/destinyArtifactsDestinyArtifactTierItem.ts","../../../projects/bungie-api-angular/src/lib/model/destinyBucketCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyBucketScope.ts","../../../projects/bungie-api-angular/src/lib/model/destinyCharacterDestinyCharacterCustomization.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsCollectiblesDestinyCollectibleComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsCraftablesDestinyCraftableSocketPlugComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsInventoryDestinyCurrenciesComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsLoadoutsDestinyLoadoutItemComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsProfilesDestinyProfileTransitoryCurrentActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsProfilesDestinyProfileTransitoryJoinability.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsProfilesDestinyProfileTransitoryPartyMember.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsProfilesDestinyProfileTransitoryTrackingEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsSocialDestinySocialCommendationsComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsStringVariablesDestinyStringVariablesComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsVendorsDestinyPublicVendorComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsVendorsDestinyVendorBaseComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyComponentsVendorsDestinyVendorGroup.ts","../../../projects/bungie-api-angular/src/lib/model/destinyConfigGearAssetDataBaseDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyConfigImagePyramidEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyConstantsDestinyEnvironmentLocationMapping.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDamageType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsAnimationsDestinyAnimationReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsArtifactsDestinyArtifactTierItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsCollectiblesDestinyCollectibleAcquisitionBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsCommonDestinyIconSequenceDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsCommonDestinyPositionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityGraphListEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityGuidedBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityInsertionPointDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityLoadoutRequirement.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityMatchmakingBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityModifierReferenceDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityPlaylistItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyActivityUnlockStringDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyArrangementRegionFilterDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyArtDyeReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyEquippingBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyFactionVendorDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyGearArtArrangementReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyInventoryItemStatDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemActionRequiredItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemCraftingBlockBonusPlugDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemCreationEntryLevelDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemGearsetBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemIntrinsicSocketEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemInventoryBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemInvestmentStatDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemMetricBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemPerkEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemSackBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemSetBlockEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemSocketCategoryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemSocketEntryPlugItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemSummaryBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemTalentGridBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemTooltipNotification.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemVendorSourceReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyItemVersionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyMaterialRequirement.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyMedalTierDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyNodeActivationRequirement.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyNodeSocketReplaceResponse.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyObjectiveDisplayProperties.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyObjectivePerkEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyPlugItemCraftingUnlockRequirement.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyProgressionRewardDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyProgressionRewardItemQuantity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyRewardSourceCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentExclusiveGroup.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeExclusiveSetDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepDamageTypes.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepGroups.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepGuardianAttributes.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepImpactEffects.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepLightAbilities.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyTalentNodeStepWeaponPerformances.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyUnlockExpressionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyUnlockValueDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorAcceptedItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorActionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorCategoryOverlayDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorGroupDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorGroupReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorInteractionReplyDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorInteractionSackEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorInventoryFlyoutBucketDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorItemQuantity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorItemSocketOverride.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorRequirementDisplayEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorSaleItemActionBlockDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDestinyVendorServiceDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphConnectionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphDisplayObjectiveDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphDisplayProgressionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphNodeActivityDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphNodeFeaturingStateDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyActivityGraphNodeStateEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsDirectorDestinyLinkedGraphEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsGuardianRanksDestinyGuardianRankIconBackgroundsDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyDerivedItemDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyEnergyCapacityEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyEnergyCostEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyItemTierTypeInfusionBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyParentItemOverride.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsItemsDestinyPlugRuleDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsLoadoutsDestinyLoadoutColorDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsLoadoutsDestinyLoadoutIconDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsLoadoutsDestinyLoadoutNameDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneActivityVariantDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneChallengeActivityGraphNodeEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneChallengeActivityPhase.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneChallengeDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneDisplayPreference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneQuestRewardItem.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsMilestonesDestinyMilestoneVendorDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPowerCapsDestinyPowerCapDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationChildBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeBaseDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeChildEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeChildEntryBase.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeCollectibleChildEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeCraftableChildEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeMetricChildEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeRecordChildEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyPresentationNodeRequirementsBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsPresentationDestinyScoredPresentationNodeBaseDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsRecordsDestinyRecordCompletionBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsRecordsDestinyRecordExpirationBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsRecordsDestinyRecordIntervalObjective.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsRecordsDestinyRecordTitleBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsRecordsSchemaRecordStateBlock.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsSeasonsDestinyEventCardImages.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsSeasonsDestinySeasonPreviewImageDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsSocketsDestinyInsertPlugActionDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsSocketsDestinyPlugWhitelistEntryDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsSocketsDestinySocketTypeScalarMaterialRequirementEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDefinitionsVendorsDestinyVendorLocationDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyActivityDifficultyTier.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyActivityModeCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyActivityNavPointType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyAmmunitionType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyBreakerType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyClass.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyCollectibleState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyComponentType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyEnergyType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyEquipItemResult.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyGamePrivacySetting.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyGameVersions.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyGatingScope.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyGender.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyGraphNodeState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyItemQuantity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyItemSortType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyItemSubType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyItemType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyJoinClosedReasons.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyObjectiveGrantStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyObjectiveUiStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyPartyMemberStates.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyPresentationDisplayStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyPresentationNodeState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyPresentationNodeType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyPresentationScreenStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyProgressionResetEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyProgressionRewardItemAcquisitionBehavior.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyProgressionRewardItemState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyProgressionScope.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyProgressionStepDisplayEffect.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyRace.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyRecordState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyRecordToastStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyRecordValueStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyScope.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinySocketCategoryStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinySocketVisibility.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyStat.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyStatAggregationType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyStatCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyTalentNodeState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyUnlockStatus.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyUnlockValueUIStyle.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorFilter.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorInteractionRewardSelection.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorItemRefundPolicy.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorItemState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorProgressionType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDestinyVendorReplyType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyDyeReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesCharactersDestinyCharacterActivitiesComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesItemsDestinyItemInstanceComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesItemsDestinyItemInstanceEnergy.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesItemsDestinyItemRenderComponent.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesItemsDestinyItemSocketState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEntitiesVendorsDestinyVendorCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEquipFailureReason.ts","../../../projects/bungie-api-angular/src/lib/model/destinyEquippingItemBlockAttributes.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsDestinyActivityModeType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsDestinyHistoricalStatsDefinition.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsDestinyStatsCategoryType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsDestinyStatsGroupType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsDestinyStatsMergeMethod.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsPeriodType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDefinitionsUnitType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDestinyHistoricalStatsActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyHistoricalStatsDestinyHistoricalStatsValuePair.ts","../../../projects/bungie-api-angular/src/lib/model/destinyItemBindStatus.ts","../../../projects/bungie-api-angular/src/lib/model/destinyItemLocation.ts","../../../projects/bungie-api-angular/src/lib/model/destinyItemPerkVisibility.ts","../../../projects/bungie-api-angular/src/lib/model/destinyItemState.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneActivityPhase.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneActivityVariant.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneContentItemCategory.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneQuestActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneRewardEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyMilestoneVendor.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneActivityVariant.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneChallenge.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneChallengeActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneQuestActivity.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMilestonesDestinyPublicMilestoneVendor.ts","../../../projects/bungie-api-angular/src/lib/model/destinyMiscDestinyColor.ts","../../../projects/bungie-api-angular/src/lib/model/destinyPerksDestinyPerkReference.ts","../../../projects/bungie-api-angular/src/lib/model/destinyPlugAvailabilityMode.ts","../../../projects/bungie-api-angular/src/lib/model/destinyPlugUiStyles.ts","../../../projects/bungie-api-angular/src/lib/model/destinyQuestsDestinyObjectiveProgress.ts","../../../projects/bungie-api-angular/src/lib/model/destinyReportingRequestsDestinyReportOffensePgcrRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyCharacterActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyInsertPlugsRequestEntry.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyItemActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyItemSetActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyItemStateRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyLoadoutActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyLoadoutUpdateActionRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinyPostmasterTransferRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsActionsDestinySocketArrayType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyRequestsDestinyItemTransferRequest.ts","../../../projects/bungie-api-angular/src/lib/model/destinyResponsesDestinyProfileUserInfoCard.ts","../../../projects/bungie-api-angular/src/lib/model/destinySocketPlugSources.ts","../../../projects/bungie-api-angular/src/lib/model/destinySocketTypeActionType.ts","../../../projects/bungie-api-angular/src/lib/model/destinySocketsDestinyItemPlugBase.ts","../../../projects/bungie-api-angular/src/lib/model/destinySpecialItemType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyTierType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyTransferStatuses.ts","../../../projects/bungie-api-angular/src/lib/model/destinyVendorDisplayCategorySortOrder.ts","../../../projects/bungie-api-angular/src/lib/model/destinyVendorInteractionType.ts","../../../projects/bungie-api-angular/src/lib/model/destinyVendorItemStatus.ts","../../../projects/bungie-api-angular/src/lib/model/entitiesEntityActionResult.ts","../../../projects/bungie-api-angular/src/lib/model/exceptionsPlatformErrorCodes.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamDateRange.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamPlatform.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamPlatformInviteResult.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamPublicSearchOption.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamSlotSearch.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamSummary.ts","../../../projects/bungie-api-angular/src/lib/model/fireteamFireteamUserInfoCard.ts","../../../projects/bungie-api-angular/src/lib/model/forumCommunityContentSortMode.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumMediaType.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumPostPopularity.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumPostSortEnum.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumRecruitmentIntensityLabel.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumRecruitmentToneLabel.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumTopicsCategoryFiltersEnum.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumTopicsQuickDateEnum.ts","../../../projects/bungie-api-angular/src/lib/model/forumForumTopicsSortEnum.ts","../../../projects/bungie-api-angular/src/lib/model/forumGetTopicForContent200Response.ts","../../../projects/bungie-api-angular/src/lib/model/forumPollResult.ts","../../../projects/bungie-api-angular/src/lib/model/forumsForumFlagsEnum.ts","../../../projects/bungie-api-angular/src/lib/model/forumsForumPostCategoryEnums.ts","../../../projects/bungie-api-angular/src/lib/model/globalAlertLevel.ts","../../../projects/bungie-api-angular/src/lib/model/globalAlertType.ts","../../../projects/bungie-api-angular/src/lib/model/groupV2EditGroup200Response.ts","../../../projects/bungie-api-angular/src/lib/model/groupV2GetUserClanInviteSetting200Response.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2Capabilities.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2ChatSecuritySetting.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2ClanBanner.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupAllianceStatus.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupApplicationRequest.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupApplicationResolveState.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupApplicationResponse.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupBanRequest.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupDateRange.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupEditAction.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupFeatures.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupHomepage.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupMemberCountFilter.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupNameSearchRequest.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupOptionalConversation.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupOptionalConversationAddRequest.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupOptionalConversationEditRequest.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupOptionsEditAction.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupPostPublicity.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupPotentialMemberStatus.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupQuery.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupSortBy.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupType.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupUserInfoCard.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2GroupsForMemberFilter.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2HostGuidedGamesPermissionLevel.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2MembershipOption.ts","../../../projects/bungie-api-angular/src/lib/model/groupsV2RuntimeGroupMemberType.ts","../../../projects/bungie-api-angular/src/lib/model/ignoresIgnoreLength.ts","../../../projects/bungie-api-angular/src/lib/model/ignoresIgnoreResponse.ts","../../../projects/bungie-api-angular/src/lib/model/ignoresIgnoreStatus.ts","../../../projects/bungie-api-angular/src/lib/model/interpolationInterpolationPoint.ts","../../../projects/bungie-api-angular/src/lib/model/interpolationInterpolationPointFloat.ts","../../../projects/bungie-api-angular/src/lib/model/linksHyperlinkReference.ts","../../../projects/bungie-api-angular/src/lib/model/queriesPagedQuery.ts","../../../projects/bungie-api-angular/src/lib/model/socialFriendsFriendRelationshipState.ts","../../../projects/bungie-api-angular/src/lib/model/socialFriendsPlatformFriend.ts","../../../projects/bungie-api-angular/src/lib/model/socialFriendsPlatformFriendType.ts","../../../projects/bungie-api-angular/src/lib/model/socialFriendsPresenceOnlineStateFlags.ts","../../../projects/bungie-api-angular/src/lib/model/socialFriendsPresenceStatus.ts","../../../projects/bungie-api-angular/src/lib/model/streamInfo.ts","../../../projects/bungie-api-angular/src/lib/model/streamingDropStateEnum.ts","../../../projects/bungie-api-angular/src/lib/model/tokensPartnerOfferClaimRequest.ts","../../../projects/bungie-api-angular/src/lib/model/tokensPartnerOfferHistoryResponse.ts","../../../projects/bungie-api-angular/src/lib/model/tokensRewardDisplayProperties.ts","../../../projects/bungie-api-angular/src/lib/model/tokensTwitchDropHistoryResponse.ts","../../../projects/bungie-api-angular/src/lib/model/trendingTrendingEntry.ts","../../../projects/bungie-api-angular/src/lib/model/trendingTrendingEntryCommunityCreation.ts","../../../projects/bungie-api-angular/src/lib/model/trendingTrendingEntryDestinyItem.ts","../../../projects/bungie-api-angular/src/lib/model/trendingTrendingEntryType.ts","../../../projects/bungie-api-angular/src/lib/model/userCrossSaveUserMembership.ts","../../../projects/bungie-api-angular/src/lib/model/userEMailSettingLocalization.ts","../../../projects/bungie-api-angular/src/lib/model/userEMailSettingSubscriptionLocalization.ts","../../../projects/bungie-api-angular/src/lib/model/userExactSearchRequest.ts","../../../projects/bungie-api-angular/src/lib/model/userGetSanitizedPlatformDisplayNames200Response.ts","../../../projects/bungie-api-angular/src/lib/model/userHardLinkedUserMembership.ts","../../../projects/bungie-api-angular/src/lib/model/userModelsGetCredentialTypesForAccountResponse.ts","../../../projects/bungie-api-angular/src/lib/model/userOptInFlags.ts","../../../projects/bungie-api-angular/src/lib/model/userUserInfoCard.ts","../../../projects/bungie-api-angular/src/lib/model/userUserMembership.ts","../../../projects/bungie-api-angular/src/lib/model/userUserSearchPrefixRequest.ts","../../../projects/bungie-api-angular/src/lib/encoder.ts","../../../projects/bungie-api-angular/src/lib/variables.ts","../../../projects/bungie-api-angular/src/lib/api/app.service.ts","../../../projects/bungie-api-angular/src/lib/api/communityContent.service.ts","../../../projects/bungie-api-angular/src/lib/api/content.service.ts","../../../projects/bungie-api-angular/src/lib/api/default.service.ts","../../../projects/bungie-api-angular/src/lib/api/destiny2.service.ts","../../../projects/bungie-api-angular/src/lib/api/fireteam.service.ts","../../../projects/bungie-api-angular/src/lib/api/forum.service.ts","../../../projects/bungie-api-angular/src/lib/api/groupV2.service.ts","../../../projects/bungie-api-angular/src/lib/api/preview.service.ts","../../../projects/bungie-api-angular/src/lib/api/tokens.service.ts","../../../projects/bungie-api-angular/src/lib/api/trending.service.ts","../../../projects/bungie-api-angular/src/lib/api/user.service.ts","../../../projects/bungie-api-angular/src/public-api.ts","../../../projects/bungie-api-angular/src/bungie-api-angular.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\nexport interface ConfigurationParameters {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    encoder?: HttpParameterCodec;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    apiKeys?: {[ key: string ]: string};\n    username?: string;\n    password?: string;\n    /**\n     *  @deprecated Since 5.0. Use credentials instead\n     */\n    accessToken?: string | (() => string);\n    basePath?: string;\n    withCredentials?: boolean;\n    encoder?: HttpParameterCodec;\n    /**\n     * The keys are the names in the securitySchemes section of the OpenAPI\n     * document. They should map to the value used for authentication\n     * minus any standard prefixes such as 'Basic' or 'Bearer'.\n     */\n    credentials: {[ key: string ]: string | (() => string | undefined)};\n\n    constructor(configurationParameters: ConfigurationParameters = {}) {\n        this.apiKeys = configurationParameters.apiKeys;\n        this.username = configurationParameters.username;\n        this.password = configurationParameters.password;\n        this.accessToken = configurationParameters.accessToken;\n        this.basePath = configurationParameters.basePath;\n        this.withCredentials = configurationParameters.withCredentials;\n        this.encoder = configurationParameters.encoder;\n        if (configurationParameters.credentials) {\n            this.credentials = configurationParameters.credentials;\n        }\n        else {\n            this.credentials = {};\n        }\n\n        // init default apiKey credential\n        if (!this.credentials['apiKey']) {\n            this.credentials['apiKey'] = () => {\n                if (this.apiKeys === null || this.apiKeys === undefined) {\n                    return undefined;\n                } else {\n                    return this.apiKeys['apiKey'] || this.apiKeys['X-API-Key'];\n                }\n            };\n        }\n\n        // init default oauth2 credential\n        if (!this.credentials['oauth2']) {\n            this.credentials['oauth2'] = () => {\n                return typeof this.accessToken === 'function'\n                    ? this.accessToken()\n                    : this.accessToken;\n            };\n        }\n    }\n\n    /**\n     * Select the correct content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param contentTypes - the array of content types that are available for selection\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderContentType (contentTypes: string[]): string | undefined {\n        if (contentTypes.length === 0) {\n            return undefined;\n        }\n\n        const type = contentTypes.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return contentTypes[0];\n        }\n        return type;\n    }\n\n    /**\n     * Select the correct accept content-type to use for a request.\n     * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n     * If no content type is found return the first found type if the contentTypes is not empty\n     * @param accepts - the array of content types that are available for selection.\n     * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n     */\n    public selectHeaderAccept(accepts: string[]): string | undefined {\n        if (accepts.length === 0) {\n            return undefined;\n        }\n\n        const type = accepts.find((x: string) => this.isJsonMime(x));\n        if (type === undefined) {\n            return accepts[0];\n        }\n        return type;\n    }\n\n    /**\n     * Check if the given MIME is a JSON MIME.\n     * JSON MIME examples:\n     *   application/json\n     *   application/json; charset=UTF8\n     *   APPLICATION/JSON\n     *   application/vnd.company+json\n     * @param mime - MIME (Multipurpose Internet Mail Extensions)\n     * @return True if the given MIME is JSON, false otherwise.\n     */\n    public isJsonMime(mime: string): boolean {\n        const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n        return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n    }\n\n    public lookupCredential(key: string): string | undefined {\n        const value = this.credentials[key];\n        return typeof value === 'function'\n            ? value()\n            : value;\n    }\n}\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\nimport { DefaultService } from './api/default.service';\nimport { AppService } from './api/app.service';\nimport { CommunityContentService } from './api/communityContent.service';\nimport { ContentService } from './api/content.service';\nimport { Destiny2Service } from './api/destiny2.service';\nimport { FireteamService } from './api/fireteam.service';\nimport { ForumService } from './api/forum.service';\nimport { GroupV2Service } from './api/groupV2.service';\nimport { PreviewService } from './api/preview.service';\nimport { SocialService } from './api/social.service';\nimport { TokensService } from './api/tokens.service';\nimport { TrendingService } from './api/trending.service';\nimport { UserService } from './api/user.service';\n\n@NgModule({\n  imports:      [],\n  declarations: [],\n  exports:      [],\n  providers: []\n})\nexport class ApiModule {\n    public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<ApiModule> {\n        return {\n            ngModule: ApiModule,\n            providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n        };\n    }\n\n    constructor( @Optional() @SkipSelf() parentModule: ApiModule,\n                 @Optional() http: HttpClient) {\n        if (parentModule) {\n            throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n        }\n        if (!http) {\n            throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n            'See also https://github.com/angular/angular/issues/20575');\n        }\n    }\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ApplicationsApplicationScopes = 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384;\n\nexport const ApplicationsApplicationScopes = {\n    NUMBER_1: 1 as ApplicationsApplicationScopes,\n    NUMBER_2: 2 as ApplicationsApplicationScopes,\n    NUMBER_4: 4 as ApplicationsApplicationScopes,\n    NUMBER_8: 8 as ApplicationsApplicationScopes,\n    NUMBER_16: 16 as ApplicationsApplicationScopes,\n    NUMBER_32: 32 as ApplicationsApplicationScopes,\n    NUMBER_64: 64 as ApplicationsApplicationScopes,\n    NUMBER_128: 128 as ApplicationsApplicationScopes,\n    NUMBER_256: 256 as ApplicationsApplicationScopes,\n    NUMBER_512: 512 as ApplicationsApplicationScopes,\n    NUMBER_1024: 1024 as ApplicationsApplicationScopes,\n    NUMBER_2048: 2048 as ApplicationsApplicationScopes,\n    NUMBER_4096: 4096 as ApplicationsApplicationScopes,\n    NUMBER_8192: 8192 as ApplicationsApplicationScopes,\n    NUMBER_16384: 16384 as ApplicationsApplicationScopes\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ApplicationsApplicationStatus = 0 | 1 | 2 | 3 | 4;\n\nexport const ApplicationsApplicationStatus = {\n    NUMBER_0: 0 as ApplicationsApplicationStatus,\n    NUMBER_1: 1 as ApplicationsApplicationStatus,\n    NUMBER_2: 2 as ApplicationsApplicationStatus,\n    NUMBER_3: 3 as ApplicationsApplicationStatus,\n    NUMBER_4: 4 as ApplicationsApplicationStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ApplicationsDatapoint { \n    /**\n     * Timestamp for the related count.\n     */\n    time?: string;\n    /**\n     * Count associated with timestamp\n     */\n    count?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ApplicationsDeveloperRole = 0 | 1 | 2;\n\nexport const ApplicationsDeveloperRole = {\n    NUMBER_0: 0 as ApplicationsDeveloperRole,\n    NUMBER_1: 1 as ApplicationsDeveloperRole,\n    NUMBER_2: 2 as ApplicationsDeveloperRole\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The types of credentials the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.CredentialType.\n */\nexport type BungieCredentialType = 0 | 1 | 2 | 3 | 4 | 5 | 8 | 9 | 10 | 12 | 14 | 16 | 18 | 20;\n\nexport const BungieCredentialType = {\n    NUMBER_0: 0 as BungieCredentialType,\n    NUMBER_1: 1 as BungieCredentialType,\n    NUMBER_2: 2 as BungieCredentialType,\n    NUMBER_3: 3 as BungieCredentialType,\n    NUMBER_4: 4 as BungieCredentialType,\n    NUMBER_5: 5 as BungieCredentialType,\n    NUMBER_8: 8 as BungieCredentialType,\n    NUMBER_9: 9 as BungieCredentialType,\n    NUMBER_10: 10 as BungieCredentialType,\n    NUMBER_12: 12 as BungieCredentialType,\n    NUMBER_14: 14 as BungieCredentialType,\n    NUMBER_16: 16 as BungieCredentialType,\n    NUMBER_18: 18 as BungieCredentialType,\n    NUMBER_20: 20 as BungieCredentialType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.\n */\nexport type BungieMembershipType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 10 | 254 | -1;\n\nexport const BungieMembershipType = {\n    NUMBER_0: 0 as BungieMembershipType,\n    NUMBER_1: 1 as BungieMembershipType,\n    NUMBER_2: 2 as BungieMembershipType,\n    NUMBER_3: 3 as BungieMembershipType,\n    NUMBER_4: 4 as BungieMembershipType,\n    NUMBER_5: 5 as BungieMembershipType,\n    NUMBER_6: 6 as BungieMembershipType,\n    NUMBER_10: 10 as BungieMembershipType,\n    NUMBER_254: 254 as BungieMembershipType,\n    NUMBER_MINUS_1: -1 as BungieMembershipType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CommonModelsCoreSetting { \n    identifier?: string;\n    isDefault?: boolean;\n    displayName?: string;\n    summary?: string;\n    imagePath?: string;\n    childSettings?: Array<CommonModelsCoreSetting>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CommonModelsCoreSystem { \n    enabled?: boolean;\n    parameters?: { [key: string]: string; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CommonModelsDestiny2CoreSettings { \n    collectionRootNode?: number;\n    badgesRootNode?: number;\n    recordsRootNode?: number;\n    medalsRootNode?: number;\n    metricsRootNode?: number;\n    activeTriumphsRootNodeHash?: number;\n    activeSealsRootNodeHash?: number;\n    legacyTriumphsRootNodeHash?: number;\n    legacySealsRootNodeHash?: number;\n    medalsRootNodeHash?: number;\n    exoticCatalystsRootNodeHash?: number;\n    loreRootNodeHash?: number;\n    craftingRootNodeHash?: number;\n    loadoutConstantsHash?: number;\n    guardianRankConstantsHash?: number;\n    guardianRanksRootNodeHash?: number;\n    currentRankProgressionHashes?: Array<number>;\n    insertPlugFreeProtectedPlugItemHashes?: Array<number>;\n    insertPlugFreeBlockedSocketTypeHashes?: Array<number>;\n    undiscoveredCollectibleImage?: string;\n    ammoTypeHeavyIcon?: string;\n    ammoTypeSpecialIcon?: string;\n    ammoTypePrimaryIcon?: string;\n    currentSeasonalArtifactHash?: number;\n    currentSeasonHash?: number;\n    seasonalChallengesPresentationNodeHash?: number;\n    futureSeasonHashes?: Array<number>;\n    pastSeasonHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A set of flags for reason(s) why the component populated in the way that it did. Inspect the individual flags for the reasons.\n */\nexport type ComponentsComponentPrivacySetting = 0 | 1 | 2;\n\nexport const ComponentsComponentPrivacySetting = {\n    NUMBER_0: 0 as ComponentsComponentPrivacySetting,\n    NUMBER_1: 1 as ComponentsComponentPrivacySetting,\n    NUMBER_2: 2 as ComponentsComponentPrivacySetting\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The base class for any component-returning object that may need to indicate information about the state of the component being returned.\n */\nexport interface ComponentsComponentResponse { \n    privacy?: number;\n    /**\n     * If true, this component is disabled.\n     */\n    disabled?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigClanBannerClanBannerDecal { \n    identifier?: string;\n    foregroundPath?: string;\n    backgroundPath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigGroupTheme { \n    name?: string;\n    folder?: string;\n    description?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ConfigUserTheme { \n    userThemeId?: number;\n    userThemeName?: string;\n    userThemeDescription?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentCommentSummary { \n    topicId?: number;\n    commentCount?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentContentRepresentation { \n    name?: string;\n    path?: string;\n    validationString?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentModelsContentPreview { \n    name?: string;\n    path?: string;\n    itemInSet?: boolean;\n    setTag?: string;\n    setNesting?: number;\n    useSetId?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ContentModelsContentPropertyDataTypeEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14;\n\nexport const ContentModelsContentPropertyDataTypeEnum = {\n    NUMBER_0: 0 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_1: 1 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_2: 2 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_3: 3 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_4: 4 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_5: 5 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_6: 6 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_7: 7 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_8: 8 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_9: 9 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_10: 10 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_11: 11 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_12: 12 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_13: 13 as ContentModelsContentPropertyDataTypeEnum,\n    NUMBER_14: 14 as ContentModelsContentPropertyDataTypeEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentModelsContentTypeDefaultValue { \n    whenClause?: string;\n    whenValue?: string;\n    defaultValue?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentModelsContentTypePropertySection { \n    name?: string;\n    readableName?: string;\n    collapsed?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentModelsTagMetadataItem { \n    description?: string;\n    tagText?: string;\n    groups?: Array<string>;\n    isDefault?: boolean;\n    name?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentNewsArticleRssItem { \n    Title?: string;\n    Link?: string;\n    PubDate?: string;\n    UniqueIdentifier?: string;\n    Description?: string;\n    HtmlContent?: string;\n    ImagePath?: string;\n    OptionalMobileImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ContentSearchHelpArticles200Response { \n    Response?: object;\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DatesDateRange { \n    start?: string;\n    end?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Destiny2GetClanBannerSource200Response { \n    Response?: object;\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The various known UI styles in which an item can be highlighted. It\\'ll be up to you to determine what you want to show based on this highlighting, BNet doesn\\'t have any assets that correspond to these states. And yeah, RiseOfIron and Comet have their own special highlight states. Don\\'t ask me, I can\\'t imagine they\\'re still used.\n */\nexport type DestinyActivityGraphNodeHighlightType = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyActivityGraphNodeHighlightType = {\n    NUMBER_0: 0 as DestinyActivityGraphNodeHighlightType,\n    NUMBER_1: 1 as DestinyActivityGraphNodeHighlightType,\n    NUMBER_2: 2 as DestinyActivityGraphNodeHighlightType,\n    NUMBER_3: 3 as DestinyActivityGraphNodeHighlightType,\n    NUMBER_4: 4 as DestinyActivityGraphNodeHighlightType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyAdvancedAwaAuthorizationResult { \n    /**\n     * Indication of how the user responded to the request. If the value is \\\"Approved\\\" the actionToken will contain the token that can be presented when performing the advanced write action.\n     */\n    userSelection?: number;\n    ResponseReason?: number;\n    /**\n     * Message to the app developer to help understand the Response.\n     */\n    developerNote?: string;\n    /**\n     * Credential used to prove the user authorized an advanced write action.\n     */\n    actionToken?: string;\n    /**\n     * This token may be used to perform the requested action this number of times, at a maximum. If this value is 0, then there is no limit.\n     */\n    maximumNumberOfUses?: number;\n    /**\n     * Time, UTC, when token expires.\n     */\n    validUntil?: string;\n    /**\n     * Advanced Write Action Type from the permission request.\n     */\n    type?: number;\n    /**\n     * MembershipType from the permission request.\n     */\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyAdvancedAwaInitializeResponse { \n    /**\n     * ID used to get the token. Present this ID to the user as it will identify this specific request on their device.\n     */\n    correlationId?: string;\n    /**\n     * True if the PUSH message will only be sent to the device that made this request.\n     */\n    sentToSelf?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyAdvancedAwaPermissionRequested { \n    /**\n     * Type of advanced write action.\n     */\n    type?: number;\n    /**\n     * Item instance ID the action shall be applied to. This is optional for all but a new AwaType values. Rule of thumb is to provide the item instance ID if one is available.\n     */\n    affectedItemId?: number;\n    /**\n     * Destiny membership type of the account to modify.\n     */\n    membershipType?: number;\n    /**\n     * Destiny character ID, if applicable, that will be affected by the action.\n     */\n    characterId?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyAdvancedAwaResponseReason = 0 | 1 | 2 | 3;\n\nexport const DestinyAdvancedAwaResponseReason = {\n    NUMBER_0: 0 as DestinyAdvancedAwaResponseReason,\n    NUMBER_1: 1 as DestinyAdvancedAwaResponseReason,\n    NUMBER_2: 2 as DestinyAdvancedAwaResponseReason,\n    NUMBER_3: 3 as DestinyAdvancedAwaResponseReason\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyAdvancedAwaType = 0 | 1;\n\nexport const DestinyAdvancedAwaType = {\n    NUMBER_0: 0 as DestinyAdvancedAwaType,\n    NUMBER_1: 1 as DestinyAdvancedAwaType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyAdvancedAwaUserResponse { \n    /**\n     * Indication of the selection the user has made (Approving or rejecting the action)\n     */\n    selection?: number;\n    /**\n     * Correlation ID of the request\n     */\n    correlationId?: string;\n    /**\n     * Secret nonce received via the PUSH notification.\n     */\n    nonce?: Array<string>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyAdvancedAwaUserSelection = 0 | 1 | 2;\n\nexport const DestinyAdvancedAwaUserSelection = {\n    NUMBER_0: 0 as DestinyAdvancedAwaUserSelection,\n    NUMBER_1: 1 as DestinyAdvancedAwaUserSelection,\n    NUMBER_2: 2 as DestinyAdvancedAwaUserSelection\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyArtifactsDestinyArtifactTierItem { \n    itemHash?: number;\n    isActive?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyBucketCategory = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyBucketCategory = {\n    NUMBER_0: 0 as DestinyBucketCategory,\n    NUMBER_1: 1 as DestinyBucketCategory,\n    NUMBER_2: 2 as DestinyBucketCategory,\n    NUMBER_3: 3 as DestinyBucketCategory,\n    NUMBER_4: 4 as DestinyBucketCategory\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyBucketScope = 0 | 1;\n\nexport const DestinyBucketScope = {\n    NUMBER_0: 0 as DestinyBucketScope,\n    NUMBER_1: 1 as DestinyBucketScope\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Raw data about the customization options chosen for a character\\'s face and appearance.  You can look up the relevant class/race/gender combo in DestinyCharacterCustomizationOptionDefinition for the character, and then look up these values within the CustomizationOptions found to pull some data about their choices. Warning: not all of that data is meaningful. Some data has useful icons. Others have nothing, and are only meant for 3D rendering purposes (which we sadly do not expose yet)\n */\nexport interface DestinyCharacterDestinyCharacterCustomization { \n    personality?: number;\n    face?: number;\n    skinColor?: number;\n    lipColor?: number;\n    eyeColor?: number;\n    hairColors?: Array<number>;\n    featureColors?: Array<number>;\n    decalColor?: number;\n    wearHelmet?: boolean;\n    hairIndex?: number;\n    featureIndex?: number;\n    decalIndex?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyComponentsCollectiblesDestinyCollectibleComponent { \n    state?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyComponentsCraftablesDestinyCraftableSocketPlugComponent { \n    plugItemHash?: number;\n    /**\n     * Index into the unlock requirements to display failure descriptions\n     */\n    failedRequirementIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This component provides a quick lookup of every item the requested character has and how much of that item they have.  Requesting this component will allow you to circumvent manually putting together the list of which currencies you have for the purpose of testing currency requirements on an item being purchased, or operations that have costs.  You *could* figure this out yourself by doing a GetCharacter or GetProfile request and forming your own lookup table, but that is inconvenient enough that this feels like a worthwhile (and optional) redundency. Don\\'t bother requesting it if you have already created your own lookup from prior GetCharacter/GetProfile calls.\n */\nexport interface DestinyComponentsInventoryDestinyCurrenciesComponent { \n    /**\n     * A dictionary - keyed by the item\\'s hash identifier (DestinyInventoryItemDefinition), and whose value is the amount of that item you have across all available inventory buckets for purchasing.  This allows you to see whether the requesting character can afford any given purchase/action without having to re-create this list itself.\n     */\n    itemQuantities?: { [key: string]: number; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyComponentsLoadoutsDestinyLoadoutItemComponent { \n    itemInstanceId?: number;\n    plugItemHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If you are playing in an activity, this is some information about it.  Note that we cannot guarantee any of this resembles what ends up in the PGCR in any way. They are sourced by two entirely separate systems with their own logic, and the one we source this data from should be considered non-authoritative in comparison.\n */\nexport interface DestinyComponentsProfilesDestinyProfileTransitoryCurrentActivity { \n    /**\n     * When the activity started.\n     */\n    startTime?: string;\n    /**\n     * If you\\'re still in it but it \\\"ended\\\" (like when folks are dancing around the loot after they beat a boss), this is when the activity ended.\n     */\n    endTime?: string;\n    /**\n     * This is what our non-authoritative source thought the score was.\n     */\n    score?: number;\n    /**\n     * If you have human opponents, this is the highest opposing team\\'s score.\n     */\n    highestOpposingFactionScore?: number;\n    /**\n     * This is how many human or poorly crafted aimbot opponents you have.\n     */\n    numberOfOpponents?: number;\n    /**\n     * This is how many human or poorly crafted aimbots are on your team.\n     */\n    numberOfPlayers?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Some basic information about whether you can be joined, how many slots are left etc. Note that this can change quickly, so it may not actually be useful. But perhaps it will be in some use cases?\n */\nexport interface DestinyComponentsProfilesDestinyProfileTransitoryJoinability { \n    /**\n     * The number of slots still available on this person\\'s fireteam.\n     */\n    openSlots?: number;\n    /**\n     * Who the person is currently allowing invites from.\n     */\n    privacySetting?: number;\n    /**\n     * Reasons why a person can\\'t join this person\\'s fireteam.\n     */\n    closedReasons?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This is some bare minimum information about a party member in a Fireteam. Unfortunately, without great computational expense on our side we can only get at the data contained here. I\\'d like to give you a character ID for example, but we don\\'t have it. But we do have these three pieces of information. May they help you on your quest to show meaningful data about current Fireteams.  Notably, we don\\'t and can\\'t feasibly return info on characters. If you can, try to use just the data below for your UI and purposes. Only hit us with further queries if you absolutely must know the character ID of the currently playing character. Pretty please with sugar on top.\n */\nexport interface DestinyComponentsProfilesDestinyProfileTransitoryPartyMember { \n    /**\n     * The Membership ID that matches the party member.\n     */\n    membershipId?: number;\n    /**\n     * The identifier for the DestinyInventoryItemDefinition of the player\\'s emblem.\n     */\n    emblemHash?: number;\n    /**\n     * The player\\'s last known display name.\n     */\n    displayName?: string;\n    /**\n     * A Flags Enumeration value indicating the states that the player is in relevant to being on a fireteam.\n     */\n    status?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This represents a single \\\"thing\\\" being tracked by the player.  This can point to many types of entities, but only a subset of them will actually have a valid hash identifier for whatever it is being pointed to.  It\\'s up to you to interpret what it means when various combinations of these entries have values being tracked.\n */\nexport interface DestinyComponentsProfilesDestinyProfileTransitoryTrackingEntry { \n    /**\n     * OPTIONAL - If this is tracking a DestinyLocationDefinition, this is the identifier for that location.\n     */\n    locationHash?: number;\n    /**\n     * OPTIONAL - If this is tracking the status of a DestinyInventoryItemDefinition, this is the identifier for that item.\n     */\n    itemHash?: number;\n    /**\n     * OPTIONAL - If this is tracking the status of a DestinyObjectiveDefinition, this is the identifier for that objective.\n     */\n    objectiveHash?: number;\n    /**\n     * OPTIONAL - If this is tracking the status of a DestinyActivityDefinition, this is the identifier for that activity.\n     */\n    activityHash?: number;\n    /**\n     * OPTIONAL - If this is tracking the status of a quest, this is the identifier for the DestinyInventoryItemDefinition that containst that questline data.\n     */\n    questlineItemHash?: number;\n    /**\n     * OPTIONAL - I\\'ve got to level with you, I don\\'t really know what this is. Is it when you started tracking it? Is it only populated for tracked items that have time limits?  I don\\'t know, but we can get at it - when I get time to actually test what it is, I\\'ll update this. In the meantime, bask in the mysterious data.\n     */\n    trackedDate?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyComponentsSocialDestinySocialCommendationsComponent { \n    totalScore?: number;\n    scoreDetailValues?: Array<number>;\n    commendationNodeScoresByHash?: { [key: string]: number; };\n    commendationScoresByHash?: { [key: string]: number; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyComponentsStringVariablesDestinyStringVariablesComponent { \n    integerValuesByHash?: { [key: string]: number; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This component contains essential/summary information about the vendor from the perspective of a character-agnostic view.\n */\nexport interface DestinyComponentsVendorsDestinyPublicVendorComponent { \n    /**\n     * The unique identifier for the vendor. Use it to look up their DestinyVendorDefinition.\n     */\n    vendorHash?: number;\n    /**\n     * The date when this vendor\\'s inventory will next rotate/refresh.  Note that this is distinct from the date ranges that the vendor is visible/available in-game: this field indicates the specific time when the vendor\\'s available items refresh and rotate, regardless of whether the vendor is actually available at that time. Unfortunately, these two values may be (and are, for the case of important vendors like Xur) different.  Issue https://github.com/Bungie-net/api/issues/353 is tracking a fix to start providing visibility date ranges where possible in addition to this refresh date, so that all important dates for vendors are available for use.\n     */\n    nextRefreshDate?: string;\n    /**\n     * If True, the Vendor is currently accessible.   If False, they may not actually be visible in the world at the moment.\n     */\n    enabled?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This component contains essential/summary information about the vendor.\n */\nexport interface DestinyComponentsVendorsDestinyVendorBaseComponent { \n    /**\n     * The unique identifier for the vendor. Use it to look up their DestinyVendorDefinition.\n     */\n    vendorHash?: number;\n    /**\n     * The date when this vendor\\'s inventory will next rotate/refresh.  Note that this is distinct from the date ranges that the vendor is visible/available in-game: this field indicates the specific time when the vendor\\'s available items refresh and rotate, regardless of whether the vendor is actually available at that time. Unfortunately, these two values may be (and are, for the case of important vendors like Xur) different.  Issue https://github.com/Bungie-net/api/issues/353 is tracking a fix to start providing visibility date ranges where possible in addition to this refresh date, so that all important dates for vendors are available for use.\n     */\n    nextRefreshDate?: string;\n    /**\n     * If True, the Vendor is currently accessible.   If False, they may not actually be visible in the world at the moment.\n     */\n    enabled?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a specific group of vendors that can be rendered in the recommended order.  How do we figure out this order? It\\'s a long story, and will likely get more complicated over time.\n */\nexport interface DestinyComponentsVendorsDestinyVendorGroup { \n    vendorGroupHash?: number;\n    /**\n     * The ordered list of vendors within a particular group.\n     */\n    vendorHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyConfigGearAssetDataBaseDefinition { \n    version?: number;\n    path?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyConfigImagePyramidEntry { \n    /**\n     * The name of the subfolder where these images are located.\n     */\n    name?: string;\n    /**\n     * The factor by which the original image size has been reduced.\n     */\n    factor?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyConstantsDestinyEnvironmentLocationMapping { \n    /**\n     * The location that is revealed on the director by this mapping.\n     */\n    locationHash?: number;\n    /**\n     * A hint that the UI uses to figure out how this location is activated by the player.\n     */\n    activationSource?: string;\n    /**\n     * If this is populated, it is the item that you must possess for this location to be active because of this mapping. (theoretically, a location can have multiple mappings, and some might require an item while others don\\'t)\n     */\n    itemHash?: number;\n    /**\n     * If this is populated, this is an objective related to the location.\n     */\n    objectiveHash?: number;\n    /**\n     * If this is populated, this is the activity you have to be playing in order to see this location appear because of this mapping. (theoretically, a location can have multiple mappings, and some might require you to be in a specific activity when others don\\'t)\n     */\n    activityHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDamageType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\nexport const DestinyDamageType = {\n    NUMBER_0: 0 as DestinyDamageType,\n    NUMBER_1: 1 as DestinyDamageType,\n    NUMBER_2: 2 as DestinyDamageType,\n    NUMBER_3: 3 as DestinyDamageType,\n    NUMBER_4: 4 as DestinyDamageType,\n    NUMBER_5: 5 as DestinyDamageType,\n    NUMBER_6: 6 as DestinyDamageType,\n    NUMBER_7: 7 as DestinyDamageType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsAnimationsDestinyAnimationReference { \n    animName?: string;\n    animIdentifier?: string;\n    path?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsArtifactsDestinyArtifactTierItemDefinition { \n    /**\n     * The identifier of the Plug Item unlocked by activating this item in the Artifact.\n     */\n    itemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsCollectiblesDestinyCollectibleAcquisitionBlock { \n    acquireMaterialRequirementHash?: number;\n    acquireTimestampUnlockValueHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsCommonDestinyIconSequenceDefinition { \n    frames?: Array<string>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsCommonDestinyPositionDefinition { \n    x?: number;\n    y?: number;\n    z?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyDefinitionsDestinyActivityDefinitionDisplayProperties } from './destinyDefinitionsDestinyActivityDefinitionDisplayProperties';\nimport { DestinyDefinitionsDestinyActivityDefinitionSelectionScreenDisplayProperties } from './destinyDefinitionsDestinyActivityDefinitionSelectionScreenDisplayProperties';\nimport { DestinyDefinitionsDestinyActivityModifierReferenceDefinition } from './destinyDefinitionsDestinyActivityModifierReferenceDefinition';\nimport { DestinyConstantsDestinyEnvironmentLocationMapping } from './destinyConstantsDestinyEnvironmentLocationMapping';\nimport { DestinyDefinitionsDestinyActivityGraphListEntryDefinition } from './destinyDefinitionsDestinyActivityGraphListEntryDefinition';\nimport { DestinyDefinitionsDestinyActivityLoadoutRequirementSet } from './destinyDefinitionsDestinyActivityLoadoutRequirementSet';\nimport { DestinyDefinitionsDestinyActivityDefinitionGuidedGame } from './destinyDefinitionsDestinyActivityDefinitionGuidedGame';\nimport { DestinyDefinitionsDestinyActivityUnlockStringDefinition } from './destinyDefinitionsDestinyActivityUnlockStringDefinition';\nimport { DestinyDefinitionsDestinyActivityDefinitionMatchmaking } from './destinyDefinitionsDestinyActivityDefinitionMatchmaking';\nimport { DestinyDefinitionsDestinyActivityDefinitionOriginalDisplayProperties } from './destinyDefinitionsDestinyActivityDefinitionOriginalDisplayProperties';\nimport { DestinyDefinitionsDestinyActivityRewardDefinition } from './destinyDefinitionsDestinyActivityRewardDefinition';\nimport { DestinyDefinitionsDestinyActivityChallengeDefinition } from './destinyDefinitionsDestinyActivityChallengeDefinition';\nimport { DestinyDefinitionsDestinyActivityInsertionPointDefinition } from './destinyDefinitionsDestinyActivityInsertionPointDefinition';\nimport { DestinyDefinitionsDestinyActivityPlaylistItemDefinition } from './destinyDefinitionsDestinyActivityPlaylistItemDefinition';\n\n\n/**\n * The static data about Activities in Destiny 2.  Note that an Activity must be combined with an ActivityMode to know - from a Gameplay perspective - what the user is \\\"Playing\\\".  In most PvE activities, this is fairly straightforward. A Story Activity can only be played in the Story Activity Mode.  However, in PvP activities, the Activity alone only tells you the map being played, or the Playlist that the user chose to enter. You\\'ll need to know the Activity Mode they\\'re playing to know that they\\'re playing Mode X on Map Y.  Activity Definitions tell a great deal of information about what *could* be relevant to a user: what rewards they can earn, what challenges could be performed, what modifiers could be applied. To figure out which of these properties is actually live, you\\'ll need to combine the definition with \\\"Live\\\" data from one of the Destiny endpoints.  Activities also have Activity Types, but unfortunately in Destiny 2 these are even less reliable of a source of information than they were in Destiny 1. I will be looking into ways to provide more reliable sources for type information as time goes on, but for now we\\'re going to have to deal with the limitations. See DestinyActivityTypeDefinition for more information.\n */\nexport interface DestinyDefinitionsDestinyActivityDefinition { \n    displayProperties?: DestinyDefinitionsDestinyActivityDefinitionDisplayProperties;\n    originalDisplayProperties?: DestinyDefinitionsDestinyActivityDefinitionOriginalDisplayProperties;\n    selectionScreenDisplayProperties?: DestinyDefinitionsDestinyActivityDefinitionSelectionScreenDisplayProperties;\n    /**\n     * If the activity has an icon associated with a specific release (such as a DLC), this is the path to that release\\'s icon.\n     */\n    releaseIcon?: string;\n    /**\n     * If the activity will not be visible until a specific and known time, this will be the seconds since the Epoch when it will become visible.\n     */\n    releaseTime?: number;\n    /**\n     * The recommended light level for this activity.\n     */\n    activityLightLevel?: number;\n    /**\n     * The hash identifier for the Destination on which this Activity is played. Use it to look up the DestinyDestinationDefinition for human readable info about the destination. A Destination can be thought of as a more specific location than a \\\"Place\\\". For instance, if the \\\"Place\\\" is Earth, the \\\"Destination\\\" would be a specific city or region on Earth.\n     */\n    destinationHash?: number;\n    /**\n     * The hash identifier for the \\\"Place\\\" on which this Activity is played. Use it to look up the DestinyPlaceDefinition for human readable info about the Place. A Place is the largest-scoped concept for location information. For instance, if the \\\"Place\\\" is Earth, the \\\"Destination\\\" would be a specific city or region on Earth.\n     */\n    placeHash?: number;\n    /**\n     * The hash identifier for the Activity Type of this Activity. You may use it to look up the DestinyActivityTypeDefinition for human readable info, but be forewarned: Playlists and many PVP Map Activities will map to generic Activity Types. You\\'ll have to use your knowledge of the Activity Mode being played to get more specific information about what the user is playing.\n     */\n    activityTypeHash?: number;\n    /**\n     * The difficulty tier of the activity.\n     */\n    tier?: number;\n    /**\n     * When Activities are completed, we generate a \\\"Post-Game Carnage Report\\\", or PGCR, with details about what happened in that activity (how many kills someone got, which team won, etc...) We use this image as the background when displaying PGCR information, and often use it when we refer to the Activity in general.\n     */\n    pgcrImage?: string;\n    /**\n     * The expected possible rewards for the activity. These rewards may or may not be accessible for an individual player based on their character state, the account state, and even the game\\'s state overall. But it is a useful reference for possible rewards you can earn in the activity. These match up to rewards displayed when you hover over the Activity in the in-game Director, and often refer to Placeholder or \\\"Dummy\\\" items: items that tell you what you can earn in vague terms rather than what you\\'ll specifically be earning (partly because the game doesn\\'t even know what you\\'ll earn specifically until you roll for it at the end)\n     */\n    rewards?: Array<DestinyDefinitionsDestinyActivityRewardDefinition>;\n    /**\n     * Activities can have Modifiers, as defined in DestinyActivityModifierDefinition. These are references to the modifiers that *can* be applied to that activity, along with data that we use to determine if that modifier is actually active at any given point in time.\n     */\n    modifiers?: Array<DestinyDefinitionsDestinyActivityModifierReferenceDefinition>;\n    /**\n     * If True, this Activity is actually a Playlist that refers to multiple possible specific Activities and Activity Modes. For instance, a Crucible Playlist may have references to multiple Activities (Maps) with multiple Activity Modes (specific PvP gameplay modes). If this is true, refer to the playlistItems property for the specific entries in the playlist.\n     */\n    isPlaylist?: boolean;\n    /**\n     * An activity can have many Challenges, of which any subset of them may be active for play at any given period of time. This gives the information about the challenges and data that we use to understand when they\\'re active and what rewards they provide. Sadly, at the moment there\\'s no central definition for challenges: much like \\\"Skulls\\\" were in Destiny 1, these are defined on individual activities and there can be many duplicates/near duplicates across the Destiny 2 ecosystem. I have it in mind to centralize these in a future revision of the API, but we are out of time.\n     */\n    challenges?: Array<DestinyDefinitionsDestinyActivityChallengeDefinition>;\n    /**\n     * If there are status strings related to the activity and based on internal state of the game, account, or character, then this will be the definition of those strings and the states needed in order for the strings to be shown.\n     */\n    optionalUnlockStrings?: Array<DestinyDefinitionsDestinyActivityUnlockStringDefinition>;\n    /**\n     * Represents all of the possible activities that could be played in the Playlist, along with information that we can use to determine if they are active at the present time.\n     */\n    playlistItems?: Array<DestinyDefinitionsDestinyActivityPlaylistItemDefinition>;\n    /**\n     * Unfortunately, in practice this is almost never populated. In theory, this is supposed to tell which Activity Graph to show if you bring up the director while in this activity.\n     */\n    activityGraphList?: Array<DestinyDefinitionsDestinyActivityGraphListEntryDefinition>;\n    matchmaking?: DestinyDefinitionsDestinyActivityDefinitionMatchmaking;\n    guidedGame?: DestinyDefinitionsDestinyActivityDefinitionGuidedGame;\n    /**\n     * If this activity had an activity mode directly defined on it, this will be the hash of that mode.\n     */\n    directActivityModeHash?: number;\n    /**\n     * If the activity had an activity mode directly defined on it, this will be the enum value of that mode.\n     */\n    directActivityModeType?: DestinyDefinitionsDestinyActivityDefinition.DirectActivityModeTypeEnum;\n    /**\n     * The set of all possible loadout requirements that could be active for this activity. Only one will be active at any given time, and you can discover which one through activity-associated data such as Milestones that have activity info on them.\n     */\n    loadouts?: Array<DestinyDefinitionsDestinyActivityLoadoutRequirementSet>;\n    /**\n     * The hash identifiers for Activity Modes relevant to this activity.  Note that if this is a playlist, the specific playlist entry chosen will determine the actual activity modes that end up being relevant.\n     */\n    activityModeHashes?: Array<number>;\n    /**\n     * The activity modes - if any - in enum form. Because we can\\'t seem to escape the enums.\n     */\n    activityModeTypes?: Array<number>;\n    /**\n     * If true, this activity is a PVP activity or playlist.\n     */\n    isPvP?: boolean;\n    /**\n     * The list of phases or points of entry into an activity, along with information we can use to determine their gating and availability.\n     */\n    insertionPoints?: Array<DestinyDefinitionsDestinyActivityInsertionPointDefinition>;\n    /**\n     * A list of location mappings that are affected by this activity. Pulled out of DestinyLocationDefinitions for our/your lookup convenience.\n     */\n    activityLocationMappings?: Array<DestinyConstantsDestinyEnvironmentLocationMapping>;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\nexport namespace DestinyDefinitionsDestinyActivityDefinition {\n    export type DirectActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const DirectActivityModeTypeEnum = {\n        NUMBER_0: 0 as DirectActivityModeTypeEnum,\n        NUMBER_2: 2 as DirectActivityModeTypeEnum,\n        NUMBER_3: 3 as DirectActivityModeTypeEnum,\n        NUMBER_4: 4 as DirectActivityModeTypeEnum,\n        NUMBER_5: 5 as DirectActivityModeTypeEnum,\n        NUMBER_6: 6 as DirectActivityModeTypeEnum,\n        NUMBER_7: 7 as DirectActivityModeTypeEnum,\n        NUMBER_9: 9 as DirectActivityModeTypeEnum,\n        NUMBER_10: 10 as DirectActivityModeTypeEnum,\n        NUMBER_11: 11 as DirectActivityModeTypeEnum,\n        NUMBER_12: 12 as DirectActivityModeTypeEnum,\n        NUMBER_13: 13 as DirectActivityModeTypeEnum,\n        NUMBER_15: 15 as DirectActivityModeTypeEnum,\n        NUMBER_16: 16 as DirectActivityModeTypeEnum,\n        NUMBER_17: 17 as DirectActivityModeTypeEnum,\n        NUMBER_18: 18 as DirectActivityModeTypeEnum,\n        NUMBER_19: 19 as DirectActivityModeTypeEnum,\n        NUMBER_20: 20 as DirectActivityModeTypeEnum,\n        NUMBER_21: 21 as DirectActivityModeTypeEnum,\n        NUMBER_22: 22 as DirectActivityModeTypeEnum,\n        NUMBER_24: 24 as DirectActivityModeTypeEnum,\n        NUMBER_25: 25 as DirectActivityModeTypeEnum,\n        NUMBER_26: 26 as DirectActivityModeTypeEnum,\n        NUMBER_27: 27 as DirectActivityModeTypeEnum,\n        NUMBER_28: 28 as DirectActivityModeTypeEnum,\n        NUMBER_29: 29 as DirectActivityModeTypeEnum,\n        NUMBER_30: 30 as DirectActivityModeTypeEnum,\n        NUMBER_31: 31 as DirectActivityModeTypeEnum,\n        NUMBER_32: 32 as DirectActivityModeTypeEnum,\n        NUMBER_37: 37 as DirectActivityModeTypeEnum,\n        NUMBER_38: 38 as DirectActivityModeTypeEnum,\n        NUMBER_39: 39 as DirectActivityModeTypeEnum,\n        NUMBER_40: 40 as DirectActivityModeTypeEnum,\n        NUMBER_41: 41 as DirectActivityModeTypeEnum,\n        NUMBER_42: 42 as DirectActivityModeTypeEnum,\n        NUMBER_43: 43 as DirectActivityModeTypeEnum,\n        NUMBER_44: 44 as DirectActivityModeTypeEnum,\n        NUMBER_45: 45 as DirectActivityModeTypeEnum,\n        NUMBER_46: 46 as DirectActivityModeTypeEnum,\n        NUMBER_47: 47 as DirectActivityModeTypeEnum,\n        NUMBER_48: 48 as DirectActivityModeTypeEnum,\n        NUMBER_49: 49 as DirectActivityModeTypeEnum,\n        NUMBER_50: 50 as DirectActivityModeTypeEnum,\n        NUMBER_51: 51 as DirectActivityModeTypeEnum,\n        NUMBER_52: 52 as DirectActivityModeTypeEnum,\n        NUMBER_53: 53 as DirectActivityModeTypeEnum,\n        NUMBER_54: 54 as DirectActivityModeTypeEnum,\n        NUMBER_55: 55 as DirectActivityModeTypeEnum,\n        NUMBER_56: 56 as DirectActivityModeTypeEnum,\n        NUMBER_57: 57 as DirectActivityModeTypeEnum,\n        NUMBER_58: 58 as DirectActivityModeTypeEnum,\n        NUMBER_59: 59 as DirectActivityModeTypeEnum,\n        NUMBER_60: 60 as DirectActivityModeTypeEnum,\n        NUMBER_61: 61 as DirectActivityModeTypeEnum,\n        NUMBER_62: 62 as DirectActivityModeTypeEnum,\n        NUMBER_63: 63 as DirectActivityModeTypeEnum,\n        NUMBER_64: 64 as DirectActivityModeTypeEnum,\n        NUMBER_65: 65 as DirectActivityModeTypeEnum,\n        NUMBER_66: 66 as DirectActivityModeTypeEnum,\n        NUMBER_67: 67 as DirectActivityModeTypeEnum,\n        NUMBER_68: 68 as DirectActivityModeTypeEnum,\n        NUMBER_69: 69 as DirectActivityModeTypeEnum,\n        NUMBER_70: 70 as DirectActivityModeTypeEnum,\n        NUMBER_71: 71 as DirectActivityModeTypeEnum,\n        NUMBER_72: 72 as DirectActivityModeTypeEnum,\n        NUMBER_73: 73 as DirectActivityModeTypeEnum,\n        NUMBER_74: 74 as DirectActivityModeTypeEnum,\n        NUMBER_75: 75 as DirectActivityModeTypeEnum,\n        NUMBER_76: 76 as DirectActivityModeTypeEnum,\n        NUMBER_77: 77 as DirectActivityModeTypeEnum,\n        NUMBER_78: 78 as DirectActivityModeTypeEnum,\n        NUMBER_79: 79 as DirectActivityModeTypeEnum,\n        NUMBER_80: 80 as DirectActivityModeTypeEnum,\n        NUMBER_81: 81 as DirectActivityModeTypeEnum,\n        NUMBER_82: 82 as DirectActivityModeTypeEnum,\n        NUMBER_83: 83 as DirectActivityModeTypeEnum,\n        NUMBER_84: 84 as DirectActivityModeTypeEnum,\n        NUMBER_85: 85 as DirectActivityModeTypeEnum,\n        NUMBER_86: 86 as DirectActivityModeTypeEnum,\n        NUMBER_87: 87 as DirectActivityModeTypeEnum,\n        NUMBER_88: 88 as DirectActivityModeTypeEnum,\n        NUMBER_89: 89 as DirectActivityModeTypeEnum,\n        NUMBER_90: 90 as DirectActivityModeTypeEnum,\n        NUMBER_91: 91 as DirectActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Destinations and Activities may have default Activity Graphs that should be shown when you bring up the Director and are playing in either.  This contract defines the graph referred to and the gating for when it is relevant.\n */\nexport interface DestinyDefinitionsDestinyActivityGraphListEntryDefinition { \n    /**\n     * The hash identifier of the DestinyActivityGraphDefinition that should be shown when opening the director.\n     */\n    activityGraphHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Guided Game information for this activity.\n */\nexport interface DestinyDefinitionsDestinyActivityGuidedBlockDefinition { \n    /**\n     * The maximum amount of people that can be in the waiting lobby.\n     */\n    guidedMaxLobbySize?: number;\n    /**\n     * The minimum amount of people that can be in the waiting lobby.\n     */\n    guidedMinLobbySize?: number;\n    /**\n     * If -1, the guided group cannot be disbanded. Otherwise, take the total # of players in the activity and subtract this number: that is the total # of votes needed for the guided group to disband.\n     */\n    guidedDisbandCount?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A point of entry into an activity, gated by an unlock flag and with some more-or-less useless (for our purposes) phase information. I\\'m including it in case we end up being able to bolt more useful information onto it in the future.  UPDATE: Turns out this information isn\\'t actually useless, and is in fact actually useful for people. Who would have thought? We still don\\'t have localized info for it, but at least this will help people when they\\'re looking at phase indexes in stats data, or when they want to know what phases have been completed on a weekly achievement.\n */\nexport interface DestinyDefinitionsDestinyActivityInsertionPointDefinition { \n    /**\n     * A unique hash value representing the phase. This can be useful for, for example, comparing how different instances of Raids have phases in different orders!\n     */\n    phaseHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyActivityLoadoutRequirement { \n    equipmentSlotHash?: number;\n    allowedEquippedItemHashes?: Array<number>;\n    allowedWeaponSubTypes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Information about matchmaking and party size for the activity.\n */\nexport interface DestinyDefinitionsDestinyActivityMatchmakingBlockDefinition { \n    /**\n     * If TRUE, the activity is matchmade. Otherwise, it requires explicit forming of a party.\n     */\n    isMatchmade?: boolean;\n    /**\n     * The minimum # of people in the fireteam for the activity to launch.\n     */\n    minParty?: number;\n    /**\n     * The maximum # of people allowed in a Fireteam.\n     */\n    maxParty?: number;\n    /**\n     * The maximum # of people allowed across all teams in the activity.\n     */\n    maxPlayers?: number;\n    /**\n     * If true, you have to Solemnly Swear to be up to Nothing But Good(tm) to play.\n     */\n    requiresGuardianOath?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A reference to an Activity Modifier from another entity, such as an Activity (for now, just Activities).  This defines some\n */\nexport interface DestinyDefinitionsDestinyActivityModifierReferenceDefinition { \n    /**\n     * The hash identifier for the DestinyActivityModifierDefinition referenced by this activity.\n     */\n    activityModifierHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the activity is a playlist, this is the definition for a specific entry in the playlist: a single possible combination of Activity and Activity Mode that can be chosen.\n */\nexport interface DestinyDefinitionsDestinyActivityPlaylistItemDefinition { \n    /**\n     * The hash identifier of the Activity that can be played. Use it to look up the DestinyActivityDefinition.\n     */\n    activityHash?: number;\n    /**\n     * If this playlist entry had an activity mode directly defined on it, this will be the hash of that mode.\n     */\n    directActivityModeHash?: number;\n    /**\n     * If the playlist entry had an activity mode directly defined on it, this will be the enum value of that mode.\n     */\n    directActivityModeType?: DestinyDefinitionsDestinyActivityPlaylistItemDefinition.DirectActivityModeTypeEnum;\n    /**\n     * The hash identifiers for Activity Modes relevant to this entry.\n     */\n    activityModeHashes?: Array<number>;\n    /**\n     * The activity modes - if any - in enum form. Because we can\\'t seem to escape the enums.\n     */\n    activityModeTypes?: Array<number>;\n}\nexport namespace DestinyDefinitionsDestinyActivityPlaylistItemDefinition {\n    export type DirectActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const DirectActivityModeTypeEnum = {\n        NUMBER_0: 0 as DirectActivityModeTypeEnum,\n        NUMBER_2: 2 as DirectActivityModeTypeEnum,\n        NUMBER_3: 3 as DirectActivityModeTypeEnum,\n        NUMBER_4: 4 as DirectActivityModeTypeEnum,\n        NUMBER_5: 5 as DirectActivityModeTypeEnum,\n        NUMBER_6: 6 as DirectActivityModeTypeEnum,\n        NUMBER_7: 7 as DirectActivityModeTypeEnum,\n        NUMBER_9: 9 as DirectActivityModeTypeEnum,\n        NUMBER_10: 10 as DirectActivityModeTypeEnum,\n        NUMBER_11: 11 as DirectActivityModeTypeEnum,\n        NUMBER_12: 12 as DirectActivityModeTypeEnum,\n        NUMBER_13: 13 as DirectActivityModeTypeEnum,\n        NUMBER_15: 15 as DirectActivityModeTypeEnum,\n        NUMBER_16: 16 as DirectActivityModeTypeEnum,\n        NUMBER_17: 17 as DirectActivityModeTypeEnum,\n        NUMBER_18: 18 as DirectActivityModeTypeEnum,\n        NUMBER_19: 19 as DirectActivityModeTypeEnum,\n        NUMBER_20: 20 as DirectActivityModeTypeEnum,\n        NUMBER_21: 21 as DirectActivityModeTypeEnum,\n        NUMBER_22: 22 as DirectActivityModeTypeEnum,\n        NUMBER_24: 24 as DirectActivityModeTypeEnum,\n        NUMBER_25: 25 as DirectActivityModeTypeEnum,\n        NUMBER_26: 26 as DirectActivityModeTypeEnum,\n        NUMBER_27: 27 as DirectActivityModeTypeEnum,\n        NUMBER_28: 28 as DirectActivityModeTypeEnum,\n        NUMBER_29: 29 as DirectActivityModeTypeEnum,\n        NUMBER_30: 30 as DirectActivityModeTypeEnum,\n        NUMBER_31: 31 as DirectActivityModeTypeEnum,\n        NUMBER_32: 32 as DirectActivityModeTypeEnum,\n        NUMBER_37: 37 as DirectActivityModeTypeEnum,\n        NUMBER_38: 38 as DirectActivityModeTypeEnum,\n        NUMBER_39: 39 as DirectActivityModeTypeEnum,\n        NUMBER_40: 40 as DirectActivityModeTypeEnum,\n        NUMBER_41: 41 as DirectActivityModeTypeEnum,\n        NUMBER_42: 42 as DirectActivityModeTypeEnum,\n        NUMBER_43: 43 as DirectActivityModeTypeEnum,\n        NUMBER_44: 44 as DirectActivityModeTypeEnum,\n        NUMBER_45: 45 as DirectActivityModeTypeEnum,\n        NUMBER_46: 46 as DirectActivityModeTypeEnum,\n        NUMBER_47: 47 as DirectActivityModeTypeEnum,\n        NUMBER_48: 48 as DirectActivityModeTypeEnum,\n        NUMBER_49: 49 as DirectActivityModeTypeEnum,\n        NUMBER_50: 50 as DirectActivityModeTypeEnum,\n        NUMBER_51: 51 as DirectActivityModeTypeEnum,\n        NUMBER_52: 52 as DirectActivityModeTypeEnum,\n        NUMBER_53: 53 as DirectActivityModeTypeEnum,\n        NUMBER_54: 54 as DirectActivityModeTypeEnum,\n        NUMBER_55: 55 as DirectActivityModeTypeEnum,\n        NUMBER_56: 56 as DirectActivityModeTypeEnum,\n        NUMBER_57: 57 as DirectActivityModeTypeEnum,\n        NUMBER_58: 58 as DirectActivityModeTypeEnum,\n        NUMBER_59: 59 as DirectActivityModeTypeEnum,\n        NUMBER_60: 60 as DirectActivityModeTypeEnum,\n        NUMBER_61: 61 as DirectActivityModeTypeEnum,\n        NUMBER_62: 62 as DirectActivityModeTypeEnum,\n        NUMBER_63: 63 as DirectActivityModeTypeEnum,\n        NUMBER_64: 64 as DirectActivityModeTypeEnum,\n        NUMBER_65: 65 as DirectActivityModeTypeEnum,\n        NUMBER_66: 66 as DirectActivityModeTypeEnum,\n        NUMBER_67: 67 as DirectActivityModeTypeEnum,\n        NUMBER_68: 68 as DirectActivityModeTypeEnum,\n        NUMBER_69: 69 as DirectActivityModeTypeEnum,\n        NUMBER_70: 70 as DirectActivityModeTypeEnum,\n        NUMBER_71: 71 as DirectActivityModeTypeEnum,\n        NUMBER_72: 72 as DirectActivityModeTypeEnum,\n        NUMBER_73: 73 as DirectActivityModeTypeEnum,\n        NUMBER_74: 74 as DirectActivityModeTypeEnum,\n        NUMBER_75: 75 as DirectActivityModeTypeEnum,\n        NUMBER_76: 76 as DirectActivityModeTypeEnum,\n        NUMBER_77: 77 as DirectActivityModeTypeEnum,\n        NUMBER_78: 78 as DirectActivityModeTypeEnum,\n        NUMBER_79: 79 as DirectActivityModeTypeEnum,\n        NUMBER_80: 80 as DirectActivityModeTypeEnum,\n        NUMBER_81: 81 as DirectActivityModeTypeEnum,\n        NUMBER_82: 82 as DirectActivityModeTypeEnum,\n        NUMBER_83: 83 as DirectActivityModeTypeEnum,\n        NUMBER_84: 84 as DirectActivityModeTypeEnum,\n        NUMBER_85: 85 as DirectActivityModeTypeEnum,\n        NUMBER_86: 86 as DirectActivityModeTypeEnum,\n        NUMBER_87: 87 as DirectActivityModeTypeEnum,\n        NUMBER_88: 88 as DirectActivityModeTypeEnum,\n        NUMBER_89: 89 as DirectActivityModeTypeEnum,\n        NUMBER_90: 90 as DirectActivityModeTypeEnum,\n        NUMBER_91: 91 as DirectActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a status string that could be conditionally displayed about an activity. Note that externally, you can only see the strings themselves. Internally we combine this information with server state to determine which strings should be shown.\n */\nexport interface DestinyDefinitionsDestinyActivityUnlockStringDefinition { \n    /**\n     * The string to be displayed if the conditions are met.\n     */\n    displayString?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyArrangementRegionFilterDefinition { \n    artArrangementRegionHash?: number;\n    artArrangementRegionIndex?: number;\n    statHash?: number;\n    arrangementIndexByStatValue?: { [key: string]: number; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyArtDyeReference { \n    artDyeChannelHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Provides common properties for destiny definitions.\n */\nexport interface DestinyDefinitionsDestinyDefinition { \n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Items that can be equipped define this block. It contains information we need to understand how and when the item can be equipped.\n */\nexport interface DestinyDefinitionsDestinyEquippingBlockDefinition { \n    /**\n     * If the item is part of a gearset, this is a reference to that gearset item.\n     */\n    gearsetItemHash?: number;\n    /**\n     * If defined, this is the label used to check if the item has other items of matching types already equipped.   For instance, when you aren\\'t allowed to equip more than one Exotic Weapon, that\\'s because all exotic weapons have identical uniqueLabels and the game checks the to-be-equipped item\\'s uniqueLabel vs. all other already equipped items (other than the item in the slot that\\'s about to be occupied).\n     */\n    uniqueLabel?: string;\n    /**\n     * The hash of that unique label. Does not point to a specific definition.\n     */\n    uniqueLabelHash?: number;\n    /**\n     * An equipped item *must* be equipped in an Equipment Slot. This is the hash identifier of the DestinyEquipmentSlotDefinition into which it must be equipped.\n     */\n    equipmentSlotTypeHash?: number;\n    /**\n     * These are custom attributes on the equippability of the item.  For now, this can only be \\\"equip on acquire\\\", which would mean that the item will be automatically equipped as soon as you pick it up.\n     */\n    attributes?: number;\n    /**\n     * Ammo type used by a weapon is no longer determined by the bucket in which it is contained. If the item has an ammo type - i.e. if it is a weapon - this will be the type of ammunition expected.\n     */\n    ammoType?: number;\n    /**\n     * These are strings that represent the possible Game/Account/Character state failure conditions that can occur when trying to equip the item. They match up one-to-one with requiredUnlockExpressions.\n     */\n    displayStrings?: Array<string>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * These definitions represent faction vendors at different points in the game.  A single faction may contain multiple vendors, or the same vendor available at two different locations.\n */\nexport interface DestinyDefinitionsDestinyFactionVendorDefinition { \n    /**\n     * The faction vendor hash.\n     */\n    vendorHash?: number;\n    /**\n     * The hash identifier for a Destination at which this vendor may be located. Each destination where a Vendor may exist will only ever have a single entry.\n     */\n    destinationHash?: number;\n    /**\n     * The relative path to the background image representing this Vendor at this location, for use in a banner.\n     */\n    backgroundImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyGearArtArrangementReference { \n    classHash?: number;\n    artArrangementHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines a specific stat value on an item, and the minimum/maximum range that we could compute for the item based on our heuristics for how the item might be generated.  Not guaranteed to match real-world instances of the item, but should hopefully at least be close. If it\\'s not close, let us know on the Bungie API forums.\n */\nexport interface DestinyDefinitionsDestinyInventoryItemStatDefinition { \n    /**\n     * The hash for the DestinyStatDefinition representing this stat.\n     */\n    statHash?: number;\n    /**\n     * This value represents the stat value assuming the minimum possible roll but accounting for any mandatory bonuses that should be applied to the stat on item creation.  In Destiny 1, this was different from the \\\"minimum\\\" value because there were certain conditions where an item could be theoretically lower level/value than the initial roll.   In Destiny 2, this is not possible unless Talent Grids begin to be used again for these purposes or some other system change occurs... thus in practice, value and minimum should be the same in Destiny 2. Good riddance.\n     */\n    value?: number;\n    /**\n     * The minimum possible value for this stat that we think the item can roll.\n     */\n    minimum?: number;\n    /**\n     * The maximum possible value for this stat that we think the item can roll.  WARNING: In Destiny 1, this field was calculated using the potential stat rolls on the item\\'s talent grid. In Destiny 2, items no longer have meaningful talent grids and instead have sockets: but the calculation of this field was never altered to adapt to this change. As such, this field should be considered deprecated until we can address this oversight.\n     */\n    maximum?: number;\n    /**\n     * The maximum possible value for the stat as shown in the UI, if it is being shown somewhere that reveals maximum in the UI (such as a bar chart-style view).  This is pulled directly from the item\\'s DestinyStatGroupDefinition, and placed here for convenience.  If not returned, there is no maximum to use (and thus the stat should not be shown in a way that assumes there is a limit to the stat)\n     */\n    displayMaximum?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The definition of an item and quantity required in a character\\'s inventory in order to perform an action.\n */\nexport interface DestinyDefinitionsDestinyItemActionRequiredItemDefinition { \n    /**\n     * The minimum quantity of the item you have to have.\n     */\n    count?: number;\n    /**\n     * The hash identifier of the item you need to have. Use it to look up the DestinyInventoryItemDefinition for more info.\n     */\n    itemHash?: number;\n    /**\n     * If true, the item/quantity will be deleted from your inventory when the action is performed. Otherwise, you\\'ll retain these required items after the action is complete.\n     */\n    deleteOnAction?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyItemCraftingBlockBonusPlugDefinition { \n    socketTypeHash?: number;\n    plugItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An overly complicated wrapper for the item level at which the item should spawn.\n */\nexport interface DestinyDefinitionsDestinyItemCreationEntryLevelDefinition { \n    level?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If an item has a related gearset, this is the list of items in that set, and an unlock expression that evaluates to a number representing the progress toward gearset completion (a very rare use for unlock expressions!)\n */\nexport interface DestinyDefinitionsDestinyItemGearsetBlockDefinition { \n    /**\n     * The maximum possible number of items that can be collected.\n     */\n    trackingValueMax?: number;\n    /**\n     * The list of hashes for items in the gearset. Use them to look up DestinyInventoryItemDefinition entries for the items in the set.\n     */\n    itemList?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a socket that has a plug associated with it intrinsically. This is useful for situations where the weapon needs to have a visual plug/Mod on it, but that plug/Mod should never change.\n */\nexport interface DestinyDefinitionsDestinyItemIntrinsicSocketEntryDefinition { \n    /**\n     * Indicates the plug that is intrinsically inserted into this socket.\n     */\n    plugItemHash?: number;\n    /**\n     * Indicates the type of this intrinsic socket.\n     */\n    socketTypeHash?: number;\n    /**\n     * If true, then this socket is visible in the item\\'s \\\"default\\\" state. If you have an instance, you should always check the runtime state, as that can override this visibility setting: but if you\\'re looking at the item on a conceptual level, this property can be useful for hiding data such as legacy sockets - which remain defined on items for infrastructure purposes, but can be confusing for users to see.\n     */\n    defaultVisible?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the item can exist in an inventory - the overwhelming majority of them can and do - then this is the basic properties regarding the item\\'s relationship with the inventory.\n */\nexport interface DestinyDefinitionsDestinyItemInventoryBlockDefinition { \n    /**\n     * If this string is populated, you can\\'t have more than one stack with this label in a given inventory. Note that this is different from the equipping block\\'s unique label, which is used for equipping uniqueness.\n     */\n    stackUniqueLabel?: string;\n    /**\n     * The maximum quantity of this item that can exist in a stack.\n     */\n    maxStackSize?: number;\n    /**\n     * The hash identifier for the DestinyInventoryBucketDefinition to which this item belongs. I should have named this \\\"bucketHash\\\", but too many things refer to it now. Sigh.\n     */\n    bucketTypeHash?: number;\n    /**\n     * If the item is picked up by the lost loot queue, this is the hash identifier for the DestinyInventoryBucketDefinition into which it will be placed. Again, I should have named this recoveryBucketHash instead.\n     */\n    recoveryBucketTypeHash?: number;\n    /**\n     * The hash identifier for the Tier Type of the item, use to look up its DestinyItemTierTypeDefinition if you need to show localized data for the item\\'s tier.\n     */\n    tierTypeHash?: number;\n    /**\n     * If TRUE, this item is instanced. Otherwise, it is a generic item that merely has a quantity in a stack (like Glimmer).\n     */\n    isInstanceItem?: boolean;\n    /**\n     * The localized name of the tier type, which is a useful shortcut so you don\\'t have to look up the definition every time. However, it\\'s mostly a holdover from days before we had a DestinyItemTierTypeDefinition to refer to.\n     */\n    tierTypeName?: string;\n    /**\n     * The enumeration matching the tier type of the item to known values, again for convenience sake.\n     */\n    tierType?: number;\n    /**\n     * The tooltip message to show, if any, when the item expires.\n     */\n    expirationTooltip?: string;\n    /**\n     * If the item expires while playing in an activity, we show a different message.\n     */\n    expiredInActivityMessage?: string;\n    /**\n     * If the item expires in orbit, we show a... more different message. (\\\"Consummate V\\'s, consummate!\\\")\n     */\n    expiredInOrbitMessage?: string;\n    suppressExpirationWhenObjectivesComplete?: boolean;\n    /**\n     * A reference to the associated crafting \\'recipe\\' item definition, if this item can be crafted.\n     */\n    recipeItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a \\\"raw\\\" investment stat, before calculated stats are calculated and before any DestinyStatGroupDefinition is applied to transform the stat into something closer to what you see in-game.  Because these won\\'t match what you see in-game, consider carefully whether you really want to use these stats. I have left them in case someone can do something useful or interesting with the pre-processed statistics.\n */\nexport interface DestinyDefinitionsDestinyItemInvestmentStatDefinition { \n    /**\n     * The hash identifier for the DestinyStatDefinition defining this stat.\n     */\n    statTypeHash?: number;\n    /**\n     * The raw \\\"Investment\\\" value for the stat, before transformations are performed to turn this raw stat into stats that are displayed in the game UI.\n     */\n    value?: number;\n    /**\n     * If this is true, the stat will only be applied on the item in certain game state conditions, and we can\\'t know statically whether or not this stat will be applied. Check the \\\"live\\\" API data instead for whether this value is being applied on a specific instance of the item in question, and you can use this to decide whether you want to show the stat on the generic view of the item, or whether you want to show some kind of caveat or warning about the stat value being conditional on game state.\n     */\n    isConditionallyActive?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The metrics available for display and selection on an item.\n */\nexport interface DestinyDefinitionsDestinyItemMetricBlockDefinition { \n    /**\n     * Hash identifiers for any DestinyPresentationNodeDefinition entry that can be used to list available metrics. Any metric listed directly below these nodes, or in any of these nodes\\' children will be made available for selection.\n     */\n    availableMetricCategoryNodeHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An intrinsic perk on an item, and the requirements for it to be activated.\n */\nexport interface DestinyDefinitionsDestinyItemPerkEntryDefinition { \n    /**\n     * If this perk is not active, this is the string to show for why it\\'s not providing its benefits.\n     */\n    requirementDisplayString?: string;\n    /**\n     * A hash identifier for the DestinySandboxPerkDefinition being provided on the item.\n     */\n    perkHash?: number;\n    /**\n     * Indicates whether this perk should be shown, or if it should be shown disabled.\n     */\n    perkVisibility?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Some items are \\\"sacks\\\" - they can be \\\"opened\\\" to produce other items. This is information related to its sack status, mostly UI strings. Engrams are an example of items that are considered to be \\\"Sacks\\\".\n */\nexport interface DestinyDefinitionsDestinyItemSackBlockDefinition { \n    /**\n     * A description of what will happen when you open the sack. As far as I can tell, this is blank currently. Unknown whether it will eventually be populated with useful info.\n     */\n    detailAction?: string;\n    /**\n     * The localized name of the action being performed when you open the sack.\n     */\n    openAction?: string;\n    selectItemCount?: number;\n    vendorSackType?: string;\n    openOnAcquire?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines a particular entry in an ItemSet (AKA a particular Quest Step in a Quest)\n */\nexport interface DestinyDefinitionsDestinyItemSetBlockEntryDefinition { \n    /**\n     * Used for tracking which step a user reached. These values will be populated in the user\\'s internal state, which we expose externally as a more usable DestinyQuestStatus object. If this item has been obtained, this value will be set in trackingUnlockValueHash.\n     */\n    trackingValue?: number;\n    /**\n     * This is the hash identifier for a DestinyInventoryItemDefinition representing this quest step.\n     */\n    itemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Sockets are grouped into categories in the UI. These define which category and which sockets are under that category.\n */\nexport interface DestinyDefinitionsDestinyItemSocketCategoryDefinition { \n    /**\n     * The hash for the Socket Category: a quick way to go get the header display information for the category. Use it to look up DestinySocketCategoryDefinition info.\n     */\n    socketCategoryHash?: number;\n    /**\n     * Use these indexes to look up the sockets in the \\\"sockets.socketEntries\\\" property on the item definition. These are the indexes under the category, in game-rendered order.\n     */\n    socketIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The definition of a known, reusable plug that can be applied to a socket.\n */\nexport interface DestinyDefinitionsDestinyItemSocketEntryPlugItemDefinition { \n    /**\n     * The hash identifier of a DestinyInventoryItemDefinition representing the plug that can be inserted.\n     */\n    plugItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This appears to be information used when rendering rewards. We don\\'t currently use it on BNet.\n */\nexport interface DestinyDefinitionsDestinyItemSummaryBlockDefinition { \n    /**\n     * Apparently when rendering an item in a reward, this should be used as a sort priority. We\\'re not doing it presently.\n     */\n    sortPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This defines information that can only come from a talent grid on an item. Items mostly have negligible talent grid data these days, but instanced items still retain grids as a source for some of this common information.  Builds/Subclasses are the only items left that still have talent grids with meaningful Nodes.\n */\nexport interface DestinyDefinitionsDestinyItemTalentGridBlockDefinition { \n    /**\n     * The hash identifier of the DestinyTalentGridDefinition attached to this item.\n     */\n    talentGridHash?: number;\n    /**\n     * This is meant to be a subtitle for looking at the talent grid. In practice, somewhat frustratingly, this always merely says the localized word for \\\"Details\\\". Great. Maybe it\\'ll have more if talent grids ever get used for more than builds and subclasses again.\n     */\n    itemDetailString?: string;\n    /**\n     * A shortcut string identifier for the \\\"build\\\" in question, if this talent grid has an associated build. Doesn\\'t map to anything we can expose at the moment.\n     */\n    buildName?: string;\n    /**\n     * If the talent grid implies a damage type, this is the enum value for that damage type.\n     */\n    hudDamageType?: number;\n    /**\n     * If the talent grid has a special icon that\\'s shown in the game UI (like builds, funny that), this is the identifier for that icon. Sadly, we don\\'t actually get that icon right now. I\\'ll be looking to replace this with a path to the actual icon itself.\n     */\n    hudIcon?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyItemTooltipNotification { \n    displayString?: string;\n    displayStyle?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents that a vendor could sell this item, and provides a quick link to that vendor and sale item.   Note that we do not and cannot make a guarantee that the vendor will ever *actually* sell this item, only that the Vendor has a definition that indicates it *could* be sold.   Note also that a vendor may sell the same item in multiple \\\"ways\\\", which means there may be multiple vendorItemIndexes for a single Vendor hash.\n */\nexport interface DestinyDefinitionsDestinyItemVendorSourceReference { \n    /**\n     * The identifier for the vendor that may sell this item.\n     */\n    vendorHash?: number;\n    /**\n     * The Vendor sale item indexes that represent the sale information for this item. The same vendor may sell an item in multiple \\\"ways\\\", hence why this is a list. (for instance, a weapon may be \\\"sold\\\" as a reward in a quest, for Glimmer, and for Masterwork Cores: each of those ways would be represented by a different vendor sale item with a different index)\n     */\n    vendorItemIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The version definition currently just holds a reference to the power cap.\n */\nexport interface DestinyDefinitionsDestinyItemVersionDefinition { \n    /**\n     * A reference to the power cap for this item version.\n     */\n    powerCapHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Many actions relating to items require you to expend materials: - Activating a talent node - Inserting a plug into a socket The items will refer to material requirements by a materialRequirementsHash in these cases, and this is the definition for those requirements in terms of the item required, how much of it is required and other interesting info. This is one of the rare/strange times where a single contract class is used both in definitions *and* in live data Response contracts. I\\'m not sure yet whether I regret that.\n */\nexport interface DestinyDefinitionsDestinyMaterialRequirement { \n    /**\n     * The hash identifier of the material required. Use it to look up the material\\'s DestinyInventoryItemDefinition.\n     */\n    itemHash?: number;\n    /**\n     * If True, the material will be removed from the character\\'s inventory when the action is performed.\n     */\n    deleteOnAction?: boolean;\n    /**\n     * The amount of the material required.\n     */\n    count?: number;\n    /**\n     * If true, the material requirement count value is constant. Since The Witch Queen expansion, some material requirement counts can be dynamic and will need to be returned with an API call.\n     */\n    countIsConstant?: boolean;\n    /**\n     * If True, this requirement is \\\"silent\\\": don\\'t bother showing it in a material requirements display. I mean, I\\'m not your mom: I\\'m not going to tell you you *can\\'t* show it. But we won\\'t show it in our UI.\n     */\n    omitFromRequirements?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An artificial construct of our own creation, to try and put some order on top of Medals and keep them from being one giant, unmanageable and unsorted blob of stats.  Unfortunately, we haven\\'t had time to do this evaluation yet in Destiny 2, so we\\'re short on Medal Tiers. This will hopefully be updated over time, if Medals continue to exist.\n */\nexport interface DestinyDefinitionsDestinyMedalTierDefinition { \n    /**\n     * The name of the tier.\n     */\n    tierName?: string;\n    /**\n     * If you\\'re rendering medals by tier, render them in this order (ascending)\n     */\n    order?: number;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Talent nodes have requirements that must be met before they can be activated.  This describes the material costs, the Level of the Talent Grid\\'s progression required, and other conditional information that limits whether a talent node can be activated.\n */\nexport interface DestinyDefinitionsDestinyNodeActivationRequirement { \n    /**\n     * The Progression level on the Talent Grid required to activate this node.  See DestinyTalentGridDefinition.progressionHash for the related Progression, and read DestinyProgressionDefinition\\'s documentation to learn more about Progressions.\n     */\n    gridLevel?: number;\n    /**\n     * The list of hash identifiers for material requirement sets: materials that are required for the node to be activated. See DestinyMaterialRequirementSetDefinition for more information about material requirements.  In this case, only a single DestinyMaterialRequirementSetDefinition will be chosen from this list, and we won\\'t know which one will be chosen until an instance of the item is created.\n     */\n    materialRequirementHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This is a bit of an odd duck. Apparently, if talent nodes steps have this data, the game will go through on step activation and alter the first Socket it finds on the item that has a type matching the given socket type, inserting the indicated plug item.\n */\nexport interface DestinyDefinitionsDestinyNodeSocketReplaceResponse { \n    /**\n     * The hash identifier of the socket type to find amidst the item\\'s sockets (the item to which this talent grid is attached). See DestinyInventoryItemDefinition.sockets.socketEntries to find the socket type of sockets on the item in question.\n     */\n    socketTypeHash?: number;\n    /**\n     * The hash identifier of the plug item that will be inserted into the socket found.\n     */\n    plugItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyObjectiveDisplayProperties { \n    /**\n     * The activity associated with this objective in the context of this item, if any.\n     */\n    activityHash?: number;\n    /**\n     * If true, the game shows this objective on item preview screens.\n     */\n    displayOnItemPreviewScreen?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines the conditions under which an intrinsic perk is applied while participating in an Objective.  These perks will generally not be benefit-granting perks, but rather a perk that modifies gameplay in some interesting way.\n */\nexport interface DestinyDefinitionsDestinyObjectivePerkEntryDefinition { \n    /**\n     * The hash identifier of the DestinySandboxPerkDefinition that will be applied to the character.\n     */\n    perkHash?: number;\n    /**\n     * An enumeration indicating whether it will be applied as long as the Objective is active, when it\\'s completed, or until it\\'s completed.\n     */\n    style?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyPlugItemCraftingUnlockRequirement { \n    failureDescription?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Inventory Items can reward progression when actions are performed on them. A common example of this in Destiny 1 was Bounties, which would reward Experience on your Character and the like when you completed the bounty.  Note that this maps to a DestinyProgressionMappingDefinition, and *not* a DestinyProgressionDefinition directly. This is apparently so that multiple progressions can be granted progression points/experience at the same time.\n */\nexport interface DestinyDefinitionsDestinyProgressionRewardDefinition { \n    /**\n     * The hash identifier of the DestinyProgressionMappingDefinition that contains the progressions for which experience should be applied.\n     */\n    progressionMappingHash?: number;\n    /**\n     * The amount of experience to give to each of the mapped progressions.\n     */\n    amount?: number;\n    /**\n     * If true, the game\\'s internal mechanisms to throttle progression should be applied.\n     */\n    applyThrottles?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyProgressionRewardItemQuantity { \n    rewardedAtProgressionLevel?: number;\n    acquisitionBehavior?: number;\n    uiDisplayStyle?: string;\n    claimUnlockDisplayStrings?: Array<string>;\n    /**\n     * The hash identifier for the item in question. Use it to look up the item\\'s DestinyInventoryItemDefinition.\n     */\n    itemHash?: number;\n    /**\n     * If this quantity is referring to a specific instance of an item, this will have the item\\'s instance ID. Normally, this will be null.\n     */\n    itemInstanceId?: number;\n    /**\n     * The amount of the item needed/available depending on the context of where DestinyItemQuantity is being used.\n     */\n    quantity?: number;\n    /**\n     * Indicates that this item quantity may be conditionally shown or hidden, based on various sources of state. For example: server flags, account state, or character progress.\n     */\n    hasConditionalVisibility?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * BNet\\'s custom categorization of reward sources. We took a look at the existing ways that items could be spawned, and tried to make high-level categorizations of them. This needs to be re-evaluated for Destiny 2.\n */\nexport type DestinyDefinitionsDestinyRewardSourceCategory = 0 | 1 | 2 | 3;\n\nexport const DestinyDefinitionsDestinyRewardSourceCategory = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyRewardSourceCategory,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyRewardSourceCategory,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyRewardSourceCategory,\n    NUMBER_3: 3 as DestinyDefinitionsDestinyRewardSourceCategory\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * As of Destiny 2, nodes can exist as part of \\\"Exclusive Groups\\\". These differ from exclusive sets in that, within the group, many nodes can be activated. But the act of activating any node in the group will cause \\\"opposing\\\" nodes (nodes in groups that are not allowed to be activated at the same time as this group) to deactivate.\n */\nexport interface DestinyDefinitionsDestinyTalentExclusiveGroup { \n    /**\n     * The identifier for this exclusive group. Only guaranteed unique within the talent grid, not globally.\n     */\n    groupHash?: number;\n    /**\n     * If this group has an associated piece of lore to show next to it, this will be the identifier for that DestinyLoreDefinition.\n     */\n    loreHash?: number;\n    /**\n     * A quick reference of the talent nodes that are part of this group, by their Talent Node hashes. (See DestinyTalentNodeDefinition.nodeHash)\n     */\n    nodeHashes?: Array<number>;\n    /**\n     * A quick reference of Groups whose nodes will be deactivated if any node in this group is activated.\n     */\n    opposingGroupHashes?: Array<number>;\n    /**\n     * A quick reference of Nodes that will be deactivated if any node in this group is activated, by their Talent Node hashes. (See DestinyTalentNodeDefinition.nodeHash)\n     */\n    opposingNodeHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The list of indexes into the Talent Grid\\'s \\\"nodes\\\" property for nodes in this exclusive set. (See DestinyTalentNodeDefinition.nodeIndex)\n */\nexport interface DestinyDefinitionsDestinyTalentNodeExclusiveSetDefinition { \n    /**\n     * The list of node indexes for the exclusive set. Historically, these were indexes. I would have liked to replace this with nodeHashes for consistency, but it\\'s way too late for that. (9:09 PM, he\\'s right!)\n     */\n    nodeIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDefinitionsDestinyTalentNodeStepDamageTypes = 0 | 1 | 2 | 4 | 8 | 15;\n\nexport const DestinyDefinitionsDestinyTalentNodeStepDamageTypes = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes,\n    NUMBER_4: 4 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes,\n    NUMBER_8: 8 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes,\n    NUMBER_15: 15 as DestinyDefinitionsDestinyTalentNodeStepDamageTypes\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * These properties are an attempt to categorize talent node steps by certain common properties. See the related enumerations for the type of properties being categorized.\n */\nexport interface DestinyDefinitionsDestinyTalentNodeStepGroups { \n    weaponPerformance?: number;\n    impactEffects?: number;\n    guardianAttributes?: number;\n    lightAbilities?: number;\n    damageTypes?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 255;\n\nexport const DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_4: 4 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_8: 8 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_16: 16 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_32: 32 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_64: 64 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_128: 128 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes,\n    NUMBER_255: 255 as DestinyDefinitionsDestinyTalentNodeStepGuardianAttributes\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDefinitionsDestinyTalentNodeStepImpactEffects = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 63;\n\nexport const DestinyDefinitionsDestinyTalentNodeStepImpactEffects = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_4: 4 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_8: 8 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_16: 16 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_32: 32 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects,\n    NUMBER_63: 63 as DestinyDefinitionsDestinyTalentNodeStepImpactEffects\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDefinitionsDestinyTalentNodeStepLightAbilities = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 63;\n\nexport const DestinyDefinitionsDestinyTalentNodeStepLightAbilities = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_4: 4 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_8: 8 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_16: 16 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_32: 32 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities,\n    NUMBER_63: 63 as DestinyDefinitionsDestinyTalentNodeStepLightAbilities\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8191;\n\nexport const DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances = {\n    NUMBER_0: 0 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_1: 1 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_2: 2 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_4: 4 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_8: 8 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_16: 16 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_32: 32 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_64: 64 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_128: 128 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_256: 256 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_512: 512 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_1024: 1024 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_2048: 2048 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_4096: 4096 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances,\n    NUMBER_8191: 8191 as DestinyDefinitionsDestinyTalentNodeStepWeaponPerformances\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Where the sausage gets made. Unlock Expressions are the foundation of the game\\'s gating mechanics and investment-related restrictions. They can test Unlock Flags and Unlock Values for certain states, using a sufficient amount of logical operators such that unlock expressions are effectively Turing complete.  Use UnlockExpressionParser to evaluate expressions using an IUnlockContext parsed from Babel.\n */\nexport interface DestinyDefinitionsDestinyUnlockExpressionDefinition { \n    /**\n     * A shortcut for determining the most restrictive gating that this expression performs. See the DestinyGatingScope enum\\'s documentation for more details.\n     */\n    scope?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An Unlock Value is an internal integer value, stored on the server and used in a variety of ways, most frequently for the gating/requirement checks that the game performs across all of its main features. They can also be used as the storage data for mapped Progressions, Objectives, and other features that require storage of variable numeric values.\n */\nexport interface DestinyDefinitionsDestinyUnlockValueDefinition { \n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If you ever wondered how the Vault works, here it is.  The Vault is merely a set of inventory buckets that exist on your Profile/Account level. When you transfer items in the Vault, the game is using the Vault Vendor\\'s DestinyVendorAcceptedItemDefinitions to see where the appropriate destination bucket is for the source bucket from whence your item is moving. If it finds such an entry, it transfers the item to the other bucket.  The mechanics for Postmaster works similarly, which is also a vendor. All driven by Accepted Items.\n */\nexport interface DestinyDefinitionsDestinyVendorAcceptedItemDefinition { \n    /**\n     * The \\\"source\\\" bucket for a transfer. When a user wants to transfer an item, the appropriate DestinyVendorDefinition\\'s acceptedItems property is evaluated, looking for an entry where acceptedInventoryBucketHash matches the bucket that the item being transferred is currently located. If it exists, the item will be transferred into whatever bucket is defined by destinationInventoryBucketHash.\n     */\n    acceptedInventoryBucketHash?: number;\n    /**\n     * This is the bucket where the item being transferred will be put, given that it was being transferred *from* the bucket defined in acceptedInventoryBucketHash.\n     */\n    destinationInventoryBucketHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If a vendor can ever end up performing actions, these are the properties that will be related to those actions. I\\'m not going to bother documenting this yet, as it is unused and unclear if it will ever be used... but in case it is ever populated and someone finds it useful, it is defined here.\n */\nexport interface DestinyDefinitionsDestinyVendorActionDefinition { \n    description?: string;\n    executeSeconds?: number;\n    icon?: string;\n    name?: string;\n    verb?: string;\n    isPositive?: boolean;\n    actionId?: string;\n    actionHash?: number;\n    autoPerformAction?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The details of an overlay prompt to show to a user. They are all fairly self-explanatory localized strings that can be shown.\n */\nexport interface DestinyDefinitionsDestinyVendorCategoryOverlayDefinition { \n    choiceDescription?: string;\n    description?: string;\n    icon?: string;\n    title?: string;\n    /**\n     * If this overlay has a currency item that it features, this is said featured item.\n     */\n    currencyItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * BNet attempts to group vendors into similar collections. These groups aren\\'t technically game canonical, but they are helpful for filtering vendors or showing them organized into a clean view on a webpage or app.  These definitions represent the groups we\\'ve built. Unlike in Destiny 1, a Vendors\\' group may change dynamically as the game state changes: thus, you will want to check DestinyVendorComponent Responses to find a vendor\\'s currently active Group (if you care).  Using this will let you group your vendors in your UI in a similar manner to how we will do grouping in the Companion.\n */\nexport interface DestinyDefinitionsDestinyVendorGroupDefinition { \n    /**\n     * The recommended order in which to render the groups, Ascending order.\n     */\n    order?: number;\n    /**\n     * For now, a group just has a name.\n     */\n    categoryName?: string;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDestinyVendorGroupReference { \n    /**\n     * The DestinyVendorGroupDefinition to which this Vendor can belong.\n     */\n    vendorGroupHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When the interaction is replied to, Reward sites will fire and items potentially selected based on whether the given unlock expression is TRUE.  You can potentially choose one from multiple replies when replying to an interaction: this is how you get either/or rewards from vendors.\n */\nexport interface DestinyDefinitionsDestinyVendorInteractionReplyDefinition { \n    /**\n     * The rewards granted upon responding to the vendor.\n     */\n    itemRewardsSelection?: number;\n    /**\n     * The localized text for the reply.\n     */\n    reply?: string;\n    /**\n     * An enum indicating the type of reply being made.\n     */\n    replyType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Compare this sackType to the sack identifier in the DestinyInventoryItemDefinition.vendorSackType property of items. If they match, show this sack with this interaction.\n */\nexport interface DestinyDefinitionsDestinyVendorInteractionSackEntryDefinition { \n    sackType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Information about a single inventory bucket in a vendor flyout UI and how it is shown.\n */\nexport interface DestinyDefinitionsDestinyVendorInventoryFlyoutBucketDefinition { \n    /**\n     * If true, the inventory bucket should be able to be collapsed visually.\n     */\n    collapsible?: boolean;\n    /**\n     * The inventory bucket whose contents should be shown.\n     */\n    inventoryBucketHash?: number;\n    /**\n     * The methodology to use for sorting items from the flyout.\n     */\n    sortItemsBy?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * In addition to item quantity information for vendor prices, this also has any optional information that may exist about how the item\\'s quantity can be modified. (unfortunately not information that is able to be read outside of the BNet servers, but it\\'s there)\n */\nexport interface DestinyDefinitionsDestinyVendorItemQuantity { \n    /**\n     * The hash identifier for the item in question. Use it to look up the item\\'s DestinyInventoryItemDefinition.\n     */\n    itemHash?: number;\n    /**\n     * If this quantity is referring to a specific instance of an item, this will have the item\\'s instance ID. Normally, this will be null.\n     */\n    itemInstanceId?: number;\n    /**\n     * The amount of the item needed/available depending on the context of where DestinyItemQuantity is being used.\n     */\n    quantity?: number;\n    /**\n     * Indicates that this item quantity may be conditionally shown or hidden, based on various sources of state. For example: server flags, account state, or character progress.\n     */\n    hasConditionalVisibility?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The information for how the vendor purchase should override a given socket with custom plug data.\n */\nexport interface DestinyDefinitionsDestinyVendorItemSocketOverride { \n    /**\n     * If this is populated, the socket will be overridden with a specific plug.  If this isn\\'t populated, it\\'s being overridden by something more complicated that is only known by the Game Server and God, which means we can\\'t tell you in advance what it\\'ll be.\n     */\n    singleItemHash?: number;\n    /**\n     * If this is greater than -1, the number of randomized plugs on this socket will be set to this quantity instead of whatever it\\'s set to by default.\n     */\n    randomizedOptionsCount?: number;\n    /**\n     * This appears to be used to select which socket ultimately gets the override defined here.\n     */\n    socketTypeHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The localized properties of the requirementsDisplay, allowing information about the requirement or item being featured to be seen.\n */\nexport interface DestinyDefinitionsDestinyVendorRequirementDisplayEntryDefinition { \n    icon?: string;\n    name?: string;\n    source?: string;\n    type?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Not terribly useful, some basic cooldown interaction info.\n */\nexport interface DestinyDefinitionsDestinyVendorSaleItemActionBlockDefinition { \n    executeSeconds?: number;\n    isPositive?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When a vendor provides services, this is the localized name of those services.\n */\nexport interface DestinyDefinitionsDestinyVendorServiceDefinition { \n    /**\n     * The localized name of a service provided.\n     */\n    name?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Nodes on a graph can be visually connected: this appears to be the information about which nodes to link. It appears to lack more detailed information, such as the path for that linking.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphConnectionDefinition { \n    sourceNodeHash?: number;\n    destNodeHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When a Graph needs to show active Objectives, this defines those objectives as well as an identifier.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphDisplayObjectiveDefinition { \n    /**\n     * $NOTE $amola 2017-01-19 This field is apparently something that CUI uses to manually wire up objectives to display info. I am unsure how it works.\n     */\n    id?: number;\n    /**\n     * The objective being shown on the map.\n     */\n    objectiveHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When a Graph needs to show active Progressions, this defines those objectives as well as an identifier.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphDisplayProgressionDefinition { \n    id?: number;\n    progressionHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The actual activity to be redirected to when you click on the node. Note that a node can have many Activities attached to it: but only one will be active at any given time. The list of Node Activities will be traversed, and the first one found to be active will be displayed. This way, a node can layer multiple variants of an activity on top of each other. For instance, one node can control the weekly Crucible Playlist. There are multiple possible playlists, but only one is active for the week.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphNodeActivityDefinition { \n    /**\n     * An identifier for this node activity. It is only guaranteed to be unique within the Activity Graph.\n     */\n    nodeActivityId?: number;\n    /**\n     * The activity that will be activated if the user clicks on this node. Controls all activity-related information displayed on the node if it is active (the text shown in the tooltip etc)\n     */\n    activityHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Nodes can have different visual states. This object represents a single visual state (\\\"highlight type\\\") that a node can be in, and the unlock expression condition to determine whether it should be set.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphNodeFeaturingStateDefinition { \n    /**\n     * The node can be highlighted in a variety of ways - the game iterates through these and finds the first FeaturingState that is valid at the present moment given the Game, Account, and Character state, and renders the node in that state. See the ActivityGraphNodeHighlightType enum for possible values.\n     */\n    highlightType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a single state that a graph node might end up in. Depending on what\\'s going on in the game, graph nodes could be shown in different ways or even excluded from view entirely.\n */\nexport interface DestinyDefinitionsDirectorDestinyActivityGraphNodeStateEntry { \n    state?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsDirectorDestinyLinkedGraphEntryDefinition { \n    activityGraphHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsGuardianRanksDestinyGuardianRankIconBackgroundsDefinition { \n    backgroundEmptyBorderedImagePath?: string;\n    backgroundEmptyBlueGradientBorderedImagePath?: string;\n    backgroundFilledBlueBorderedImagePath?: string;\n    backgroundFilledBlueGradientBorderedImagePath?: string;\n    backgroundFilledBlueLowAlphaImagePath?: string;\n    backgroundFilledBlueMediumAlphaImagePath?: string;\n    backgroundFilledGrayMediumAlphaBorderedImagePath?: string;\n    backgroundFilledGrayHeavyAlphaBorderedImagePath?: string;\n    backgroundFilledWhiteMediumAlphaImagePath?: string;\n    backgroundFilledWhiteImagePath?: string;\n    backgroundPlateWhiteImagePath?: string;\n    backgroundPlateBlackImagePath?: string;\n    backgroundPlateBlackAlphaImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This is a reference to, and summary data for, a specific item that you can get as a result of Using or Acquiring some other Item (For example, this could be summary information for an Emote that you can get by opening an an Eververse Box) See DestinyDerivedItemCategoryDefinition for more information.\n */\nexport interface DestinyDefinitionsItemsDestinyDerivedItemDefinition { \n    /**\n     * The hash for the DestinyInventoryItemDefinition of this derived item, if there is one. Sometimes we are given this information as a manual override, in which case there won\\'t be an actual DestinyInventoryItemDefinition for what we display, but you can still show the strings from this object itself.\n     */\n    itemHash?: number;\n    /**\n     * The name of the derived item.\n     */\n    itemName?: string;\n    /**\n     * Additional details about the derived item, in addition to the description.\n     */\n    itemDetail?: string;\n    /**\n     * A brief description of the item.\n     */\n    itemDescription?: string;\n    /**\n     * An icon for the item.\n     */\n    iconPath?: string;\n    /**\n     * If the item was derived from a \\\"Preview Vendor\\\", this will be an index into the DestinyVendorDefinition\\'s itemList property. Otherwise, -1.\n     */\n    vendorItemIndex?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Items can have Energy Capacity, and plugs can provide that capacity such as on a piece of Armor in Armor 2.0. This is how much \\\"Energy\\\" can be spent on activating plugs for this item.\n */\nexport interface DestinyDefinitionsItemsDestinyEnergyCapacityEntry { \n    /**\n     * How much energy capacity this plug provides.\n     */\n    capacityValue?: number;\n    /**\n     * Energy provided by a plug is always of a specific type - this is the hash identifier for the energy type for which it provides Capacity.\n     */\n    energyTypeHash?: number;\n    /**\n     * The Energy Type for this energy capacity, in enum form for easy use.\n     */\n    energyType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Some plugs cost Energy, which is a stat on the item that can be increased by other plugs (that, at least in Armor 2.0, have a \\\"masterworks-like\\\" mechanic for upgrading). If a plug has costs, the details of that cost are defined here.\n */\nexport interface DestinyDefinitionsItemsDestinyEnergyCostEntry { \n    /**\n     * The Energy cost for inserting this plug.\n     */\n    energyCost?: number;\n    /**\n     * The type of energy that this plug costs, as a reference to the DestinyEnergyTypeDefinition of the energy type.\n     */\n    energyTypeHash?: number;\n    /**\n     * The type of energy that this plug costs, in enum form.\n     */\n    energyType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsItemsDestinyItemTierTypeInfusionBlock { \n    /**\n     * The default portion of quality that will transfer from the infuser to the infusee item. (InfuserQuality - InfuseeQuality) * baseQualityTransferRatio = base quality transferred.\n     */\n    baseQualityTransferRatio?: number;\n    /**\n     * As long as InfuserQuality > InfuseeQuality, the amount of quality bestowed is guaranteed to be at least this value, even if the transferRatio would dictate that it should be less. The total amount of quality that ends up in the Infusee cannot exceed the Infuser\\'s quality however (for instance, if you infuse a 300 item with a 301 item and the minimum quality increment is 10, the infused item will not end up with 310 quality)\n     */\n    minimumQualityIncrement?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsItemsDestinyParentItemOverride { \n    additionalEquipRequirementsDisplayStrings?: Array<string>;\n    pipIcon?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Dictates a rule around whether the plug is enabled or insertable.  In practice, the live Destiny data will refer to these entries by index. You can then look up that index in the appropriate property (enabledRules or insertionRules) to get the localized string for the failure message if it failed.\n */\nexport interface DestinyDefinitionsItemsDestinyPlugRuleDefinition { \n    /**\n     * The localized string to show if this rule fails.\n     */\n    failureMessage?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsLoadoutsDestinyLoadoutColorDefinition { \n    colorImagePath?: string;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsLoadoutsDestinyLoadoutIconDefinition { \n    iconImagePath?: string;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsLoadoutsDestinyLoadoutNameDefinition { \n    name?: string;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a variant on an activity for a Milestone: a specific difficulty tier, or a specific activity variant for example.  These will often have more specific details, such as an associated Guided Game, progression steps, tier-specific rewards, and custom values.\n */\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneActivityVariantDefinition { \n    /**\n     * The hash to use for looking up the variant Activity\\'s definition (DestinyActivityDefinition), where you can find its distinguishing characteristics such as difficulty level and recommended light level.   Frequently, that will be the only distinguishing characteristics in practice, which is somewhat of a bummer.\n     */\n    activityHash?: number;\n    /**\n     * If you care to do so, render the variants in the order prescribed by this value.  When you combine live Milestone data with the definition, the order becomes more useful because you\\'ll be cross-referencing between the definition and live data.\n     */\n    order?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneChallengeActivityGraphNodeEntry { \n    activityGraphHash?: number;\n    activityGraphNodeHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneChallengeActivityPhase { \n    /**\n     * The hash identifier of the activity\\'s phase.\n     */\n    phaseHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneChallengeDefinition { \n    /**\n     * The challenge related to this milestone.\n     */\n    challengeObjectiveHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A hint for the UI as to what display information ought to be shown. Defaults to showing the static MilestoneDefinition\\'s display properties.   If for some reason the indicated property is not populated, fall back to the MilestoneDefinition.displayProperties.\n */\nexport type DestinyDefinitionsMilestonesDestinyMilestoneDisplayPreference = 0 | 1 | 2;\n\nexport const DestinyDefinitionsMilestonesDestinyMilestoneDisplayPreference = {\n    NUMBER_0: 0 as DestinyDefinitionsMilestonesDestinyMilestoneDisplayPreference,\n    NUMBER_1: 1 as DestinyDefinitionsMilestonesDestinyMilestoneDisplayPreference,\n    NUMBER_2: 2 as DestinyDefinitionsMilestonesDestinyMilestoneDisplayPreference\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A subclass of DestinyItemQuantity, that provides not just the item and its quantity but also information that BNet can - at some point - use internally to provide more robust runtime information about the item\\'s qualities.  If you want it, please ask! We\\'re just out of time to wire it up right now. Or a clever person just may do it with our existing endpoints.\n */\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneQuestRewardItem { \n    /**\n     * The quest reward item *may* be associated with a vendor. If so, this is that vendor. Use this hash to look up the DestinyVendorDefinition.\n     */\n    vendorHash?: number;\n    /**\n     * The quest reward item *may* be associated with a vendor. If so, this is the index of the item being sold, which we can use at runtime to find instanced item information for the reward item.\n     */\n    vendorItemIndex?: number;\n    /**\n     * The hash identifier for the item in question. Use it to look up the item\\'s DestinyInventoryItemDefinition.\n     */\n    itemHash?: number;\n    /**\n     * If this quantity is referring to a specific instance of an item, this will have the item\\'s instance ID. Normally, this will be null.\n     */\n    itemInstanceId?: number;\n    /**\n     * The amount of the item needed/available depending on the context of where DestinyItemQuantity is being used.\n     */\n    quantity?: number;\n    /**\n     * Indicates that this item quantity may be conditionally shown or hidden, based on various sources of state. For example: server flags, account state, or character progress.\n     */\n    hasConditionalVisibility?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The type of milestone. Milestones can be Tutorials, one-time/triggered/non-repeating but not necessarily tutorials, or Repeating Milestones.\n */\nexport type DestinyDefinitionsMilestonesDestinyMilestoneType = 0 | 1 | 2 | 3 | 4 | 5;\n\nexport const DestinyDefinitionsMilestonesDestinyMilestoneType = {\n    NUMBER_0: 0 as DestinyDefinitionsMilestonesDestinyMilestoneType,\n    NUMBER_1: 1 as DestinyDefinitionsMilestonesDestinyMilestoneType,\n    NUMBER_2: 2 as DestinyDefinitionsMilestonesDestinyMilestoneType,\n    NUMBER_3: 3 as DestinyDefinitionsMilestonesDestinyMilestoneType,\n    NUMBER_4: 4 as DestinyDefinitionsMilestonesDestinyMilestoneType,\n    NUMBER_5: 5 as DestinyDefinitionsMilestonesDestinyMilestoneType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the Milestone or a component has vendors whose inventories could/should be displayed that are relevant to it, this will return the vendor in question.   It also contains information we need to determine whether that vendor is actually relevant at the moment, given the user\\'s current state.\n */\nexport interface DestinyDefinitionsMilestonesDestinyMilestoneVendorDefinition { \n    /**\n     * The hash of the vendor whose wares should be shown as associated with the Milestone.\n     */\n    vendorHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines a \\'power cap\\' (limit) for gear items, based on the rarity tier and season of release.\n */\nexport interface DestinyDefinitionsPowerCapsDestinyPowerCapDefinition { \n    /**\n     * The raw value for a power cap.\n     */\n    powerCap?: number;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationChildBlock { \n    presentationNodeType?: number;\n    parentPresentationNodeHashes?: Array<number>;\n    displayStyle?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This is the base class for all presentation system children. Presentation Nodes, Records, Collectibles, and Metrics.\n */\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeBaseDefinition { \n    presentationNodeType?: number;\n    traitIds?: Array<string>;\n    traitHashes?: Array<number>;\n    /**\n     * A quick reference to presentation nodes that have this node as a child. Presentation nodes can be parented under multiple parents.\n     */\n    parentNodeHashes?: Array<number>;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeChildEntry { \n    presentationNodeHash?: number;\n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeChildEntryBase { \n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeCollectibleChildEntry { \n    collectibleHash?: number;\n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeCraftableChildEntry { \n    craftableItemHash?: number;\n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeMetricChildEntry { \n    metricHash?: number;\n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeRecordChildEntry { \n    recordHash?: number;\n    /**\n     * Use this value to sort the presentation node children in ascending order.\n     */\n    nodeDisplayPriority?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Presentation nodes can be restricted by various requirements. This defines the rules of those requirements, and the message(s) to be shown if these requirements aren\\'t met.\n */\nexport interface DestinyDefinitionsPresentationDestinyPresentationNodeRequirementsBlock { \n    /**\n     * If this node is not accessible due to Entitlements (for instance, you don\\'t own the required game expansion), this is the message to show.\n     */\n    entitlementUnavailableMessage?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsPresentationDestinyScoredPresentationNodeBaseDefinition { \n    maxCategoryRecordScore?: number;\n    presentationNodeType?: number;\n    traitIds?: Array<string>;\n    traitHashes?: Array<number>;\n    /**\n     * A quick reference to presentation nodes that have this node as a child. Presentation nodes can be parented under multiple parents.\n     */\n    parentNodeHashes?: Array<number>;\n    /**\n     * The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally.  When entities refer to each other in Destiny content, it is this hash that they are referring to.\n     */\n    hash?: number;\n    /**\n     * The index of the entity as it was found in the investment tables.\n     */\n    index?: number;\n    /**\n     * If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!\n     */\n    redacted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsRecordsDestinyRecordCompletionBlock { \n    /**\n     * The number of objectives that must be completed before the objective is considered \\\"complete\\\"\n     */\n    partialCompletionObjectiveCountThreshold?: number;\n    ScoreValue?: number;\n    shouldFireToast?: boolean;\n    toastStyle?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If this record has an expiration after which it cannot be earned, this is some information about that expiration.\n */\nexport interface DestinyDefinitionsRecordsDestinyRecordExpirationBlock { \n    hasExpiration?: boolean;\n    description?: string;\n    icon?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsRecordsDestinyRecordIntervalObjective { \n    intervalObjectiveHash?: number;\n    intervalScoreValue?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsRecordsDestinyRecordTitleBlock { \n    hasTitle?: boolean;\n    titlesByGender?: { [key: string]: string; };\n    /**\n     * For those who prefer to use the definitions.\n     */\n    titlesByGenderHash?: { [key: string]: string; };\n    gildingTrackingRecordHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsRecordsSchemaRecordStateBlock { \n    featuredPriority?: number;\n    obscuredString?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsSeasonsDestinyEventCardImages { \n    unownedCardSleeveImagePath?: string;\n    unownedCardSleeveWrapImagePath?: string;\n    cardIncompleteImagePath?: string;\n    cardCompleteImagePath?: string;\n    cardCompleteWrapImagePath?: string;\n    progressIconImagePath?: string;\n    themeBackgroundImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines the thumbnail icon, high-res image, and video link for promotional images\n */\nexport interface DestinyDefinitionsSeasonsDestinySeasonPreviewImageDefinition { \n    /**\n     * A thumbnail icon path to preview seasonal content, probably 480x270.\n     */\n    thumbnailImage?: string;\n    /**\n     * An optional path to a high-resolution image, probably 1920x1080.\n     */\n    highResImage?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data related to what happens while a plug is being inserted, mostly for UI purposes.\n */\nexport interface DestinyDefinitionsSocketsDestinyInsertPlugActionDefinition { \n    /**\n     * How long it takes for the Plugging of the item to be completed once it is initiated, if you care.\n     */\n    actionExecuteSeconds?: number;\n    /**\n     * The type of action being performed when you act on this Socket Type. The most common value is \\\"insert plug\\\", but there are others as well (for instance, a \\\"Masterwork\\\" socket may allow for Re-initialization, and an Infusion socket allows for items to be consumed to upgrade the item)\n     */\n    actionType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Defines a plug \\\"Category\\\" that is allowed to be plugged into a socket of this type.  This should be compared against a given plug item\\'s DestinyInventoryItemDefinition.plug.plugCategoryHash, which indicates the plug item\\'s category.\n */\nexport interface DestinyDefinitionsSocketsDestinyPlugWhitelistEntryDefinition { \n    /**\n     * The hash identifier of the Plug Category to compare against the plug item\\'s plug.plugCategoryHash.  Note that this does NOT relate to any Definition in itself, it is only used for comparison purposes.\n     */\n    categoryHash?: number;\n    /**\n     * The string identifier for the category, which is here mostly for debug purposes.\n     */\n    categoryIdentifier?: string;\n    /**\n     * The list of all plug items (DestinyInventoryItemDefinition) that the socket may randomly be populated with when reinitialized.  Which ones you should actually show are determined by the plug being inserted into the socket, and the socket’s type.  When you inspect the plug that could go into a Masterwork Socket, look up the socket type of the socket being inspected and find the DestinySocketTypeDefinition.  Then, look at the Plugs that can fit in that socket. Find the Whitelist in the DestinySocketTypeDefinition that matches the plug item’s categoryhash.  That whitelist entry will potentially have a new “reinitializationPossiblePlugHashes” property.If it does, that means we know what it will roll if you try to insert this plug into this socket.\n     */\n    reinitializationPossiblePlugHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDefinitionsSocketsDestinySocketTypeScalarMaterialRequirementEntry { \n    currencyItemHash?: number;\n    scalarValue?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * These definitions represent vendors\\' locations and relevant display information at different times in the game.\n */\nexport interface DestinyDefinitionsVendorsDestinyVendorLocationDefinition { \n    /**\n     * The hash identifier for a Destination at which this vendor may be located. Each destination where a Vendor may exist will only ever have a single entry.\n     */\n    destinationHash?: number;\n    /**\n     * The relative path to the background image representing this Vendor at this location, for use in a banner.\n     */\n    backgroundImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An enumeration representing the potential difficulty levels of an activity. Their names are... more qualitative than quantitative.\n */\nexport type DestinyDestinyActivityDifficultyTier = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\nexport const DestinyDestinyActivityDifficultyTier = {\n    NUMBER_0: 0 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_1: 1 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_2: 2 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_3: 3 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_4: 4 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_5: 5 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_6: 6 as DestinyDestinyActivityDifficultyTier,\n    NUMBER_7: 7 as DestinyDestinyActivityDifficultyTier\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Activity Modes are grouped into a few possible broad categories.\n */\nexport type DestinyDestinyActivityModeCategory = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinyActivityModeCategory = {\n    NUMBER_0: 0 as DestinyDestinyActivityModeCategory,\n    NUMBER_1: 1 as DestinyDestinyActivityModeCategory,\n    NUMBER_2: 2 as DestinyDestinyActivityModeCategory,\n    NUMBER_3: 3 as DestinyDestinyActivityModeCategory\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyActivityNavPointType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16;\n\nexport const DestinyDestinyActivityNavPointType = {\n    NUMBER_0: 0 as DestinyDestinyActivityNavPointType,\n    NUMBER_1: 1 as DestinyDestinyActivityNavPointType,\n    NUMBER_2: 2 as DestinyDestinyActivityNavPointType,\n    NUMBER_3: 3 as DestinyDestinyActivityNavPointType,\n    NUMBER_4: 4 as DestinyDestinyActivityNavPointType,\n    NUMBER_5: 5 as DestinyDestinyActivityNavPointType,\n    NUMBER_6: 6 as DestinyDestinyActivityNavPointType,\n    NUMBER_7: 7 as DestinyDestinyActivityNavPointType,\n    NUMBER_8: 8 as DestinyDestinyActivityNavPointType,\n    NUMBER_9: 9 as DestinyDestinyActivityNavPointType,\n    NUMBER_10: 10 as DestinyDestinyActivityNavPointType,\n    NUMBER_11: 11 as DestinyDestinyActivityNavPointType,\n    NUMBER_12: 12 as DestinyDestinyActivityNavPointType,\n    NUMBER_13: 13 as DestinyDestinyActivityNavPointType,\n    NUMBER_14: 14 as DestinyDestinyActivityNavPointType,\n    NUMBER_15: 15 as DestinyDestinyActivityNavPointType,\n    NUMBER_16: 16 as DestinyDestinyActivityNavPointType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyAmmunitionType = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyDestinyAmmunitionType = {\n    NUMBER_0: 0 as DestinyDestinyAmmunitionType,\n    NUMBER_1: 1 as DestinyDestinyAmmunitionType,\n    NUMBER_2: 2 as DestinyDestinyAmmunitionType,\n    NUMBER_3: 3 as DestinyDestinyAmmunitionType,\n    NUMBER_4: 4 as DestinyDestinyAmmunitionType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A plug can optionally have a \\\"Breaker Type\\\": a special ability that can affect units in unique ways. Activating this plug can grant one of these types.\n */\nexport type DestinyDestinyBreakerType = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinyBreakerType = {\n    NUMBER_0: 0 as DestinyDestinyBreakerType,\n    NUMBER_1: 1 as DestinyDestinyBreakerType,\n    NUMBER_2: 2 as DestinyDestinyBreakerType,\n    NUMBER_3: 3 as DestinyDestinyBreakerType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyClass = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinyClass = {\n    NUMBER_0: 0 as DestinyDestinyClass,\n    NUMBER_1: 1 as DestinyDestinyClass,\n    NUMBER_2: 2 as DestinyDestinyClass,\n    NUMBER_3: 3 as DestinyDestinyClass\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A Flags Enumeration/bitmask where each bit represents a different state that the Collectible can be in. A collectible can be in any number of these states, and you can choose to use or ignore any or all of them when making your own UI that shows Collectible info. Our displays are going to honor them, but we\\'re also the kind of people who only pretend to inhale before quickly passing it to the left. So, you know, do what you got to do.  (All joking aside, please note the caveat I mention around the Invisible flag: there are cases where it is in the best interest of your users to honor these flags even if you\\'re a \\\"show all the data\\\" person. Collector-oriented compulsion is a very unfortunate and real thing, and I would hate to instill that compulsion in others through showing them items that they cannot earn. Please consider this when you are making your own apps/sites.)\n */\nexport type DestinyDestinyCollectibleState = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64;\n\nexport const DestinyDestinyCollectibleState = {\n    NUMBER_0: 0 as DestinyDestinyCollectibleState,\n    NUMBER_1: 1 as DestinyDestinyCollectibleState,\n    NUMBER_2: 2 as DestinyDestinyCollectibleState,\n    NUMBER_4: 4 as DestinyDestinyCollectibleState,\n    NUMBER_8: 8 as DestinyDestinyCollectibleState,\n    NUMBER_16: 16 as DestinyDestinyCollectibleState,\n    NUMBER_32: 32 as DestinyDestinyCollectibleState,\n    NUMBER_64: 64 as DestinyDestinyCollectibleState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents the possible components that can be returned from Destiny \\\"Get\\\" calls such as GetProfile, GetCharacter, GetVendor etc...  When making one of these requests, you will pass one or more of these components as a comma separated list in the \\\"?components=\\\" querystring parameter. For instance, if you want baseline Profile data, Character Data, and character progressions, you would pass \\\"?components=Profiles,Characters,CharacterProgressions\\\" You may use either the numerical or string values.\n */\nexport type DestinyDestinyComponentType = 0 | 100 | 101 | 102 | 103 | 104 | 105 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 400 | 401 | 402 | 500 | 600 | 700 | 800 | 900 | 1000 | 1100 | 1200 | 1300 | 1400;\n\nexport const DestinyDestinyComponentType = {\n    NUMBER_0: 0 as DestinyDestinyComponentType,\n    NUMBER_100: 100 as DestinyDestinyComponentType,\n    NUMBER_101: 101 as DestinyDestinyComponentType,\n    NUMBER_102: 102 as DestinyDestinyComponentType,\n    NUMBER_103: 103 as DestinyDestinyComponentType,\n    NUMBER_104: 104 as DestinyDestinyComponentType,\n    NUMBER_105: 105 as DestinyDestinyComponentType,\n    NUMBER_200: 200 as DestinyDestinyComponentType,\n    NUMBER_201: 201 as DestinyDestinyComponentType,\n    NUMBER_202: 202 as DestinyDestinyComponentType,\n    NUMBER_203: 203 as DestinyDestinyComponentType,\n    NUMBER_204: 204 as DestinyDestinyComponentType,\n    NUMBER_205: 205 as DestinyDestinyComponentType,\n    NUMBER_206: 206 as DestinyDestinyComponentType,\n    NUMBER_300: 300 as DestinyDestinyComponentType,\n    NUMBER_301: 301 as DestinyDestinyComponentType,\n    NUMBER_302: 302 as DestinyDestinyComponentType,\n    NUMBER_303: 303 as DestinyDestinyComponentType,\n    NUMBER_304: 304 as DestinyDestinyComponentType,\n    NUMBER_305: 305 as DestinyDestinyComponentType,\n    NUMBER_306: 306 as DestinyDestinyComponentType,\n    NUMBER_307: 307 as DestinyDestinyComponentType,\n    NUMBER_308: 308 as DestinyDestinyComponentType,\n    NUMBER_309: 309 as DestinyDestinyComponentType,\n    NUMBER_310: 310 as DestinyDestinyComponentType,\n    NUMBER_400: 400 as DestinyDestinyComponentType,\n    NUMBER_401: 401 as DestinyDestinyComponentType,\n    NUMBER_402: 402 as DestinyDestinyComponentType,\n    NUMBER_500: 500 as DestinyDestinyComponentType,\n    NUMBER_600: 600 as DestinyDestinyComponentType,\n    NUMBER_700: 700 as DestinyDestinyComponentType,\n    NUMBER_800: 800 as DestinyDestinyComponentType,\n    NUMBER_900: 900 as DestinyDestinyComponentType,\n    NUMBER_1000: 1000 as DestinyDestinyComponentType,\n    NUMBER_1100: 1100 as DestinyDestinyComponentType,\n    NUMBER_1200: 1200 as DestinyDestinyComponentType,\n    NUMBER_1300: 1300 as DestinyDestinyComponentType,\n    NUMBER_1400: 1400 as DestinyDestinyComponentType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents the socket energy types for Armor 2.0, Ghosts 2.0, and Stasis subclasses.\n */\nexport type DestinyDestinyEnergyType = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DestinyDestinyEnergyType = {\n    NUMBER_0: 0 as DestinyDestinyEnergyType,\n    NUMBER_1: 1 as DestinyDestinyEnergyType,\n    NUMBER_2: 2 as DestinyDestinyEnergyType,\n    NUMBER_3: 3 as DestinyDestinyEnergyType,\n    NUMBER_4: 4 as DestinyDestinyEnergyType,\n    NUMBER_5: 5 as DestinyDestinyEnergyType,\n    NUMBER_6: 6 as DestinyDestinyEnergyType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The results of an Equipping operation performed through the Destiny API.\n */\nexport interface DestinyDestinyEquipItemResult { \n    /**\n     * The instance ID of the item in question (all items that can be equipped must, but definition, be Instanced and thus have an Instance ID that you can use to refer to them)\n     */\n    itemInstanceId?: number;\n    /**\n     * A PlatformErrorCodes enum indicating whether it succeeded, and if it failed why.\n     */\n    equipStatus?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A player can choose to restrict requests to join their Fireteam to specific states. These are the possible states a user can choose.\n */\nexport type DestinyDestinyGamePrivacySetting = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyDestinyGamePrivacySetting = {\n    NUMBER_0: 0 as DestinyDestinyGamePrivacySetting,\n    NUMBER_1: 1 as DestinyDestinyGamePrivacySetting,\n    NUMBER_2: 2 as DestinyDestinyGamePrivacySetting,\n    NUMBER_3: 3 as DestinyDestinyGamePrivacySetting,\n    NUMBER_4: 4 as DestinyDestinyGamePrivacySetting\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A flags enumeration/bitmask indicating the versions of the game that a given user has purchased.\n */\nexport type DestinyDestinyGameVersions = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512;\n\nexport const DestinyDestinyGameVersions = {\n    NUMBER_0: 0 as DestinyDestinyGameVersions,\n    NUMBER_1: 1 as DestinyDestinyGameVersions,\n    NUMBER_2: 2 as DestinyDestinyGameVersions,\n    NUMBER_4: 4 as DestinyDestinyGameVersions,\n    NUMBER_8: 8 as DestinyDestinyGameVersions,\n    NUMBER_16: 16 as DestinyDestinyGameVersions,\n    NUMBER_32: 32 as DestinyDestinyGameVersions,\n    NUMBER_64: 64 as DestinyDestinyGameVersions,\n    NUMBER_128: 128 as DestinyDestinyGameVersions,\n    NUMBER_256: 256 as DestinyDestinyGameVersions,\n    NUMBER_512: 512 as DestinyDestinyGameVersions\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This enumeration represents the most restrictive type of gating that is being performed by an entity. This is useful as a shortcut to avoid a lot of lookups when determining whether the gating on an Entity applies to everyone equally, or to their specific Profile or Character states.  None = There is no gating on this item.  Global = The gating on this item is based entirely on global game state. It will be gated the same for everyone.  Clan = The gating on this item is at the Clan level. For instance, if you\\'re gated by Clan level this will be the case.  Profile = The gating includes Profile-specific checks, but not on the Profile\\'s characters. An example of this might be when you acquire an Emblem: the Emblem will be available in your Kiosk for all characters in your Profile from that point onward.  Character = The gating includes Character-specific checks, including character level restrictions. An example of this might be an item that you can\\'t purchase from a Vendor until you reach a specific Character Level.  Item = The gating includes item-specific checks. For BNet, this generally implies that we\\'ll show this data only on a character level or deeper.  AssumedWorstCase = The unlocks and checks being used for this calculation are of an unknown type and are used for unknown purposes. For instance, if some great person decided that an unlock value should be globally scoped, but then the game changes it using character-specific data in a way that BNet doesn\\'t know about. Because of the open-ended potential for this to occur, many unlock checks for \\\"globally\\\" scoped unlock data may be assumed as the worst case unless it has been specifically whitelisted as otherwise. That sucks, but them\\'s the breaks.\n */\nexport type DestinyDestinyGatingScope = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DestinyDestinyGatingScope = {\n    NUMBER_0: 0 as DestinyDestinyGatingScope,\n    NUMBER_1: 1 as DestinyDestinyGatingScope,\n    NUMBER_2: 2 as DestinyDestinyGatingScope,\n    NUMBER_3: 3 as DestinyDestinyGatingScope,\n    NUMBER_4: 4 as DestinyDestinyGatingScope,\n    NUMBER_5: 5 as DestinyDestinyGatingScope,\n    NUMBER_6: 6 as DestinyDestinyGatingScope\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyGender = 0 | 1 | 2;\n\nexport const DestinyDestinyGender = {\n    NUMBER_0: 0 as DestinyDestinyGender,\n    NUMBER_1: 1 as DestinyDestinyGender,\n    NUMBER_2: 2 as DestinyDestinyGender\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a potential state of an Activity Graph node.\n */\nexport type DestinyDestinyGraphNodeState = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyDestinyGraphNodeState = {\n    NUMBER_0: 0 as DestinyDestinyGraphNodeState,\n    NUMBER_1: 1 as DestinyDestinyGraphNodeState,\n    NUMBER_2: 2 as DestinyDestinyGraphNodeState,\n    NUMBER_3: 3 as DestinyDestinyGraphNodeState,\n    NUMBER_4: 4 as DestinyDestinyGraphNodeState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Used in a number of Destiny contracts to return data about an item stack and its quantity. Can optionally return an itemInstanceId if the item is instanced - in which case, the quantity returned will be 1. If it\\'s not... uh, let me know okay? Thanks.\n */\nexport interface DestinyDestinyItemQuantity { \n    /**\n     * The hash identifier for the item in question. Use it to look up the item\\'s DestinyInventoryItemDefinition.\n     */\n    itemHash?: number;\n    /**\n     * If this quantity is referring to a specific instance of an item, this will have the item\\'s instance ID. Normally, this will be null.\n     */\n    itemInstanceId?: number;\n    /**\n     * The amount of the item needed/available depending on the context of where DestinyItemQuantity is being used.\n     */\n    quantity?: number;\n    /**\n     * Indicates that this item quantity may be conditionally shown or hidden, based on various sources of state. For example: server flags, account state, or character progress.\n     */\n    hasConditionalVisibility?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Determines how items are sorted in an inventory bucket.\n */\nexport type DestinyDestinyItemSortType = 0 | 1 | 2;\n\nexport const DestinyDestinyItemSortType = {\n    NUMBER_0: 0 as DestinyDestinyItemSortType,\n    NUMBER_1: 1 as DestinyDestinyItemSortType,\n    NUMBER_2: 2 as DestinyDestinyItemSortType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This Enumeration further classifies items by more specific categorizations than DestinyItemType. The \\\"Sub-Type\\\" is where we classify and categorize items one step further in specificity: \\\"Auto Rifle\\\" instead of just \\\"Weapon\\\" for example, or \\\"Vanguard Bounty\\\" instead of merely \\\"Bounty\\\".  These sub-types are provided for historical compatibility with Destiny 1, but an ideal alternative is to use DestinyItemCategoryDefinitions and the DestinyItemDefinition.itemCategories property instead. Item Categories allow for arbitrary hierarchies of specificity, and for items to belong to multiple categories across multiple hierarchies simultaneously. For this enum, we pick a single type as a \\\"best guess\\\" fit.  NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1 that may or may not still exist.\n */\nexport type DestinyDestinyItemSubType = 0 | 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33;\n\nexport const DestinyDestinyItemSubType = {\n    NUMBER_0: 0 as DestinyDestinyItemSubType,\n    NUMBER_1: 1 as DestinyDestinyItemSubType,\n    NUMBER_2: 2 as DestinyDestinyItemSubType,\n    NUMBER_5: 5 as DestinyDestinyItemSubType,\n    NUMBER_6: 6 as DestinyDestinyItemSubType,\n    NUMBER_7: 7 as DestinyDestinyItemSubType,\n    NUMBER_8: 8 as DestinyDestinyItemSubType,\n    NUMBER_9: 9 as DestinyDestinyItemSubType,\n    NUMBER_10: 10 as DestinyDestinyItemSubType,\n    NUMBER_11: 11 as DestinyDestinyItemSubType,\n    NUMBER_12: 12 as DestinyDestinyItemSubType,\n    NUMBER_13: 13 as DestinyDestinyItemSubType,\n    NUMBER_14: 14 as DestinyDestinyItemSubType,\n    NUMBER_16: 16 as DestinyDestinyItemSubType,\n    NUMBER_17: 17 as DestinyDestinyItemSubType,\n    NUMBER_18: 18 as DestinyDestinyItemSubType,\n    NUMBER_19: 19 as DestinyDestinyItemSubType,\n    NUMBER_20: 20 as DestinyDestinyItemSubType,\n    NUMBER_21: 21 as DestinyDestinyItemSubType,\n    NUMBER_22: 22 as DestinyDestinyItemSubType,\n    NUMBER_23: 23 as DestinyDestinyItemSubType,\n    NUMBER_24: 24 as DestinyDestinyItemSubType,\n    NUMBER_25: 25 as DestinyDestinyItemSubType,\n    NUMBER_26: 26 as DestinyDestinyItemSubType,\n    NUMBER_27: 27 as DestinyDestinyItemSubType,\n    NUMBER_28: 28 as DestinyDestinyItemSubType,\n    NUMBER_29: 29 as DestinyDestinyItemSubType,\n    NUMBER_30: 30 as DestinyDestinyItemSubType,\n    NUMBER_31: 31 as DestinyDestinyItemSubType,\n    NUMBER_32: 32 as DestinyDestinyItemSubType,\n    NUMBER_33: 33 as DestinyDestinyItemSubType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An enumeration that indicates the high-level \\\"type\\\" of the item, attempting to iron out the context specific differences for specific instances of an entity. For instance, though a weapon may be of various weapon \\\"Types\\\", in DestinyItemType they are all classified as \\\"Weapon\\\". This allows for better filtering on a higher level of abstraction for the concept of types.   This enum is provided for historical compatibility with Destiny 1, but an ideal alternative is to use DestinyItemCategoryDefinitions and the DestinyItemDefinition.itemCategories property instead. Item Categories allow for arbitrary hierarchies of specificity, and for items to belong to multiple categories across multiple hierarchies simultaneously. For this enum, we pick a single type as a \\\"best guess\\\" fit.   NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1 that may or may not still exist.   I keep updating these because they\\'re so damn convenient. I guess I shouldn\\'t fight it.\n */\nexport type DestinyDestinyItemType = 0 | 1 | 2 | 3 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30;\n\nexport const DestinyDestinyItemType = {\n    NUMBER_0: 0 as DestinyDestinyItemType,\n    NUMBER_1: 1 as DestinyDestinyItemType,\n    NUMBER_2: 2 as DestinyDestinyItemType,\n    NUMBER_3: 3 as DestinyDestinyItemType,\n    NUMBER_7: 7 as DestinyDestinyItemType,\n    NUMBER_8: 8 as DestinyDestinyItemType,\n    NUMBER_9: 9 as DestinyDestinyItemType,\n    NUMBER_10: 10 as DestinyDestinyItemType,\n    NUMBER_11: 11 as DestinyDestinyItemType,\n    NUMBER_12: 12 as DestinyDestinyItemType,\n    NUMBER_13: 13 as DestinyDestinyItemType,\n    NUMBER_14: 14 as DestinyDestinyItemType,\n    NUMBER_15: 15 as DestinyDestinyItemType,\n    NUMBER_16: 16 as DestinyDestinyItemType,\n    NUMBER_17: 17 as DestinyDestinyItemType,\n    NUMBER_18: 18 as DestinyDestinyItemType,\n    NUMBER_19: 19 as DestinyDestinyItemType,\n    NUMBER_20: 20 as DestinyDestinyItemType,\n    NUMBER_21: 21 as DestinyDestinyItemType,\n    NUMBER_22: 22 as DestinyDestinyItemType,\n    NUMBER_23: 23 as DestinyDestinyItemType,\n    NUMBER_24: 24 as DestinyDestinyItemType,\n    NUMBER_25: 25 as DestinyDestinyItemType,\n    NUMBER_26: 26 as DestinyDestinyItemType,\n    NUMBER_27: 27 as DestinyDestinyItemType,\n    NUMBER_28: 28 as DestinyDestinyItemType,\n    NUMBER_29: 29 as DestinyDestinyItemType,\n    NUMBER_30: 30 as DestinyDestinyItemType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A Flags enumeration representing the reasons why a person can\\'t join this user\\'s fireteam.\n */\nexport type DestinyDestinyJoinClosedReasons = 0 | 1 | 2 | 4 | 8 | 16 | 32768;\n\nexport const DestinyDestinyJoinClosedReasons = {\n    NUMBER_0: 0 as DestinyDestinyJoinClosedReasons,\n    NUMBER_1: 1 as DestinyDestinyJoinClosedReasons,\n    NUMBER_2: 2 as DestinyDestinyJoinClosedReasons,\n    NUMBER_4: 4 as DestinyDestinyJoinClosedReasons,\n    NUMBER_8: 8 as DestinyDestinyJoinClosedReasons,\n    NUMBER_16: 16 as DestinyDestinyJoinClosedReasons,\n    NUMBER_32768: 32768 as DestinyDestinyJoinClosedReasons\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Some Objectives provide perks, generally as part of providing some kind of interesting modifier for a Challenge or Quest. This indicates when the Perk is granted.\n */\nexport type DestinyDestinyObjectiveGrantStyle = 0 | 1 | 2;\n\nexport const DestinyDestinyObjectiveGrantStyle = {\n    NUMBER_0: 0 as DestinyDestinyObjectiveGrantStyle,\n    NUMBER_1: 1 as DestinyDestinyObjectiveGrantStyle,\n    NUMBER_2: 2 as DestinyDestinyObjectiveGrantStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the objective has a known UI label, this enumeration will represent it.\n */\nexport type DestinyDestinyObjectiveUiStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DestinyDestinyObjectiveUiStyle = {\n    NUMBER_0: 0 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_1: 1 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_2: 2 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_3: 3 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_4: 4 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_5: 5 as DestinyDestinyObjectiveUiStyle,\n    NUMBER_6: 6 as DestinyDestinyObjectiveUiStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A flags enumeration that represents a Fireteam Member\\'s status.\n */\nexport type DestinyDestinyPartyMemberStates = 0 | 1 | 2 | 4 | 8;\n\nexport const DestinyDestinyPartyMemberStates = {\n    NUMBER_0: 0 as DestinyDestinyPartyMemberStates,\n    NUMBER_1: 1 as DestinyDestinyPartyMemberStates,\n    NUMBER_2: 2 as DestinyDestinyPartyMemberStates,\n    NUMBER_4: 4 as DestinyDestinyPartyMemberStates,\n    NUMBER_8: 8 as DestinyDestinyPartyMemberStates\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A hint for how the presentation node should be displayed when shown in a list. How you use this is your UI is up to you.\n */\nexport type DestinyDestinyPresentationDisplayStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DestinyDestinyPresentationDisplayStyle = {\n    NUMBER_0: 0 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_1: 1 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_2: 2 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_3: 3 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_4: 4 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_5: 5 as DestinyDestinyPresentationDisplayStyle,\n    NUMBER_6: 6 as DestinyDestinyPresentationDisplayStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * I know this doesn\\'t look like a Flags Enumeration/bitmask right now, but I assure you it is. This is the possible states that a Presentation Node can be in, and it is almost certain that its potential states will increase in the future. So don\\'t treat it like a straight up enumeration.\n */\nexport type DestinyDestinyPresentationNodeState = 0 | 1 | 2;\n\nexport const DestinyDestinyPresentationNodeState = {\n    NUMBER_0: 0 as DestinyDestinyPresentationNodeState,\n    NUMBER_1: 1 as DestinyDestinyPresentationNodeState,\n    NUMBER_2: 2 as DestinyDestinyPresentationNodeState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyPresentationNodeType = 0 | 1 | 2 | 3 | 4 | 5;\n\nexport const DestinyDestinyPresentationNodeType = {\n    NUMBER_0: 0 as DestinyDestinyPresentationNodeType,\n    NUMBER_1: 1 as DestinyDestinyPresentationNodeType,\n    NUMBER_2: 2 as DestinyDestinyPresentationNodeType,\n    NUMBER_3: 3 as DestinyDestinyPresentationNodeType,\n    NUMBER_4: 4 as DestinyDestinyPresentationNodeType,\n    NUMBER_5: 5 as DestinyDestinyPresentationNodeType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A hint for what screen should be shown when this presentation node is clicked into. How you use this is your UI is up to you.\n */\nexport type DestinyDestinyPresentationScreenStyle = 0 | 1 | 2;\n\nexport const DestinyDestinyPresentationScreenStyle = {\n    NUMBER_0: 0 as DestinyDestinyPresentationScreenStyle,\n    NUMBER_1: 1 as DestinyDestinyPresentationScreenStyle,\n    NUMBER_2: 2 as DestinyDestinyPresentationScreenStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a season and the number of resets you had in that season.   We do not necessarily - even for progressions with resets - track it over all seasons. So be careful and check the season numbers being returned.\n */\nexport interface DestinyDestinyProgressionResetEntry { \n    season?: number;\n    resets?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents the different kinds of acquisition behavior for progression reward items.\n */\nexport type DestinyDestinyProgressionRewardItemAcquisitionBehavior = 0 | 1;\n\nexport const DestinyDestinyProgressionRewardItemAcquisitionBehavior = {\n    NUMBER_0: 0 as DestinyDestinyProgressionRewardItemAcquisitionBehavior,\n    NUMBER_1: 1 as DestinyDestinyProgressionRewardItemAcquisitionBehavior\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents the different states a progression reward item can be in.\n */\nexport type DestinyDestinyProgressionRewardItemState = 0 | 1 | 2 | 4 | 8;\n\nexport const DestinyDestinyProgressionRewardItemState = {\n    NUMBER_0: 0 as DestinyDestinyProgressionRewardItemState,\n    NUMBER_1: 1 as DestinyDestinyProgressionRewardItemState,\n    NUMBER_2: 2 as DestinyDestinyProgressionRewardItemState,\n    NUMBER_4: 4 as DestinyDestinyProgressionRewardItemState,\n    NUMBER_8: 8 as DestinyDestinyProgressionRewardItemState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * There are many Progressions in Destiny (think Character Level, or Reputation). These are the various \\\"Scopes\\\" of Progressions, which affect many things: * Where/if they are stored * How they are calculated * Where they can be used in other game logic\n */\nexport type DestinyDestinyProgressionScope = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\nexport const DestinyDestinyProgressionScope = {\n    NUMBER_0: 0 as DestinyDestinyProgressionScope,\n    NUMBER_1: 1 as DestinyDestinyProgressionScope,\n    NUMBER_2: 2 as DestinyDestinyProgressionScope,\n    NUMBER_3: 3 as DestinyDestinyProgressionScope,\n    NUMBER_4: 4 as DestinyDestinyProgressionScope,\n    NUMBER_5: 5 as DestinyDestinyProgressionScope,\n    NUMBER_6: 6 as DestinyDestinyProgressionScope,\n    NUMBER_7: 7 as DestinyDestinyProgressionScope,\n    NUMBER_8: 8 as DestinyDestinyProgressionScope\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If progression is earned, this determines whether the progression shows visual effects on the character or its item - or neither.\n */\nexport type DestinyDestinyProgressionStepDisplayEffect = 0 | 1 | 2;\n\nexport const DestinyDestinyProgressionStepDisplayEffect = {\n    NUMBER_0: 0 as DestinyDestinyProgressionStepDisplayEffect,\n    NUMBER_1: 1 as DestinyDestinyProgressionStepDisplayEffect,\n    NUMBER_2: 2 as DestinyDestinyProgressionStepDisplayEffect\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyRace = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinyRace = {\n    NUMBER_0: 0 as DestinyDestinyRace,\n    NUMBER_1: 1 as DestinyDestinyRace,\n    NUMBER_2: 2 as DestinyDestinyRace,\n    NUMBER_3: 3 as DestinyDestinyRace\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A Flags enumeration/bitmask where each bit represents a possible state that a Record/Triumph can be in.\n */\nexport type DestinyDestinyRecordState = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64;\n\nexport const DestinyDestinyRecordState = {\n    NUMBER_0: 0 as DestinyDestinyRecordState,\n    NUMBER_1: 1 as DestinyDestinyRecordState,\n    NUMBER_2: 2 as DestinyDestinyRecordState,\n    NUMBER_4: 4 as DestinyDestinyRecordState,\n    NUMBER_8: 8 as DestinyDestinyRecordState,\n    NUMBER_16: 16 as DestinyDestinyRecordState,\n    NUMBER_32: 32 as DestinyDestinyRecordState,\n    NUMBER_64: 64 as DestinyDestinyRecordState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyRecordToastStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9;\n\nexport const DestinyDestinyRecordToastStyle = {\n    NUMBER_0: 0 as DestinyDestinyRecordToastStyle,\n    NUMBER_1: 1 as DestinyDestinyRecordToastStyle,\n    NUMBER_2: 2 as DestinyDestinyRecordToastStyle,\n    NUMBER_3: 3 as DestinyDestinyRecordToastStyle,\n    NUMBER_4: 4 as DestinyDestinyRecordToastStyle,\n    NUMBER_5: 5 as DestinyDestinyRecordToastStyle,\n    NUMBER_6: 6 as DestinyDestinyRecordToastStyle,\n    NUMBER_7: 7 as DestinyDestinyRecordToastStyle,\n    NUMBER_8: 8 as DestinyDestinyRecordToastStyle,\n    NUMBER_9: 9 as DestinyDestinyRecordToastStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyRecordValueStyle = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyDestinyRecordValueStyle = {\n    NUMBER_0: 0 as DestinyDestinyRecordValueStyle,\n    NUMBER_1: 1 as DestinyDestinyRecordValueStyle,\n    NUMBER_2: 2 as DestinyDestinyRecordValueStyle,\n    NUMBER_3: 3 as DestinyDestinyRecordValueStyle,\n    NUMBER_4: 4 as DestinyDestinyRecordValueStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * There\\'s a lot of places where we need to know scope on more than just a profile or character level. For everything else, there\\'s this more generic sense of scope.\n */\nexport type DestinyDestinyScope = 0 | 1;\n\nexport const DestinyDestinyScope = {\n    NUMBER_0: 0 as DestinyDestinyScope,\n    NUMBER_1: 1 as DestinyDestinyScope\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents the possible and known UI styles used by the game for rendering Socket Categories.\n */\nexport type DestinyDestinySocketCategoryStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8;\n\nexport const DestinyDestinySocketCategoryStyle = {\n    NUMBER_0: 0 as DestinyDestinySocketCategoryStyle,\n    NUMBER_1: 1 as DestinyDestinySocketCategoryStyle,\n    NUMBER_2: 2 as DestinyDestinySocketCategoryStyle,\n    NUMBER_3: 3 as DestinyDestinySocketCategoryStyle,\n    NUMBER_4: 4 as DestinyDestinySocketCategoryStyle,\n    NUMBER_5: 5 as DestinyDestinySocketCategoryStyle,\n    NUMBER_6: 6 as DestinyDestinySocketCategoryStyle,\n    NUMBER_7: 7 as DestinyDestinySocketCategoryStyle,\n    NUMBER_8: 8 as DestinyDestinySocketCategoryStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinySocketVisibility = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinySocketVisibility = {\n    NUMBER_0: 0 as DestinyDestinySocketVisibility,\n    NUMBER_1: 1 as DestinyDestinySocketVisibility,\n    NUMBER_2: 2 as DestinyDestinySocketVisibility,\n    NUMBER_3: 3 as DestinyDestinySocketVisibility\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a stat on an item *or* Character (NOT a Historical Stat, but a physical attribute stat like Attack, Defense etc...)\n */\nexport interface DestinyDestinyStat { \n    /**\n     * The hash identifier for the Stat. Use it to look up the DestinyStatDefinition for static data about the stat.\n     */\n    statHash?: number;\n    /**\n     * The current value of the Stat.\n     */\n    value?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When a Stat (DestinyStatDefinition) is aggregated, this is the rules used for determining the level and formula used for aggregation.  * CharacterAverage = apply a weighted average using the related DestinyStatGroupDefinition on the DestinyInventoryItemDefinition across the character\\'s equipped items. See both of those definitions for details. * Character = don\\'t aggregate: the stat should be located and used directly on the character. * Item = don\\'t aggregate: the stat should be located and used directly on the item.\n */\nexport type DestinyDestinyStatAggregationType = 0 | 1 | 2;\n\nexport const DestinyDestinyStatAggregationType = {\n    NUMBER_0: 0 as DestinyDestinyStatAggregationType,\n    NUMBER_1: 1 as DestinyDestinyStatAggregationType,\n    NUMBER_2: 2 as DestinyDestinyStatAggregationType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * At last, stats have categories. Use this for whatever purpose you might wish.\n */\nexport type DestinyDestinyStatCategory = 0 | 1 | 2 | 3;\n\nexport const DestinyDestinyStatCategory = {\n    NUMBER_0: 0 as DestinyDestinyStatCategory,\n    NUMBER_1: 1 as DestinyDestinyStatCategory,\n    NUMBER_2: 2 as DestinyDestinyStatCategory,\n    NUMBER_3: 3 as DestinyDestinyStatCategory\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyDestinyTalentNodeState = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n\nexport const DestinyDestinyTalentNodeState = {\n    NUMBER_0: 0 as DestinyDestinyTalentNodeState,\n    NUMBER_1: 1 as DestinyDestinyTalentNodeState,\n    NUMBER_2: 2 as DestinyDestinyTalentNodeState,\n    NUMBER_3: 3 as DestinyDestinyTalentNodeState,\n    NUMBER_4: 4 as DestinyDestinyTalentNodeState,\n    NUMBER_5: 5 as DestinyDestinyTalentNodeState,\n    NUMBER_6: 6 as DestinyDestinyTalentNodeState,\n    NUMBER_7: 7 as DestinyDestinyTalentNodeState,\n    NUMBER_8: 8 as DestinyDestinyTalentNodeState,\n    NUMBER_9: 9 as DestinyDestinyTalentNodeState,\n    NUMBER_10: 10 as DestinyDestinyTalentNodeState,\n    NUMBER_11: 11 as DestinyDestinyTalentNodeState,\n    NUMBER_12: 12 as DestinyDestinyTalentNodeState,\n    NUMBER_13: 13 as DestinyDestinyTalentNodeState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Indicates the status of an \\\"Unlock Flag\\\" on a Character or Profile.  These are individual bits of state that can be either set or not set, and sometimes provide interesting human-readable information in their related DestinyUnlockDefinition.\n */\nexport interface DestinyDestinyUnlockStatus { \n    /**\n     * The hash identifier for the Unlock Flag. Use to lookup DestinyUnlockDefinition for static data. Not all unlocks have human readable data - in fact, most don\\'t. But when they do, it can be very useful to show. Even if they don\\'t have human readable data, you might be able to infer the meaning of an unlock flag with a bit of experimentation...\n     */\n    unlockHash?: number;\n    /**\n     * Whether the unlock flag is set.\n     */\n    isSet?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If you\\'re showing an unlock value in the UI, this is the format in which it should be shown. You\\'ll have to build your own algorithms on the client side to determine how best to render these options.\n */\nexport type DestinyDestinyUnlockValueUIStyle = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14;\n\nexport const DestinyDestinyUnlockValueUIStyle = {\n    NUMBER_0: 0 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_1: 1 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_2: 2 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_3: 3 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_4: 4 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_5: 5 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_6: 6 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_7: 7 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_8: 8 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_9: 9 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_10: 10 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_11: 11 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_12: 12 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_13: 13 as DestinyDestinyUnlockValueUIStyle,\n    NUMBER_14: 14 as DestinyDestinyUnlockValueUIStyle\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Indicates the type of filter to apply to Vendor results.\n */\nexport type DestinyDestinyVendorFilter = 0 | 1;\n\nexport const DestinyDestinyVendorFilter = {\n    NUMBER_0: 0 as DestinyDestinyVendorFilter,\n    NUMBER_1: 1 as DestinyDestinyVendorFilter\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * When a Vendor Interaction provides rewards, they\\'ll either let you choose one or let you have all of them. This determines which it will be.\n */\nexport type DestinyDestinyVendorInteractionRewardSelection = 0 | 1 | 2;\n\nexport const DestinyDestinyVendorInteractionRewardSelection = {\n    NUMBER_0: 0 as DestinyDestinyVendorInteractionRewardSelection,\n    NUMBER_1: 1 as DestinyDestinyVendorInteractionRewardSelection,\n    NUMBER_2: 2 as DestinyDestinyVendorInteractionRewardSelection\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The action that happens when the user attempts to refund an item.\n */\nexport type DestinyDestinyVendorItemRefundPolicy = 0 | 1 | 2;\n\nexport const DestinyDestinyVendorItemRefundPolicy = {\n    NUMBER_0: 0 as DestinyDestinyVendorItemRefundPolicy,\n    NUMBER_1: 1 as DestinyDestinyVendorItemRefundPolicy,\n    NUMBER_2: 2 as DestinyDestinyVendorItemRefundPolicy\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The possible states of Destiny Profile Records. IMPORTANT: Any given item can theoretically have many of these states simultaneously: as a result, this was altered to be a flags enumeration/bitmask for v3.2.0.\n */\nexport type DestinyDestinyVendorItemState = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 65536 | 131072 | 262144 | 524288 | 1048576;\n\nexport const DestinyDestinyVendorItemState = {\n    NUMBER_0: 0 as DestinyDestinyVendorItemState,\n    NUMBER_1: 1 as DestinyDestinyVendorItemState,\n    NUMBER_2: 2 as DestinyDestinyVendorItemState,\n    NUMBER_4: 4 as DestinyDestinyVendorItemState,\n    NUMBER_8: 8 as DestinyDestinyVendorItemState,\n    NUMBER_16: 16 as DestinyDestinyVendorItemState,\n    NUMBER_32: 32 as DestinyDestinyVendorItemState,\n    NUMBER_64: 64 as DestinyDestinyVendorItemState,\n    NUMBER_128: 128 as DestinyDestinyVendorItemState,\n    NUMBER_256: 256 as DestinyDestinyVendorItemState,\n    NUMBER_512: 512 as DestinyDestinyVendorItemState,\n    NUMBER_1024: 1024 as DestinyDestinyVendorItemState,\n    NUMBER_2048: 2048 as DestinyDestinyVendorItemState,\n    NUMBER_4096: 4096 as DestinyDestinyVendorItemState,\n    NUMBER_8192: 8192 as DestinyDestinyVendorItemState,\n    NUMBER_16384: 16384 as DestinyDestinyVendorItemState,\n    NUMBER_32768: 32768 as DestinyDestinyVendorItemState,\n    NUMBER_65536: 65536 as DestinyDestinyVendorItemState,\n    NUMBER_131072: 131072 as DestinyDestinyVendorItemState,\n    NUMBER_262144: 262144 as DestinyDestinyVendorItemState,\n    NUMBER_524288: 524288 as DestinyDestinyVendorItemState,\n    NUMBER_1048576: 1048576 as DestinyDestinyVendorItemState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Describes the type of progression that a vendor has.\n */\nexport type DestinyDestinyVendorProgressionType = 0 | 1 | 2;\n\nexport const DestinyDestinyVendorProgressionType = {\n    NUMBER_0: 0 as DestinyDestinyVendorProgressionType,\n    NUMBER_1: 1 as DestinyDestinyVendorProgressionType,\n    NUMBER_2: 2 as DestinyDestinyVendorProgressionType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This determines the type of reply that a Vendor will have during an Interaction.\n */\nexport type DestinyDestinyVendorReplyType = 0 | 1 | 2;\n\nexport const DestinyDestinyVendorReplyType = {\n    NUMBER_0: 0 as DestinyDestinyVendorReplyType,\n    NUMBER_1: 1 as DestinyDestinyVendorReplyType,\n    NUMBER_2: 2 as DestinyDestinyVendorReplyType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyDyeReference { \n    channelHash?: number;\n    dyeHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyDestinyActivity } from './destinyDestinyActivity';\n\n\n/**\n * This component holds activity data for a character. It will tell you about the character\\'s current activity status, as well as activities that are available to the user.\n */\nexport interface DestinyEntitiesCharactersDestinyCharacterActivitiesComponent { \n    /**\n     * The last date that the user started playing an activity.\n     */\n    dateActivityStarted?: string;\n    /**\n     * The list of activities that the user can play.\n     */\n    availableActivities?: Array<DestinyDestinyActivity>;\n    /**\n     * If the user is in an activity, this will be the hash of the Activity being played. Note that you must combine this info with currentActivityModeHash to get a real picture of what the user is doing right now. For instance, PVP \\\"Activities\\\" are just maps: it\\'s the ActivityMode that determines what type of PVP game they\\'re playing.\n     */\n    currentActivityHash?: number;\n    /**\n     * If the user is in an activity, this will be the hash of the activity mode being played. Combine with currentActivityHash to give a person a full picture of what they\\'re doing right now.\n     */\n    currentActivityModeHash?: number;\n    /**\n     * And the current activity\\'s most specific mode type, if it can be found.\n     */\n    currentActivityModeType?: DestinyEntitiesCharactersDestinyCharacterActivitiesComponent.CurrentActivityModeTypeEnum;\n    /**\n     * If the user is in an activity, this will be the hashes of the DestinyActivityModeDefinition being played. Combine with currentActivityHash to give a person a full picture of what they\\'re doing right now.\n     */\n    currentActivityModeHashes?: Array<number>;\n    /**\n     * All Activity Modes that apply to the current activity being played, in enum form.\n     */\n    currentActivityModeTypes?: Array<number>;\n    /**\n     * If the user is in a playlist, this is the hash identifier for the playlist that they chose.\n     */\n    currentPlaylistActivityHash?: number;\n    /**\n     * This will have the activity hash of the last completed story/campaign mission, in case you care about that.\n     */\n    lastCompletedStoryHash?: number;\n}\nexport namespace DestinyEntitiesCharactersDestinyCharacterActivitiesComponent {\n    export type CurrentActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const CurrentActivityModeTypeEnum = {\n        NUMBER_0: 0 as CurrentActivityModeTypeEnum,\n        NUMBER_2: 2 as CurrentActivityModeTypeEnum,\n        NUMBER_3: 3 as CurrentActivityModeTypeEnum,\n        NUMBER_4: 4 as CurrentActivityModeTypeEnum,\n        NUMBER_5: 5 as CurrentActivityModeTypeEnum,\n        NUMBER_6: 6 as CurrentActivityModeTypeEnum,\n        NUMBER_7: 7 as CurrentActivityModeTypeEnum,\n        NUMBER_9: 9 as CurrentActivityModeTypeEnum,\n        NUMBER_10: 10 as CurrentActivityModeTypeEnum,\n        NUMBER_11: 11 as CurrentActivityModeTypeEnum,\n        NUMBER_12: 12 as CurrentActivityModeTypeEnum,\n        NUMBER_13: 13 as CurrentActivityModeTypeEnum,\n        NUMBER_15: 15 as CurrentActivityModeTypeEnum,\n        NUMBER_16: 16 as CurrentActivityModeTypeEnum,\n        NUMBER_17: 17 as CurrentActivityModeTypeEnum,\n        NUMBER_18: 18 as CurrentActivityModeTypeEnum,\n        NUMBER_19: 19 as CurrentActivityModeTypeEnum,\n        NUMBER_20: 20 as CurrentActivityModeTypeEnum,\n        NUMBER_21: 21 as CurrentActivityModeTypeEnum,\n        NUMBER_22: 22 as CurrentActivityModeTypeEnum,\n        NUMBER_24: 24 as CurrentActivityModeTypeEnum,\n        NUMBER_25: 25 as CurrentActivityModeTypeEnum,\n        NUMBER_26: 26 as CurrentActivityModeTypeEnum,\n        NUMBER_27: 27 as CurrentActivityModeTypeEnum,\n        NUMBER_28: 28 as CurrentActivityModeTypeEnum,\n        NUMBER_29: 29 as CurrentActivityModeTypeEnum,\n        NUMBER_30: 30 as CurrentActivityModeTypeEnum,\n        NUMBER_31: 31 as CurrentActivityModeTypeEnum,\n        NUMBER_32: 32 as CurrentActivityModeTypeEnum,\n        NUMBER_37: 37 as CurrentActivityModeTypeEnum,\n        NUMBER_38: 38 as CurrentActivityModeTypeEnum,\n        NUMBER_39: 39 as CurrentActivityModeTypeEnum,\n        NUMBER_40: 40 as CurrentActivityModeTypeEnum,\n        NUMBER_41: 41 as CurrentActivityModeTypeEnum,\n        NUMBER_42: 42 as CurrentActivityModeTypeEnum,\n        NUMBER_43: 43 as CurrentActivityModeTypeEnum,\n        NUMBER_44: 44 as CurrentActivityModeTypeEnum,\n        NUMBER_45: 45 as CurrentActivityModeTypeEnum,\n        NUMBER_46: 46 as CurrentActivityModeTypeEnum,\n        NUMBER_47: 47 as CurrentActivityModeTypeEnum,\n        NUMBER_48: 48 as CurrentActivityModeTypeEnum,\n        NUMBER_49: 49 as CurrentActivityModeTypeEnum,\n        NUMBER_50: 50 as CurrentActivityModeTypeEnum,\n        NUMBER_51: 51 as CurrentActivityModeTypeEnum,\n        NUMBER_52: 52 as CurrentActivityModeTypeEnum,\n        NUMBER_53: 53 as CurrentActivityModeTypeEnum,\n        NUMBER_54: 54 as CurrentActivityModeTypeEnum,\n        NUMBER_55: 55 as CurrentActivityModeTypeEnum,\n        NUMBER_56: 56 as CurrentActivityModeTypeEnum,\n        NUMBER_57: 57 as CurrentActivityModeTypeEnum,\n        NUMBER_58: 58 as CurrentActivityModeTypeEnum,\n        NUMBER_59: 59 as CurrentActivityModeTypeEnum,\n        NUMBER_60: 60 as CurrentActivityModeTypeEnum,\n        NUMBER_61: 61 as CurrentActivityModeTypeEnum,\n        NUMBER_62: 62 as CurrentActivityModeTypeEnum,\n        NUMBER_63: 63 as CurrentActivityModeTypeEnum,\n        NUMBER_64: 64 as CurrentActivityModeTypeEnum,\n        NUMBER_65: 65 as CurrentActivityModeTypeEnum,\n        NUMBER_66: 66 as CurrentActivityModeTypeEnum,\n        NUMBER_67: 67 as CurrentActivityModeTypeEnum,\n        NUMBER_68: 68 as CurrentActivityModeTypeEnum,\n        NUMBER_69: 69 as CurrentActivityModeTypeEnum,\n        NUMBER_70: 70 as CurrentActivityModeTypeEnum,\n        NUMBER_71: 71 as CurrentActivityModeTypeEnum,\n        NUMBER_72: 72 as CurrentActivityModeTypeEnum,\n        NUMBER_73: 73 as CurrentActivityModeTypeEnum,\n        NUMBER_74: 74 as CurrentActivityModeTypeEnum,\n        NUMBER_75: 75 as CurrentActivityModeTypeEnum,\n        NUMBER_76: 76 as CurrentActivityModeTypeEnum,\n        NUMBER_77: 77 as CurrentActivityModeTypeEnum,\n        NUMBER_78: 78 as CurrentActivityModeTypeEnum,\n        NUMBER_79: 79 as CurrentActivityModeTypeEnum,\n        NUMBER_80: 80 as CurrentActivityModeTypeEnum,\n        NUMBER_81: 81 as CurrentActivityModeTypeEnum,\n        NUMBER_82: 82 as CurrentActivityModeTypeEnum,\n        NUMBER_83: 83 as CurrentActivityModeTypeEnum,\n        NUMBER_84: 84 as CurrentActivityModeTypeEnum,\n        NUMBER_85: 85 as CurrentActivityModeTypeEnum,\n        NUMBER_86: 86 as CurrentActivityModeTypeEnum,\n        NUMBER_87: 87 as CurrentActivityModeTypeEnum,\n        NUMBER_88: 88 as CurrentActivityModeTypeEnum,\n        NUMBER_89: 89 as CurrentActivityModeTypeEnum,\n        NUMBER_90: 90 as CurrentActivityModeTypeEnum,\n        NUMBER_91: 91 as CurrentActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyEntitiesItemsDestinyItemInstanceComponentPrimaryStat } from './destinyEntitiesItemsDestinyItemInstanceComponentPrimaryStat';\nimport { DestinyEntitiesItemsDestinyItemInstanceComponentEnergy } from './destinyEntitiesItemsDestinyItemInstanceComponentEnergy';\n\n\n/**\n * If an item is \\\"instanced\\\", this will contain information about the item\\'s instance that doesn\\'t fit easily into other components. One might say this is the \\\"essential\\\" instance data for the item.  Items are instanced if they require information or state that can vary. For instance, weapons are Instanced: they are given a unique identifier, uniquely generated stats, and can have their properties altered. Non-instanced items have none of these things: for instance, Glimmer has no unique properties aside from how much of it you own.  You can tell from an item\\'s definition whether it will be instanced or not by looking at the DestinyInventoryItemDefinition\\'s definition.inventory.isInstanceItem property.\n */\nexport interface DestinyEntitiesItemsDestinyItemInstanceComponent { \n    /**\n     * If the item has a damage type, this is the item\\'s current damage type.\n     */\n    damageType?: number;\n    /**\n     * The current damage type\\'s hash, so you can look up localized info and icons for it.\n     */\n    damageTypeHash?: number;\n    primaryStat?: DestinyEntitiesItemsDestinyItemInstanceComponentPrimaryStat;\n    /**\n     * The Item\\'s \\\"Level\\\" has the most significant bearing on its stats, such as Light and Power.\n     */\n    itemLevel?: number;\n    /**\n     * The \\\"Quality\\\" of the item has a lesser - but still impactful - bearing on stats like Light and Power.\n     */\n    quality?: number;\n    /**\n     * Is the item currently equipped on the given character?\n     */\n    isEquipped?: boolean;\n    /**\n     * If this is an equippable item, you can check it here. There are permanent as well as transitory reasons why an item might not be able to be equipped: check cannotEquipReason for details.\n     */\n    canEquip?: boolean;\n    /**\n     * If the item cannot be equipped until you reach a certain level, that level will be reflected here.\n     */\n    equipRequiredLevel?: number;\n    /**\n     * Sometimes, there are limitations to equipping that are represented by character-level flags called \\\"unlocks\\\".  This is a list of flags that they need in order to equip the item that the character has not met. Use these to look up the descriptions to show in your UI by looking up the relevant DestinyUnlockDefinitions for the hashes.\n     */\n    unlockHashesRequiredToEquip?: Array<number>;\n    /**\n     * If you cannot equip the item, this is a flags enum that enumerates all of the reasons why you couldn\\'t equip the item. You may need to refine your UI further by using unlockHashesRequiredToEquip and equipRequiredLevel.\n     */\n    cannotEquipReason?: number;\n    /**\n     * If populated, this item has a breaker type corresponding to the given value. See DestinyBreakerTypeDefinition for more details.\n     */\n    breakerType?: DestinyEntitiesItemsDestinyItemInstanceComponent.BreakerTypeEnum;\n    /**\n     * If populated, this is the hash identifier for the item\\'s breaker type. See DestinyBreakerTypeDefinition for more details.\n     */\n    breakerTypeHash?: number;\n    energy?: DestinyEntitiesItemsDestinyItemInstanceComponentEnergy;\n}\nexport namespace DestinyEntitiesItemsDestinyItemInstanceComponent {\n    export type BreakerTypeEnum = 0 | 1 | 2 | 3;\n    export const BreakerTypeEnum = {\n        NUMBER_0: 0 as BreakerTypeEnum,\n        NUMBER_1: 1 as BreakerTypeEnum,\n        NUMBER_2: 2 as BreakerTypeEnum,\n        NUMBER_3: 3 as BreakerTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyEntitiesItemsDestinyItemInstanceEnergy { \n    /**\n     * The type of energy for this item. Plugs that require Energy can only be inserted if they have the \\\"Any\\\" Energy Type or the matching energy type of this item. This is a reference to the DestinyEnergyTypeDefinition for the energy type, where you can find extended info about it.\n     */\n    energyTypeHash?: number;\n    /**\n     * This is the enum version of the Energy Type value, for convenience.\n     */\n    energyType?: number;\n    /**\n     * The total capacity of Energy that the item currently has, regardless of if it is currently being used.\n     */\n    energyCapacity?: number;\n    /**\n     * The amount of Energy currently in use by inserted plugs.\n     */\n    energyUsed?: number;\n    /**\n     * The amount of energy still available for inserting new plugs.\n     */\n    energyUnused?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Many items can be rendered in 3D. When you request this block, you will obtain the custom data needed to render this specific instance of the item.\n */\nexport interface DestinyEntitiesItemsDestinyItemRenderComponent { \n    /**\n     * If you should use custom dyes on this item, it will be indicated here.\n     */\n    useCustomDyes?: boolean;\n    /**\n     * A dictionary for rendering gear components, with:  key = Art Arrangement Region Index  value = The chosen Arrangement Index for the Region, based on the value of a stat on the item used for making the choice.\n     */\n    artRegions?: { [key: string]: number; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The status of a given item\\'s socket. (which plug is inserted, if any: whether it is enabled, what \\\"reusable\\\" plugs can be inserted, etc...)  If I had it to do over, this would probably have a DestinyItemPlug representing the inserted item instead of most of these properties. :shrug:\n */\nexport interface DestinyEntitiesItemsDestinyItemSocketState { \n    /**\n     * The currently active plug, if any.  Note that, because all plugs are statically defined, its effect on stats and perks can be statically determined using the plug item\\'s definition. The stats and perks can be taken at face value on the plug item as the stats and perks it will provide to the user/item.\n     */\n    plugHash?: number;\n    /**\n     * Even if a plug is inserted, it doesn\\'t mean it\\'s enabled.  This flag indicates whether the plug is active and providing its benefits.\n     */\n    isEnabled?: boolean;\n    /**\n     * A plug may theoretically provide benefits but not be visible - for instance, some older items use a plug\\'s damage type perk to modify their own damage type. These, though they are not visible, still affect the item. This field indicates that state.  An invisible plug, while it provides benefits if it is Enabled, cannot be directly modified by the user.\n     */\n    isVisible?: boolean;\n    /**\n     * If a plug is inserted but not enabled, this will be populated with indexes into the plug item definition\\'s plug.enabledRules property, so that you can show the reasons why it is not enabled.\n     */\n    enableFailIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Information about the category and items currently sold in that category.\n */\nexport interface DestinyEntitiesVendorsDestinyVendorCategory { \n    /**\n     * An index into the DestinyVendorDefinition.displayCategories property, so you can grab the display data for this category.\n     */\n    displayCategoryIndex?: number;\n    /**\n     * An ordered list of indexes into items being sold in this category (DestinyVendorDefinition.itemList) which will contain more information about the items being sold themselves. Can also be used to index into DestinyVendorSaleItemComponent data, if you asked for that data to be returned.\n     */\n    itemIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The reasons why an item cannot be equipped, if any. Many flags can be set, or \\\"None\\\" if\n */\nexport type DestinyEquipFailureReason = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128;\n\nexport const DestinyEquipFailureReason = {\n    NUMBER_0: 0 as DestinyEquipFailureReason,\n    NUMBER_1: 1 as DestinyEquipFailureReason,\n    NUMBER_2: 2 as DestinyEquipFailureReason,\n    NUMBER_4: 4 as DestinyEquipFailureReason,\n    NUMBER_8: 8 as DestinyEquipFailureReason,\n    NUMBER_16: 16 as DestinyEquipFailureReason,\n    NUMBER_32: 32 as DestinyEquipFailureReason,\n    NUMBER_64: 64 as DestinyEquipFailureReason,\n    NUMBER_128: 128 as DestinyEquipFailureReason\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyEquippingItemBlockAttributes = 0 | 1;\n\nexport const DestinyEquippingItemBlockAttributes = {\n    NUMBER_0: 0 as DestinyEquippingItemBlockAttributes,\n    NUMBER_1: 1 as DestinyEquippingItemBlockAttributes\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * For historical reasons, this list will have both D1 and D2-relevant Activity Modes in it. Please don\\'t take this to mean that some D1-only feature is coming back!\n */\nexport type DestinyHistoricalStatsDefinitionsDestinyActivityModeType = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n\nexport const DestinyHistoricalStatsDefinitionsDestinyActivityModeType = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_3: 3 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_4: 4 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_5: 5 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_6: 6 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_7: 7 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_9: 9 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_10: 10 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_11: 11 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_12: 12 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_13: 13 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_15: 15 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_16: 16 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_17: 17 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_18: 18 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_19: 19 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_20: 20 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_21: 21 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_22: 22 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_24: 24 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_25: 25 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_26: 26 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_27: 27 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_28: 28 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_29: 29 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_30: 30 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_31: 31 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_32: 32 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_37: 37 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_38: 38 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_39: 39 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_40: 40 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_41: 41 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_42: 42 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_43: 43 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_44: 44 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_45: 45 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_46: 46 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_47: 47 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_48: 48 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_49: 49 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_50: 50 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_51: 51 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_52: 52 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_53: 53 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_54: 54 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_55: 55 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_56: 56 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_57: 57 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_58: 58 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_59: 59 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_60: 60 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_61: 61 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_62: 62 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_63: 63 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_64: 64 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_65: 65 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_66: 66 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_67: 67 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_68: 68 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_69: 69 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_70: 70 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_71: 71 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_72: 72 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_73: 73 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_74: 74 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_75: 75 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_76: 76 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_77: 77 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_78: 78 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_79: 79 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_80: 80 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_81: 81 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_82: 82 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_83: 83 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_84: 84 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_85: 85 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_86: 86 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_87: 87 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_88: 88 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_89: 89 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_90: 90 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType,\n    NUMBER_91: 91 as DestinyHistoricalStatsDefinitionsDestinyActivityModeType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyHistoricalStatsDefinitionsDestinyHistoricalStatsDefinition { \n    /**\n     * Unique programmer friendly ID for this stat\n     */\n    statId?: string;\n    /**\n     * Statistic group\n     */\n    group?: number;\n    /**\n     * Time periods the statistic covers\n     */\n    periodTypes?: Array<number>;\n    /**\n     * Game modes where this statistic can be reported.\n     */\n    modes?: Array<number>;\n    /**\n     * Category for the stat.\n     */\n    category?: number;\n    /**\n     * Display name\n     */\n    statName?: string;\n    /**\n     * Display name abbreviated\n     */\n    statNameAbbr?: string;\n    /**\n     * Description of a stat if applicable.\n     */\n    statDescription?: string;\n    /**\n     * Unit, if any, for the statistic\n     */\n    unitType?: number;\n    /**\n     * Optional URI to an icon for the statistic\n     */\n    iconImage?: string;\n    /**\n     * Optional icon for the statistic\n     */\n    mergeMethod?: DestinyHistoricalStatsDefinitionsDestinyHistoricalStatsDefinition.MergeMethodEnum;\n    /**\n     * Localized Unit Name for the stat.\n     */\n    unitLabel?: string;\n    /**\n     * Weight assigned to this stat indicating its relative impressiveness.\n     */\n    weight?: number;\n    /**\n     * The tier associated with this medal - be it implicitly or explicitly.\n     */\n    medalTierHash?: number;\n}\nexport namespace DestinyHistoricalStatsDefinitionsDestinyHistoricalStatsDefinition {\n    export type MergeMethodEnum = 0 | 1 | 2;\n    export const MergeMethodEnum = {\n        NUMBER_0: 0 as MergeMethodEnum,\n        NUMBER_1: 1 as MergeMethodEnum,\n        NUMBER_2: 2 as MergeMethodEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;\n\nexport const DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_1: 1 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_3: 3 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_4: 4 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_5: 5 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_6: 6 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_7: 7 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_8: 8 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_9: 9 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_10: 10 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_11: 11 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_12: 12 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_13: 13 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_14: 14 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType,\n    NUMBER_15: 15 as DestinyHistoricalStatsDefinitionsDestinyStatsCategoryType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the enum value is > 100, it is a \\\"special\\\" group that cannot be queried for directly (special cases apply to when they are returned, and are not relevant in general cases)\n */\nexport type DestinyHistoricalStatsDefinitionsDestinyStatsGroupType = 0 | 1 | 2 | 3 | 100 | 101 | 102 | 103 | 104;\n\nexport const DestinyHistoricalStatsDefinitionsDestinyStatsGroupType = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_1: 1 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_3: 3 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_100: 100 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_101: 101 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_102: 102 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_103: 103 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType,\n    NUMBER_104: 104 as DestinyHistoricalStatsDefinitionsDestinyStatsGroupType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyHistoricalStatsDefinitionsDestinyStatsMergeMethod = 0 | 1 | 2;\n\nexport const DestinyHistoricalStatsDefinitionsDestinyStatsMergeMethod = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsDestinyStatsMergeMethod,\n    NUMBER_1: 1 as DestinyHistoricalStatsDefinitionsDestinyStatsMergeMethod,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsDestinyStatsMergeMethod\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyHistoricalStatsDefinitionsPeriodType = 0 | 1 | 2 | 3;\n\nexport const DestinyHistoricalStatsDefinitionsPeriodType = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsPeriodType,\n    NUMBER_1: 1 as DestinyHistoricalStatsDefinitionsPeriodType,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsPeriodType,\n    NUMBER_3: 3 as DestinyHistoricalStatsDefinitionsPeriodType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyHistoricalStatsDefinitionsUnitType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13;\n\nexport const DestinyHistoricalStatsDefinitionsUnitType = {\n    NUMBER_0: 0 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_1: 1 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_2: 2 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_3: 3 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_4: 4 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_5: 5 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_6: 6 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_7: 7 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_8: 8 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_9: 9 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_10: 10 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_11: 11 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_12: 12 as DestinyHistoricalStatsDefinitionsUnitType,\n    NUMBER_13: 13 as DestinyHistoricalStatsDefinitionsUnitType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Summary information about the activity that was played.\n */\nexport interface DestinyHistoricalStatsDestinyHistoricalStatsActivity { \n    /**\n     * The unique hash identifier of the DestinyActivityDefinition that was played. If I had this to do over, it\\'d be named activityHash. Too late now.\n     */\n    referenceId?: number;\n    /**\n     * The unique hash identifier of the DestinyActivityDefinition that was played.\n     */\n    directorActivityHash?: number;\n    /**\n     * The unique identifier for this *specific* match that was played.  This value can be used to get additional data about this activity such as who else was playing via the GetPostGameCarnageReport endpoint.\n     */\n    instanceId?: number;\n    /**\n     * Indicates the most specific game mode of the activity that we could find.\n     */\n    mode?: number;\n    /**\n     * The list of all Activity Modes to which this activity applies, including aggregates. This will let you see, for example, whether the activity was both Clash and part of the Trials of the Nine event.\n     */\n    modes?: Array<number>;\n    /**\n     * Whether or not the match was a private match.\n     */\n    isPrivate?: boolean;\n    /**\n     * The Membership Type indicating the platform on which this match was played.\n     */\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyHistoricalStatsDestinyHistoricalStatsValuePair { \n    /**\n     * Raw value of the statistic\n     */\n    value?: number;\n    /**\n     * Localized formated version of the value.\n     */\n    displayValue?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyItemBindStatus = 0 | 1 | 2 | 3;\n\nexport const DestinyItemBindStatus = {\n    NUMBER_0: 0 as DestinyItemBindStatus,\n    NUMBER_1: 1 as DestinyItemBindStatus,\n    NUMBER_2: 2 as DestinyItemBindStatus,\n    NUMBER_3: 3 as DestinyItemBindStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyItemLocation = 0 | 1 | 2 | 3 | 4;\n\nexport const DestinyItemLocation = {\n    NUMBER_0: 0 as DestinyItemLocation,\n    NUMBER_1: 1 as DestinyItemLocation,\n    NUMBER_2: 2 as DestinyItemLocation,\n    NUMBER_3: 3 as DestinyItemLocation,\n    NUMBER_4: 4 as DestinyItemLocation\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Indicates how a perk should be shown, or if it should be, in the game UI. Maybe useful for those of you trying to filter out internal-use-only perks (or for those of you trying to figure out what they do!)\n */\nexport type DestinyItemPerkVisibility = 0 | 1 | 2;\n\nexport const DestinyItemPerkVisibility = {\n    NUMBER_0: 0 as DestinyItemPerkVisibility,\n    NUMBER_1: 1 as DestinyItemPerkVisibility,\n    NUMBER_2: 2 as DestinyItemPerkVisibility\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A flags enumeration/bitmask where each bit represents a different possible state that the item can be in that may effect how the item is displayed to the user and what actions can be performed against it.\n */\nexport type DestinyItemState = 0 | 1 | 2 | 4 | 8 | 16;\n\nexport const DestinyItemState = {\n    NUMBER_0: 0 as DestinyItemState,\n    NUMBER_1: 1 as DestinyItemState,\n    NUMBER_2: 2 as DestinyItemState,\n    NUMBER_4: 4 as DestinyItemState,\n    NUMBER_8: 8 as DestinyItemState,\n    NUMBER_16: 16 as DestinyItemState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyMilestonesDestinyMilestoneActivityVariant } from './destinyMilestonesDestinyMilestoneActivityVariant';\n\n\n/**\n * Sometimes, we know the specific activity that the Milestone wants you to play. This entity provides additional information about that Activity and all of its variants. (sometimes there\\'s only one variant, but I think you get the point)\n */\nexport interface DestinyMilestonesDestinyMilestoneActivity { \n    /**\n     * The hash of an arbitrarily chosen variant of this activity. We\\'ll go ahead and call that the \\\"canonical\\\" activity, because if you\\'re using this value you should only use it for properties that are common across the variants: things like the name of the activity, it\\'s location, etc... Use this hash to look up the DestinyActivityDefinition of this activity for rendering data.\n     */\n    activityHash?: number;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyMilestoneActivity.ActivityModeTypeEnum;\n    /**\n     * If the activity has modifiers, this will be the list of modifiers that all variants have in common. Perform lookups against DestinyActivityModifierDefinition which defines the modifier being applied to get at the modifier data. Note that, in the DestiyActivityDefinition, you will see many more modifiers than this being referred to: those are all *possible* modifiers for the activity, not the active ones. Use only the active ones to match what\\'s really live.\n     */\n    modifierHashes?: Array<number>;\n    /**\n     * If you want more than just name/location/etc... you\\'re going to have to dig into and show the variants of the conceptual activity. These will differ in seemingly arbitrary ways, like difficulty level and modifiers applied. Show it in whatever way tickles your fancy.\n     */\n    variants?: Array<DestinyMilestonesDestinyMilestoneActivityVariant>;\n}\nexport namespace DestinyMilestonesDestinyMilestoneActivity {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents whatever information we can return about an explicit phase in an activity. In the future, I hope we\\'ll have more than just \\\"guh, you done gone and did something,\\\" but for the forseeable future that\\'s all we\\'ve got. I\\'m making it more than just a list of booleans out of that overly-optimistic hope.\n */\nexport interface DestinyMilestonesDestinyMilestoneActivityPhase { \n    /**\n     * Indicates if the phase has been completed.\n     */\n    complete?: boolean;\n    /**\n     * In DestinyActivityDefinition, if the activity has phases, there will be a set of phases defined in the \\\"insertionPoints\\\" property. This is the hash that maps to that phase.\n     */\n    phaseHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyMilestonesDestinyMilestoneActivityVariantCompletionStatus } from './destinyMilestonesDestinyMilestoneActivityVariantCompletionStatus';\n\n\n/**\n * Represents custom data that we know about an individual variant of an activity.\n */\nexport interface DestinyMilestonesDestinyMilestoneActivityVariant { \n    /**\n     * The hash for the specific variant of the activity related to this milestone. You can pull more detailed static info from the DestinyActivityDefinition, such as difficulty level.\n     */\n    activityHash?: number;\n    completionStatus?: DestinyMilestonesDestinyMilestoneActivityVariantCompletionStatus;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyMilestoneActivityVariant.ActivityModeTypeEnum;\n}\nexport namespace DestinyMilestonesDestinyMilestoneActivityVariant {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Part of our dynamic, localized Milestone content is arbitrary categories of items. These are built in our content management system, and thus aren\\'t the same as programmatically generated rewards.\n */\nexport interface DestinyMilestonesDestinyMilestoneContentItemCategory { \n    title?: string;\n    itemHashes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyMilestonesDestinyMilestoneActivity } from './destinyMilestonesDestinyMilestoneActivity';\nimport { DestinyMilestonesDestinyMilestoneActivityVariant } from './destinyMilestonesDestinyMilestoneActivityVariant';\n\n\n/**\n * *IF* the Milestone has an active Activity that can give you greater details about what you need to do, it will be returned here. Remember to associate this with the DestinyMilestoneDefinition\\'s activities to get details about the activity, including what specific quest it is related to if you have multiple quests to choose from.\n */\nexport interface DestinyMilestonesDestinyMilestoneQuestActivity { \n    /**\n     * The hash of an arbitrarily chosen variant of this activity. We\\'ll go ahead and call that the \\\"canonical\\\" activity, because if you\\'re using this value you should only use it for properties that are common across the variants: things like the name of the activity, it\\'s location, etc... Use this hash to look up the DestinyActivityDefinition of this activity for rendering data.\n     */\n    activityHash?: number;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyMilestoneQuestActivity.ActivityModeTypeEnum;\n    /**\n     * If the activity has modifiers, this will be the list of modifiers that all variants have in common. Perform lookups against DestinyActivityModifierDefinition which defines the modifier being applied to get at the modifier data. Note that, in the DestiyActivityDefinition, you will see many more modifiers than this being referred to: those are all *possible* modifiers for the activity, not the active ones. Use only the active ones to match what\\'s really live.\n     */\n    modifierHashes?: Array<number>;\n    /**\n     * If you want more than just name/location/etc... you\\'re going to have to dig into and show the variants of the conceptual activity. These will differ in seemingly arbitrary ways, like difficulty level and modifiers applied. Show it in whatever way tickles your fancy.\n     */\n    variants?: Array<DestinyMilestonesDestinyMilestoneActivityVariant>;\n}\nexport namespace DestinyMilestonesDestinyMilestoneQuestActivity {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The character-specific data for a milestone\\'s reward entry. See DestinyMilestoneDefinition for more information about Reward Entries.\n */\nexport interface DestinyMilestonesDestinyMilestoneRewardEntry { \n    /**\n     * The identifier for the reward entry in question. It is important to look up the related DestinyMilestoneRewardEntryDefinition to get the static details about the reward, which you can do by looking up the milestone\\'s DestinyMilestoneDefinition and examining the DestinyMilestoneDefinition.rewards[rewardCategoryHash].rewardEntries[rewardEntryHash] data.\n     */\n    rewardEntryHash?: number;\n    /**\n     * If TRUE, the player has earned this reward.\n     */\n    earned?: boolean;\n    /**\n     * If TRUE, the player has redeemed/picked up/obtained this reward. Feel free to alias this to \\\"gotTheShinyBauble\\\" in your own codebase.\n     */\n    redeemed?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If a Milestone has one or more Vendors that are relevant to it, this will contain information about that vendor that you can choose to show.\n */\nexport interface DestinyMilestonesDestinyMilestoneVendor { \n    /**\n     * The hash identifier of the Vendor related to this Milestone. You can show useful things from this, such as thier Faction icon or whatever you might care about.\n     */\n    vendorHash?: number;\n    /**\n     * If this vendor is featuring a specific item for this event, this will be the hash identifier of that item. I\\'m taking bets now on how long we go before this needs to be a list or some other, more complex representation instead and I deprecate this too. I\\'m going to go with 5 months. Calling it now, 2017-09-14 at 9:46pm PST.\n     */\n    previewItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyMilestonesDestinyPublicMilestoneActivityVariant } from './destinyMilestonesDestinyPublicMilestoneActivityVariant';\n\n\n/**\n * A milestone may have one or more conceptual Activities associated with it, and each of those conceptual activities could have a variety of variants, modes, tiers, what-have-you. Our attempts to determine what qualifies as a conceptual activity are, unfortunately, janky. So if you see missing modes or modes that don\\'t seem appropriate to you, let us know and I\\'ll buy you a beer if we ever meet up in person.\n */\nexport interface DestinyMilestonesDestinyPublicMilestoneActivity { \n    /**\n     * The hash identifier of the activity that\\'s been chosen to be considered the canonical \\\"conceptual\\\" activity definition. This may have many variants, defined herein.\n     */\n    activityHash?: number;\n    /**\n     * The activity may have 0-to-many modifiers: if it does, this will contain the hashes to the DestinyActivityModifierDefinition that defines the modifier being applied.\n     */\n    modifierHashes?: Array<number>;\n    /**\n     * Every relevant variation of this conceptual activity, including the conceptual activity itself, have variants defined here.\n     */\n    variants?: Array<DestinyMilestonesDestinyPublicMilestoneActivityVariant>;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyPublicMilestoneActivity.ActivityModeTypeEnum;\n}\nexport namespace DestinyMilestonesDestinyPublicMilestoneActivity {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a variant of an activity that\\'s relevant to a milestone.\n */\nexport interface DestinyMilestonesDestinyPublicMilestoneActivityVariant { \n    /**\n     * The hash identifier of this activity variant. Examine the activity\\'s definition in the Manifest database to determine what makes it a distinct variant. Usually it will be difficulty level or whether or not it is a guided game variant of the activity, but theoretically it could be distinguished in any arbitrary way.\n     */\n    activityHash?: number;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyPublicMilestoneActivityVariant.ActivityModeTypeEnum;\n}\nexport namespace DestinyMilestonesDestinyPublicMilestoneActivityVariant {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * A Milestone can have many Challenges. Challenges are just extra Objectives that provide a fun way to mix-up play and provide extra rewards.\n */\nexport interface DestinyMilestonesDestinyPublicMilestoneChallenge { \n    /**\n     * The objective for the Challenge, which should have human-readable data about what needs to be done to accomplish the objective. Use this hash to look up the DestinyObjectiveDefinition.\n     */\n    objectiveHash?: number;\n    /**\n     * IF the Objective is related to a specific Activity, this will be that activity\\'s hash. Use it to look up the DestinyActivityDefinition for additional data to show.\n     */\n    activityHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyMilestonesDestinyPublicMilestoneChallengeActivity { \n    activityHash?: number;\n    challengeObjectiveHashes?: Array<number>;\n    /**\n     * If the activity has modifiers, this will be the list of modifiers that all variants have in common. Perform lookups against DestinyActivityModifierDefinition which defines the modifier being applied to get at the modifier data.  Note that, in the DestiyActivityDefinition, you will see many more modifiers than this being referred to: those are all *possible* modifiers for the activity, not the active ones. Use only the active ones to match what\\'s really live.\n     */\n    modifierHashes?: Array<number>;\n    /**\n     * If returned, this is the index into the DestinyActivityDefinition\\'s \\\"loadouts\\\" property, indicating the currently active loadout requirements.\n     */\n    loadoutRequirementIndex?: number;\n    /**\n     * The ordered list of phases for this activity, if any. Note that we have no human readable info for phases, nor any entities to relate them to: relating these hashes to something human readable is up to you unfortunately.\n     */\n    phaseHashes?: Array<number>;\n    /**\n     * The set of activity options for this activity, keyed by an identifier that\\'s unique for this activity (not guaranteed to be unique between or across all activities, though should be unique for every *variant* of a given *conceptual* activity: for instance, the original D2 Raid has many variant DestinyActivityDefinitions. While other activities could potentially have the same option hashes, for any given D2 base Raid variant the hash will be unique).  As a concrete example of this data, the hashes you get for Raids will correspond to the currently active \\\"Challenge Mode\\\".  We have no human readable information for this data, so it\\'s up to you if you want to associate it with such info to show it.\n     */\n    booleanActivityOptions?: { [key: string]: boolean; };\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyMilestonesDestinyPublicMilestoneActivity } from './destinyMilestonesDestinyPublicMilestoneActivity';\nimport { DestinyMilestonesDestinyPublicMilestoneActivityVariant } from './destinyMilestonesDestinyPublicMilestoneActivityVariant';\n\n\n/**\n * A milestone need not have an active activity, but if there is one it will be returned here, along with any variant and additional information.\n */\nexport interface DestinyMilestonesDestinyPublicMilestoneQuestActivity { \n    /**\n     * The hash identifier of the activity that\\'s been chosen to be considered the canonical \\\"conceptual\\\" activity definition. This may have many variants, defined herein.\n     */\n    activityHash?: number;\n    /**\n     * The activity may have 0-to-many modifiers: if it does, this will contain the hashes to the DestinyActivityModifierDefinition that defines the modifier being applied.\n     */\n    modifierHashes?: Array<number>;\n    /**\n     * Every relevant variation of this conceptual activity, including the conceptual activity itself, have variants defined here.\n     */\n    variants?: Array<DestinyMilestonesDestinyPublicMilestoneActivityVariant>;\n    /**\n     * The hash identifier of the most specific Activity Mode under which this activity is played. This is useful for situations where the activity in question is - for instance - a PVP map, but it\\'s not clear what mode the PVP map is being played under. If it\\'s a playlist, this will be less specific: but hopefully useful in some way.\n     */\n    activityModeHash?: number;\n    /**\n     * The enumeration equivalent of the most specific Activity Mode under which this activity is played.\n     */\n    activityModeType?: DestinyMilestonesDestinyPublicMilestoneQuestActivity.ActivityModeTypeEnum;\n}\nexport namespace DestinyMilestonesDestinyPublicMilestoneQuestActivity {\n    export type ActivityModeTypeEnum = 0 | 2 | 3 | 4 | 5 | 6 | 7 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 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;\n    export const ActivityModeTypeEnum = {\n        NUMBER_0: 0 as ActivityModeTypeEnum,\n        NUMBER_2: 2 as ActivityModeTypeEnum,\n        NUMBER_3: 3 as ActivityModeTypeEnum,\n        NUMBER_4: 4 as ActivityModeTypeEnum,\n        NUMBER_5: 5 as ActivityModeTypeEnum,\n        NUMBER_6: 6 as ActivityModeTypeEnum,\n        NUMBER_7: 7 as ActivityModeTypeEnum,\n        NUMBER_9: 9 as ActivityModeTypeEnum,\n        NUMBER_10: 10 as ActivityModeTypeEnum,\n        NUMBER_11: 11 as ActivityModeTypeEnum,\n        NUMBER_12: 12 as ActivityModeTypeEnum,\n        NUMBER_13: 13 as ActivityModeTypeEnum,\n        NUMBER_15: 15 as ActivityModeTypeEnum,\n        NUMBER_16: 16 as ActivityModeTypeEnum,\n        NUMBER_17: 17 as ActivityModeTypeEnum,\n        NUMBER_18: 18 as ActivityModeTypeEnum,\n        NUMBER_19: 19 as ActivityModeTypeEnum,\n        NUMBER_20: 20 as ActivityModeTypeEnum,\n        NUMBER_21: 21 as ActivityModeTypeEnum,\n        NUMBER_22: 22 as ActivityModeTypeEnum,\n        NUMBER_24: 24 as ActivityModeTypeEnum,\n        NUMBER_25: 25 as ActivityModeTypeEnum,\n        NUMBER_26: 26 as ActivityModeTypeEnum,\n        NUMBER_27: 27 as ActivityModeTypeEnum,\n        NUMBER_28: 28 as ActivityModeTypeEnum,\n        NUMBER_29: 29 as ActivityModeTypeEnum,\n        NUMBER_30: 30 as ActivityModeTypeEnum,\n        NUMBER_31: 31 as ActivityModeTypeEnum,\n        NUMBER_32: 32 as ActivityModeTypeEnum,\n        NUMBER_37: 37 as ActivityModeTypeEnum,\n        NUMBER_38: 38 as ActivityModeTypeEnum,\n        NUMBER_39: 39 as ActivityModeTypeEnum,\n        NUMBER_40: 40 as ActivityModeTypeEnum,\n        NUMBER_41: 41 as ActivityModeTypeEnum,\n        NUMBER_42: 42 as ActivityModeTypeEnum,\n        NUMBER_43: 43 as ActivityModeTypeEnum,\n        NUMBER_44: 44 as ActivityModeTypeEnum,\n        NUMBER_45: 45 as ActivityModeTypeEnum,\n        NUMBER_46: 46 as ActivityModeTypeEnum,\n        NUMBER_47: 47 as ActivityModeTypeEnum,\n        NUMBER_48: 48 as ActivityModeTypeEnum,\n        NUMBER_49: 49 as ActivityModeTypeEnum,\n        NUMBER_50: 50 as ActivityModeTypeEnum,\n        NUMBER_51: 51 as ActivityModeTypeEnum,\n        NUMBER_52: 52 as ActivityModeTypeEnum,\n        NUMBER_53: 53 as ActivityModeTypeEnum,\n        NUMBER_54: 54 as ActivityModeTypeEnum,\n        NUMBER_55: 55 as ActivityModeTypeEnum,\n        NUMBER_56: 56 as ActivityModeTypeEnum,\n        NUMBER_57: 57 as ActivityModeTypeEnum,\n        NUMBER_58: 58 as ActivityModeTypeEnum,\n        NUMBER_59: 59 as ActivityModeTypeEnum,\n        NUMBER_60: 60 as ActivityModeTypeEnum,\n        NUMBER_61: 61 as ActivityModeTypeEnum,\n        NUMBER_62: 62 as ActivityModeTypeEnum,\n        NUMBER_63: 63 as ActivityModeTypeEnum,\n        NUMBER_64: 64 as ActivityModeTypeEnum,\n        NUMBER_65: 65 as ActivityModeTypeEnum,\n        NUMBER_66: 66 as ActivityModeTypeEnum,\n        NUMBER_67: 67 as ActivityModeTypeEnum,\n        NUMBER_68: 68 as ActivityModeTypeEnum,\n        NUMBER_69: 69 as ActivityModeTypeEnum,\n        NUMBER_70: 70 as ActivityModeTypeEnum,\n        NUMBER_71: 71 as ActivityModeTypeEnum,\n        NUMBER_72: 72 as ActivityModeTypeEnum,\n        NUMBER_73: 73 as ActivityModeTypeEnum,\n        NUMBER_74: 74 as ActivityModeTypeEnum,\n        NUMBER_75: 75 as ActivityModeTypeEnum,\n        NUMBER_76: 76 as ActivityModeTypeEnum,\n        NUMBER_77: 77 as ActivityModeTypeEnum,\n        NUMBER_78: 78 as ActivityModeTypeEnum,\n        NUMBER_79: 79 as ActivityModeTypeEnum,\n        NUMBER_80: 80 as ActivityModeTypeEnum,\n        NUMBER_81: 81 as ActivityModeTypeEnum,\n        NUMBER_82: 82 as ActivityModeTypeEnum,\n        NUMBER_83: 83 as ActivityModeTypeEnum,\n        NUMBER_84: 84 as ActivityModeTypeEnum,\n        NUMBER_85: 85 as ActivityModeTypeEnum,\n        NUMBER_86: 86 as ActivityModeTypeEnum,\n        NUMBER_87: 87 as ActivityModeTypeEnum,\n        NUMBER_88: 88 as ActivityModeTypeEnum,\n        NUMBER_89: 89 as ActivityModeTypeEnum,\n        NUMBER_90: 90 as ActivityModeTypeEnum,\n        NUMBER_91: 91 as ActivityModeTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyMilestonesDestinyPublicMilestoneVendor { \n    /**\n     * The hash identifier of the Vendor related to this Milestone. You can show useful things from this, such as thier Faction icon or whatever you might care about.\n     */\n    vendorHash?: number;\n    /**\n     * If this vendor is featuring a specific item for this event, this will be the hash identifier of that item. I\\'m taking bets now on how long we go before this needs to be a list or some other, more complex representation instead and I deprecate this too. I\\'m going to go with 5 months. Calling it now, 2017-09-14 at 9:46pm PST.\n     */\n    previewItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents a color whose RGBA values are all represented as values between 0 and 255.\n */\nexport interface DestinyMiscDestinyColor { \n    red?: string;\n    green?: string;\n    blue?: string;\n    alpha?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The list of perks to display in an item tooltip - and whether or not they have been activated.  Perks apply a variety of effects to a character, and are generally either intrinsic to the item or provided in activated talent nodes or sockets.\n */\nexport interface DestinyPerksDestinyPerkReference { \n    /**\n     * The hash identifier for the perk, which can be used to look up DestinySandboxPerkDefinition if it exists. Be warned, perks frequently do not have user-viewable information. You should examine whether you actually found a name/description in the perk\\'s definition before you show it to the user.\n     */\n    perkHash?: number;\n    /**\n     * The icon for the perk.\n     */\n    iconPath?: string;\n    /**\n     * Whether this perk is currently active. (We may return perks that you have not actually activated yet: these represent perks that you should show in the item\\'s tooltip, but that the user has not yet activated.)\n     */\n    isActive?: boolean;\n    /**\n     * Some perks provide benefits, but aren\\'t visible in the UI. This value will let you know if this is perk should be shown in your UI.\n     */\n    visible?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This enum determines whether the plug is available to be inserted.  - Normal means that all existing rules for plug insertion apply.  - UnavailableIfSocketContainsMatchingPlugCategory means that the plug is only available if the socket does NOT match the plug category.  - AvailableIfSocketContainsMatchingPlugCategory means that the plug is only available if the socket DOES match the plug category.  For category matching, use the plug\\'s \\\"plugCategoryIdentifier\\\" property, comparing it to\n */\nexport type DestinyPlugAvailabilityMode = 0 | 1 | 2;\n\nexport const DestinyPlugAvailabilityMode = {\n    NUMBER_0: 0 as DestinyPlugAvailabilityMode,\n    NUMBER_1: 1 as DestinyPlugAvailabilityMode,\n    NUMBER_2: 2 as DestinyPlugAvailabilityMode\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If the plug has a specific custom style, this enumeration will represent that style/those styles.\n */\nexport type DestinyPlugUiStyles = 0 | 1;\n\nexport const DestinyPlugUiStyles = {\n    NUMBER_0: 0 as DestinyPlugUiStyles,\n    NUMBER_1: 1 as DestinyPlugUiStyles\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Returns data about a character\\'s status with a given Objective. Combine with DestinyObjectiveDefinition static data for display purposes.\n */\nexport interface DestinyQuestsDestinyObjectiveProgress { \n    /**\n     * The unique identifier of the Objective being referred to. Use to look up the DestinyObjectiveDefinition in static data.\n     */\n    objectiveHash?: number;\n    /**\n     * If the Objective has a Destination associated with it, this is the unique identifier of the Destination being referred to. Use to look up the DestinyDestinationDefinition in static data. This will give localized data about *where* in the universe the objective should be achieved.\n     */\n    destinationHash?: number;\n    /**\n     * If the Objective has an Activity associated with it, this is the unique identifier of the Activity being referred to. Use to look up the DestinyActivityDefinition in static data. This will give localized data about *what* you should be playing for the objective to be achieved.\n     */\n    activityHash?: number;\n    /**\n     * If progress has been made, and the progress can be measured numerically, this will be the value of that progress. You can compare it to the DestinyObjectiveDefinition.completionValue property for current vs. upper bounds, and use DestinyObjectiveDefinition.inProgressValueStyle or completedValueStyle to determine how this should be rendered. Note that progress, in Destiny 2, need not be a literal numeric progression. It could be one of a number of possible values, even a Timestamp. Always examine DestinyObjectiveDefinition.inProgressValueStyle or completedValueStyle before rendering progress.\n     */\n    progress?: number;\n    /**\n     * As of Forsaken, objectives\\' completion value is determined dynamically at runtime.  This value represents the threshold of progress you need to surpass in order for this objective to be considered \\\"complete\\\".  If you were using objective data, switch from using the DestinyObjectiveDefinition\\'s \\\"completionValue\\\" to this value.\n     */\n    completionValue?: number;\n    /**\n     * Whether or not the Objective is completed.\n     */\n    complete?: boolean;\n    /**\n     * If this is true, the objective is visible in-game. Otherwise, it\\'s not yet visible to the player. Up to you if you want to honor this property.\n     */\n    visible?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If you want to report a player causing trouble in a game, this request will let you report that player and the specific PGCR in which the trouble was caused, along with why.  Please don\\'t do this just because you dislike the person! I mean, I know people will do it anyways, but can you like take a good walk, or put a curse on them or something? Do me a solid and reconsider.  Note that this request object doesn\\'t have the actual PGCR ID nor your Account/Character ID in it. We will infer that information from your authentication information and the PGCR ID that you pass into the URL of the reporting endpoint itself.\n */\nexport interface DestinyReportingRequestsDestinyReportOffensePgcrRequest { \n    /**\n     * So you\\'ve decided to report someone instead of cursing them and their descendants. Well, okay then. This is the category or categorie(s) of infractions for which you are reporting the user. These are hash identifiers that map to DestinyReportReasonCategoryDefinition entries.\n     */\n    reasonCategoryHashes?: Array<number>;\n    /**\n     * If applicable, provide a more specific reason(s) within the general category of problems provided by the reasonHash. This is also an identifier for a reason. All reasonHashes provided must be children of at least one the reasonCategoryHashes provided.\n     */\n    reasonHashes?: Array<number>;\n    /**\n     * Within the PGCR provided when calling the Reporting endpoint, this should be the character ID of the user that you thought was violating terms of use. They must exist in the PGCR provided.\n     */\n    offendingCharacterId?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyActionRequest { \n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyCharacterActionRequest { \n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Represents all of the data related to a single plug to be inserted.  Note that, while you *can* point to a socket that represents infusion, you will receive an error if you attempt to do so. Come on guys, let\\'s play nice.\n */\nexport interface DestinyRequestsActionsDestinyInsertPlugsRequestEntry { \n    /**\n     * The index into the socket array, which identifies the specific socket being operated on. We also need to know the socketArrayType in order to uniquely identify the socket.  Don\\'t point to or try to insert a plug into an infusion socket. It won\\'t work.\n     */\n    socketIndex?: number;\n    /**\n     * This property, combined with the socketIndex, tells us which socket we are referring to (since operations can be performed on both Intrinsic and \\\"default\\\" sockets, and they occupy different arrays in the Inventory Item Definition). I know, I know. Don\\'t give me that look.\n     */\n    socketArrayType?: number;\n    /**\n     * Plugs are never instanced (except in infusion). So with the hash alone, we should be able to: 1) Infer whether the player actually needs to have the item, or if it\\'s a reusable plug 2) Perform any operation needed to use the Plug, including removing the plug item and running reward sheets.\n     */\n    plugItemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyItemActionRequest { \n    /**\n     * The instance ID of the item for this action request.\n     */\n    itemId?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyItemSetActionRequest { \n    itemIds?: Array<number>;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyItemStateRequest { \n    state?: boolean;\n    /**\n     * The instance ID of the item for this action request.\n     */\n    itemId?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyLoadoutActionRequest { \n    /**\n     * The index of the loadout for this action request.\n     */\n    loadoutIndex?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyLoadoutUpdateActionRequest { \n    colorHash?: number;\n    iconHash?: number;\n    nameHash?: number;\n    /**\n     * The index of the loadout for this action request.\n     */\n    loadoutIndex?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsActionsDestinyPostmasterTransferRequest { \n    itemReferenceHash?: number;\n    stackSize?: number;\n    /**\n     * The instance ID of the item for this action request.\n     */\n    itemId?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * If you look in the DestinyInventoryItemDefinition\\'s \\\"sockets\\\" property, you\\'ll see that there are two types of sockets: intrinsic, and \\\"socketEntry.\\\"  Unfortunately, because Intrinsic sockets are a whole separate array, it is no longer sufficient to know the index into that array to know which socket we\\'re talking about. You have to know whether it\\'s in the default \\\"socketEntries\\\" or if it\\'s in the \\\"intrinsic\\\" list.\n */\nexport type DestinyRequestsActionsDestinySocketArrayType = 0 | 1;\n\nexport const DestinyRequestsActionsDestinySocketArrayType = {\n    NUMBER_0: 0 as DestinyRequestsActionsDestinySocketArrayType,\n    NUMBER_1: 1 as DestinyRequestsActionsDestinySocketArrayType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinyRequestsDestinyItemTransferRequest { \n    itemReferenceHash?: number;\n    stackSize?: number;\n    transferToVault?: boolean;\n    /**\n     * The instance ID of the item for this action request.\n     */\n    itemId?: number;\n    characterId?: number;\n    membershipType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { DestinyResponsesDestinyProfileUserInfoCardPlatformSilver } from './destinyResponsesDestinyProfileUserInfoCardPlatformSilver';\n\n\nexport interface DestinyResponsesDestinyProfileUserInfoCard { \n    dateLastPlayed?: string;\n    /**\n     * If this profile is being overridden/obscured by Cross Save, this will be set to true. We will still return the profile for display purposes where users need to know the info: it is up to any given area of the app/site to determine if this profile should still be shown.\n     */\n    isOverridden?: boolean;\n    /**\n     * If true, this account is hooked up as the \\\"Primary\\\" cross save account for one or more platforms.\n     */\n    isCrossSavePrimary?: boolean;\n    platformSilver?: DestinyResponsesDestinyProfileUserInfoCardPlatformSilver;\n    /**\n     * If this profile is not in a cross save pairing, this will return the game versions that we believe this profile has access to.   For the time being, we will not return this information for any membership that is in a cross save pairing. The gist is that, once the pairing occurs, we do not currently have a consistent way to get that information for the profile\\'s original Platform, and thus gameVersions would be too inconsistent (based on the last platform they happened to play on) for the info to be useful.   If we ever can get this data, this field will be deprecated and replaced with data on the DestinyLinkedProfileResponse itself, with game versions per linked Platform. But since we can\\'t get that, we have this as a stop-gap measure for getting the data in the only situation that we currently need it.\n     */\n    unpairedGameVersions?: DestinyResponsesDestinyProfileUserInfoCard.UnpairedGameVersionsEnum;\n    /**\n     * A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.\n     */\n    supplementalDisplayName?: string;\n    /**\n     * URL the Icon if available.\n     */\n    iconPath?: string;\n    /**\n     * If there is a cross save override in effect, this value will tell you the type that is overridding this one.\n     */\n    crossSaveOverride?: number;\n    /**\n     * The list of Membership Types indicating the platforms on which this Membership can be used.   Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list\n     */\n    applicableMembershipTypes?: Array<number>;\n    /**\n     * If True, this is a public user membership.\n     */\n    isPublic?: boolean;\n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\nexport namespace DestinyResponsesDestinyProfileUserInfoCard {\n    export type UnpairedGameVersionsEnum = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512;\n    export const UnpairedGameVersionsEnum = {\n        NUMBER_0: 0 as UnpairedGameVersionsEnum,\n        NUMBER_1: 1 as UnpairedGameVersionsEnum,\n        NUMBER_2: 2 as UnpairedGameVersionsEnum,\n        NUMBER_4: 4 as UnpairedGameVersionsEnum,\n        NUMBER_8: 8 as UnpairedGameVersionsEnum,\n        NUMBER_16: 16 as UnpairedGameVersionsEnum,\n        NUMBER_32: 32 as UnpairedGameVersionsEnum,\n        NUMBER_64: 64 as UnpairedGameVersionsEnum,\n        NUMBER_128: 128 as UnpairedGameVersionsEnum,\n        NUMBER_256: 256 as UnpairedGameVersionsEnum,\n        NUMBER_512: 512 as UnpairedGameVersionsEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Indicates how a socket is populated, and where you should look for valid plug data.   This is a flags enumeration/bitmask field, as you may have to look in multiple sources across multiple components for valid plugs.   For instance, a socket could have plugs that are sourced from its own definition, as well as plugs that are sourced from Character-scoped AND profile-scoped Plug Sets. Only by combining plug data for every indicated source will you be able to know all of the plugs available for a socket.\n */\nexport type DestinySocketPlugSources = 0 | 1 | 2 | 4 | 8;\n\nexport const DestinySocketPlugSources = {\n    NUMBER_0: 0 as DestinySocketPlugSources,\n    NUMBER_1: 1 as DestinySocketPlugSources,\n    NUMBER_2: 2 as DestinySocketPlugSources,\n    NUMBER_4: 4 as DestinySocketPlugSources,\n    NUMBER_8: 8 as DestinySocketPlugSources\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Indicates the type of actions that can be performed\n */\nexport type DestinySocketTypeActionType = 0 | 1 | 2;\n\nexport const DestinySocketTypeActionType = {\n    NUMBER_0: 0 as DestinySocketTypeActionType,\n    NUMBER_1: 1 as DestinySocketTypeActionType,\n    NUMBER_2: 2 as DestinySocketTypeActionType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DestinySocketsDestinyItemPlugBase { \n    /**\n     * The hash identifier of the DestinyInventoryItemDefinition that represents this plug.\n     */\n    plugItemHash?: number;\n    /**\n     * If true, this plug has met all of its insertion requirements. Big if true.\n     */\n    canInsert?: boolean;\n    /**\n     * If true, this plug will provide its benefits while inserted.\n     */\n    enabled?: boolean;\n    /**\n     * If the plug cannot be inserted for some reason, this will have the indexes into the plug item definition\\'s plug.insertionRules property, so you can show the reasons why it can\\'t be inserted.  This list will be empty if the plug can be inserted.\n     */\n    insertFailIndexes?: Array<number>;\n    /**\n     * If a plug is not enabled, this will be populated with indexes into the plug item definition\\'s plug.enabledRules property, so that you can show the reasons why it is not enabled.  This list will be empty if the plug is enabled.\n     */\n    enableFailIndexes?: Array<number>;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * As you run into items that need to be classified for Milestone purposes in ways that we cannot infer via direct data, add a new classification here and use a string constant to represent it in the local item config file.  NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1 that may or may not still exist.\n */\nexport type DestinySpecialItemType = 0 | 1 | 8 | 9 | 23 | 24 | 25 | 27 | 29;\n\nexport const DestinySpecialItemType = {\n    NUMBER_0: 0 as DestinySpecialItemType,\n    NUMBER_1: 1 as DestinySpecialItemType,\n    NUMBER_8: 8 as DestinySpecialItemType,\n    NUMBER_9: 9 as DestinySpecialItemType,\n    NUMBER_23: 23 as DestinySpecialItemType,\n    NUMBER_24: 24 as DestinySpecialItemType,\n    NUMBER_25: 25 as DestinySpecialItemType,\n    NUMBER_27: 27 as DestinySpecialItemType,\n    NUMBER_29: 29 as DestinySpecialItemType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyTierType = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const DestinyTierType = {\n    NUMBER_0: 0 as DestinyTierType,\n    NUMBER_1: 1 as DestinyTierType,\n    NUMBER_2: 2 as DestinyTierType,\n    NUMBER_3: 3 as DestinyTierType,\n    NUMBER_4: 4 as DestinyTierType,\n    NUMBER_5: 5 as DestinyTierType,\n    NUMBER_6: 6 as DestinyTierType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Whether you can transfer an item, and why not if you can\\'t.\n */\nexport type DestinyTransferStatuses = 0 | 1 | 2 | 4;\n\nexport const DestinyTransferStatuses = {\n    NUMBER_0: 0 as DestinyTransferStatuses,\n    NUMBER_1: 1 as DestinyTransferStatuses,\n    NUMBER_2: 2 as DestinyTransferStatuses,\n    NUMBER_4: 4 as DestinyTransferStatuses\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Display categories can have custom sort orders. These are the possible options.\n */\nexport type DestinyVendorDisplayCategorySortOrder = 0 | 1;\n\nexport const DestinyVendorDisplayCategorySortOrder = {\n    NUMBER_0: 0 as DestinyVendorDisplayCategorySortOrder,\n    NUMBER_1: 1 as DestinyVendorDisplayCategorySortOrder\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * An enumeration of the known UI interactions for Vendors.\n */\nexport type DestinyVendorInteractionType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\n\nexport const DestinyVendorInteractionType = {\n    NUMBER_0: 0 as DestinyVendorInteractionType,\n    NUMBER_1: 1 as DestinyVendorInteractionType,\n    NUMBER_2: 2 as DestinyVendorInteractionType,\n    NUMBER_3: 3 as DestinyVendorInteractionType,\n    NUMBER_4: 4 as DestinyVendorInteractionType,\n    NUMBER_5: 5 as DestinyVendorInteractionType,\n    NUMBER_6: 6 as DestinyVendorInteractionType,\n    NUMBER_7: 7 as DestinyVendorInteractionType,\n    NUMBER_8: 8 as DestinyVendorInteractionType,\n    NUMBER_9: 9 as DestinyVendorInteractionType,\n    NUMBER_10: 10 as DestinyVendorInteractionType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type DestinyVendorItemStatus = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192;\n\nexport const DestinyVendorItemStatus = {\n    NUMBER_0: 0 as DestinyVendorItemStatus,\n    NUMBER_1: 1 as DestinyVendorItemStatus,\n    NUMBER_2: 2 as DestinyVendorItemStatus,\n    NUMBER_4: 4 as DestinyVendorItemStatus,\n    NUMBER_8: 8 as DestinyVendorItemStatus,\n    NUMBER_16: 16 as DestinyVendorItemStatus,\n    NUMBER_32: 32 as DestinyVendorItemStatus,\n    NUMBER_64: 64 as DestinyVendorItemStatus,\n    NUMBER_128: 128 as DestinyVendorItemStatus,\n    NUMBER_256: 256 as DestinyVendorItemStatus,\n    NUMBER_512: 512 as DestinyVendorItemStatus,\n    NUMBER_1024: 1024 as DestinyVendorItemStatus,\n    NUMBER_2048: 2048 as DestinyVendorItemStatus,\n    NUMBER_4096: 4096 as DestinyVendorItemStatus,\n    NUMBER_8192: 8192 as DestinyVendorItemStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface EntitiesEntityActionResult { \n    entityId?: number;\n    result?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ExceptionsPlatformErrorCodes = 0 | 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 | 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 | 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 | 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 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 400 | 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 | 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 | 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 | 641 | 642 | 643 | 644 | 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 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 750 | 751 | 752 | 753 | 754 | 755 | 801 | 802 | 803 | 804 | 805 | 806 | 807 | 900 | 901 | 902 | 903 | 904 | 905 | 906 | 907 | 908 | 909 | 1000 | 1001 | 1002 | 1003 | 1004 | 1005 | 1006 | 1007 | 1008 | 1009 | 1010 | 1100 | 1204 | 1205 | 1218 | 1223 | 1224 | 1225 | 1226 | 1227 | 1229 | 1230 | 1231 | 1232 | 1233 | 1234 | 1235 | 1236 | 1237 | 1238 | 1239 | 1240 | 1241 | 1242 | 1300 | 1301 | 1302 | 1303 | 1304 | 1305 | 1306 | 1307 | 1308 | 1309 | 1310 | 1311 | 1312 | 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | 1400 | 1401 | 1402 | 1403 | 1404 | 1405 | 1500 | 1501 | 1502 | 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 | 1800 | 1801 | 1802 | 1803 | 1804 | 1805 | 1806 | 1900 | 1901 | 1902 | 1903 | 1904 | 1905 | 1906 | 1907 | 1908 | 1910 | 1911 | 1912 | 1913 | 1914 | 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 | 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 | 2200 | 2201 | 2202 | 2203 | 2204 | 2205 | 2206 | 2207 | 2300 | 2500 | 2501 | 2502 | 2503 | 2504 | 2505 | 2506 | 2507 | 2508 | 2509 | 2510 | 2600 | 2601 | 2700 | 2701 | 2702 | 2703 | 2800 | 2801 | 2802 | 2803 | 2804 | 2805 | 2806 | 2900 | 2901 | 2902 | 2903 | 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 | 3200 | 3201 | 3202 | 3203 | 3204 | 3206 | 3207 | 3208 | 3209 | 3210 | 3211 | 3212 | 3213 | 3214 | 3215 | 3216 | 3217 | 3218 | 3219 | 3220 | 3221 | 3222 | 3300 | 3400 | 3401 | 3402 | 3403 | 3404 | 3405 | 3406 | 3407 | 3408 | 3409 | 3410 | 3411 | 3412 | 3413 | 3414 | 3500 | 3600 | 3702 | 3703 | 3705 | 3706 | 3707 | 3708 | 3709 | 3710 | 3800 | 3801 | 3802 | 3803 | 3804 | 3805 | 3806 | 3807 | 3900 | 3901 | 3902 | 3903 | 3904 | 3905 | 3906 | 3907 | 3908 | 3910 | 3911 | 4000 | 4001 | 4002 | 4003 | 4004 | 4005 | 4006 | 4007 | 4008 | 4009;\n\nexport const ExceptionsPlatformErrorCodes = {\n    NUMBER_0: 0 as ExceptionsPlatformErrorCodes,\n    NUMBER_1: 1 as ExceptionsPlatformErrorCodes,\n    NUMBER_2: 2 as ExceptionsPlatformErrorCodes,\n    NUMBER_3: 3 as ExceptionsPlatformErrorCodes,\n    NUMBER_4: 4 as ExceptionsPlatformErrorCodes,\n    NUMBER_5: 5 as ExceptionsPlatformErrorCodes,\n    NUMBER_6: 6 as ExceptionsPlatformErrorCodes,\n    NUMBER_7: 7 as ExceptionsPlatformErrorCodes,\n    NUMBER_8: 8 as ExceptionsPlatformErrorCodes,\n    NUMBER_9: 9 as ExceptionsPlatformErrorCodes,\n    NUMBER_10: 10 as ExceptionsPlatformErrorCodes,\n    NUMBER_11: 11 as ExceptionsPlatformErrorCodes,\n    NUMBER_12: 12 as ExceptionsPlatformErrorCodes,\n    NUMBER_13: 13 as ExceptionsPlatformErrorCodes,\n    NUMBER_14: 14 as ExceptionsPlatformErrorCodes,\n    NUMBER_15: 15 as ExceptionsPlatformErrorCodes,\n    NUMBER_16: 16 as ExceptionsPlatformErrorCodes,\n    NUMBER_17: 17 as ExceptionsPlatformErrorCodes,\n    NUMBER_18: 18 as ExceptionsPlatformErrorCodes,\n    NUMBER_19: 19 as ExceptionsPlatformErrorCodes,\n    NUMBER_20: 20 as ExceptionsPlatformErrorCodes,\n    NUMBER_21: 21 as ExceptionsPlatformErrorCodes,\n    NUMBER_22: 22 as ExceptionsPlatformErrorCodes,\n    NUMBER_23: 23 as ExceptionsPlatformErrorCodes,\n    NUMBER_24: 24 as ExceptionsPlatformErrorCodes,\n    NUMBER_25: 25 as ExceptionsPlatformErrorCodes,\n    NUMBER_26: 26 as ExceptionsPlatformErrorCodes,\n    NUMBER_27: 27 as ExceptionsPlatformErrorCodes,\n    NUMBER_28: 28 as ExceptionsPlatformErrorCodes,\n    NUMBER_29: 29 as ExceptionsPlatformErrorCodes,\n    NUMBER_30: 30 as ExceptionsPlatformErrorCodes,\n    NUMBER_31: 31 as ExceptionsPlatformErrorCodes,\n    NUMBER_32: 32 as ExceptionsPlatformErrorCodes,\n    NUMBER_33: 33 as ExceptionsPlatformErrorCodes,\n    NUMBER_34: 34 as ExceptionsPlatformErrorCodes,\n    NUMBER_35: 35 as ExceptionsPlatformErrorCodes,\n    NUMBER_36: 36 as ExceptionsPlatformErrorCodes,\n    NUMBER_37: 37 as ExceptionsPlatformErrorCodes,\n    NUMBER_38: 38 as ExceptionsPlatformErrorCodes,\n    NUMBER_39: 39 as ExceptionsPlatformErrorCodes,\n    NUMBER_40: 40 as ExceptionsPlatformErrorCodes,\n    NUMBER_41: 41 as ExceptionsPlatformErrorCodes,\n    NUMBER_42: 42 as ExceptionsPlatformErrorCodes,\n    NUMBER_43: 43 as ExceptionsPlatformErrorCodes,\n    NUMBER_44: 44 as ExceptionsPlatformErrorCodes,\n    NUMBER_45: 45 as ExceptionsPlatformErrorCodes,\n    NUMBER_46: 46 as ExceptionsPlatformErrorCodes,\n    NUMBER_47: 47 as ExceptionsPlatformErrorCodes,\n    NUMBER_48: 48 as ExceptionsPlatformErrorCodes,\n    NUMBER_49: 49 as ExceptionsPlatformErrorCodes,\n    NUMBER_50: 50 as ExceptionsPlatformErrorCodes,\n    NUMBER_51: 51 as ExceptionsPlatformErrorCodes,\n    NUMBER_52: 52 as ExceptionsPlatformErrorCodes,\n    NUMBER_53: 53 as ExceptionsPlatformErrorCodes,\n    NUMBER_54: 54 as ExceptionsPlatformErrorCodes,\n    NUMBER_55: 55 as ExceptionsPlatformErrorCodes,\n    NUMBER_56: 56 as ExceptionsPlatformErrorCodes,\n    NUMBER_57: 57 as ExceptionsPlatformErrorCodes,\n    NUMBER_58: 58 as ExceptionsPlatformErrorCodes,\n    NUMBER_59: 59 as ExceptionsPlatformErrorCodes,\n    NUMBER_89: 89 as ExceptionsPlatformErrorCodes,\n    NUMBER_90: 90 as ExceptionsPlatformErrorCodes,\n    NUMBER_91: 91 as ExceptionsPlatformErrorCodes,\n    NUMBER_92: 92 as ExceptionsPlatformErrorCodes,\n    NUMBER_93: 93 as ExceptionsPlatformErrorCodes,\n    NUMBER_94: 94 as ExceptionsPlatformErrorCodes,\n    NUMBER_95: 95 as ExceptionsPlatformErrorCodes,\n    NUMBER_96: 96 as ExceptionsPlatformErrorCodes,\n    NUMBER_97: 97 as ExceptionsPlatformErrorCodes,\n    NUMBER_98: 98 as ExceptionsPlatformErrorCodes,\n    NUMBER_99: 99 as ExceptionsPlatformErrorCodes,\n    NUMBER_100: 100 as ExceptionsPlatformErrorCodes,\n    NUMBER_101: 101 as ExceptionsPlatformErrorCodes,\n    NUMBER_102: 102 as ExceptionsPlatformErrorCodes,\n    NUMBER_103: 103 as ExceptionsPlatformErrorCodes,\n    NUMBER_104: 104 as ExceptionsPlatformErrorCodes,\n    NUMBER_105: 105 as ExceptionsPlatformErrorCodes,\n    NUMBER_106: 106 as ExceptionsPlatformErrorCodes,\n    NUMBER_107: 107 as ExceptionsPlatformErrorCodes,\n    NUMBER_108: 108 as ExceptionsPlatformErrorCodes,\n    NUMBER_109: 109 as ExceptionsPlatformErrorCodes,\n    NUMBER_110: 110 as ExceptionsPlatformErrorCodes,\n    NUMBER_111: 111 as ExceptionsPlatformErrorCodes,\n    NUMBER_112: 112 as ExceptionsPlatformErrorCodes,\n    NUMBER_113: 113 as ExceptionsPlatformErrorCodes,\n    NUMBER_115: 115 as ExceptionsPlatformErrorCodes,\n    NUMBER_116: 116 as ExceptionsPlatformErrorCodes,\n    NUMBER_117: 117 as ExceptionsPlatformErrorCodes,\n    NUMBER_118: 118 as ExceptionsPlatformErrorCodes,\n    NUMBER_119: 119 as ExceptionsPlatformErrorCodes,\n    NUMBER_120: 120 as ExceptionsPlatformErrorCodes,\n    NUMBER_121: 121 as ExceptionsPlatformErrorCodes,\n    NUMBER_122: 122 as ExceptionsPlatformErrorCodes,\n    NUMBER_123: 123 as ExceptionsPlatformErrorCodes,\n    NUMBER_124: 124 as ExceptionsPlatformErrorCodes,\n    NUMBER_125: 125 as ExceptionsPlatformErrorCodes,\n    NUMBER_126: 126 as ExceptionsPlatformErrorCodes,\n    NUMBER_127: 127 as ExceptionsPlatformErrorCodes,\n    NUMBER_128: 128 as ExceptionsPlatformErrorCodes,\n    NUMBER_129: 129 as ExceptionsPlatformErrorCodes,\n    NUMBER_130: 130 as ExceptionsPlatformErrorCodes,\n    NUMBER_131: 131 as ExceptionsPlatformErrorCodes,\n    NUMBER_132: 132 as ExceptionsPlatformErrorCodes,\n    NUMBER_133: 133 as ExceptionsPlatformErrorCodes,\n    NUMBER_134: 134 as ExceptionsPlatformErrorCodes,\n    NUMBER_135: 135 as ExceptionsPlatformErrorCodes,\n    NUMBER_136: 136 as ExceptionsPlatformErrorCodes,\n    NUMBER_137: 137 as ExceptionsPlatformErrorCodes,\n    NUMBER_138: 138 as ExceptionsPlatformErrorCodes,\n    NUMBER_139: 139 as ExceptionsPlatformErrorCodes,\n    NUMBER_140: 140 as ExceptionsPlatformErrorCodes,\n    NUMBER_141: 141 as ExceptionsPlatformErrorCodes,\n    NUMBER_142: 142 as ExceptionsPlatformErrorCodes,\n    NUMBER_143: 143 as ExceptionsPlatformErrorCodes,\n    NUMBER_144: 144 as ExceptionsPlatformErrorCodes,\n    NUMBER_145: 145 as ExceptionsPlatformErrorCodes,\n    NUMBER_146: 146 as ExceptionsPlatformErrorCodes,\n    NUMBER_147: 147 as ExceptionsPlatformErrorCodes,\n    NUMBER_148: 148 as ExceptionsPlatformErrorCodes,\n    NUMBER_149: 149 as ExceptionsPlatformErrorCodes,\n    NUMBER_150: 150 as ExceptionsPlatformErrorCodes,\n    NUMBER_151: 151 as ExceptionsPlatformErrorCodes,\n    NUMBER_152: 152 as ExceptionsPlatformErrorCodes,\n    NUMBER_153: 153 as ExceptionsPlatformErrorCodes,\n    NUMBER_154: 154 as ExceptionsPlatformErrorCodes,\n    NUMBER_155: 155 as ExceptionsPlatformErrorCodes,\n    NUMBER_156: 156 as ExceptionsPlatformErrorCodes,\n    NUMBER_157: 157 as ExceptionsPlatformErrorCodes,\n    NUMBER_158: 158 as ExceptionsPlatformErrorCodes,\n    NUMBER_159: 159 as ExceptionsPlatformErrorCodes,\n    NUMBER_160: 160 as ExceptionsPlatformErrorCodes,\n    NUMBER_161: 161 as ExceptionsPlatformErrorCodes,\n    NUMBER_162: 162 as ExceptionsPlatformErrorCodes,\n    NUMBER_163: 163 as ExceptionsPlatformErrorCodes,\n    NUMBER_164: 164 as ExceptionsPlatformErrorCodes,\n    NUMBER_165: 165 as ExceptionsPlatformErrorCodes,\n    NUMBER_166: 166 as ExceptionsPlatformErrorCodes,\n    NUMBER_167: 167 as ExceptionsPlatformErrorCodes,\n    NUMBER_168: 168 as ExceptionsPlatformErrorCodes,\n    NUMBER_169: 169 as ExceptionsPlatformErrorCodes,\n    NUMBER_170: 170 as ExceptionsPlatformErrorCodes,\n    NUMBER_171: 171 as ExceptionsPlatformErrorCodes,\n    NUMBER_172: 172 as ExceptionsPlatformErrorCodes,\n    NUMBER_173: 173 as ExceptionsPlatformErrorCodes,\n    NUMBER_174: 174 as ExceptionsPlatformErrorCodes,\n    NUMBER_175: 175 as ExceptionsPlatformErrorCodes,\n    NUMBER_176: 176 as ExceptionsPlatformErrorCodes,\n    NUMBER_177: 177 as ExceptionsPlatformErrorCodes,\n    NUMBER_178: 178 as ExceptionsPlatformErrorCodes,\n    NUMBER_179: 179 as ExceptionsPlatformErrorCodes,\n    NUMBER_180: 180 as ExceptionsPlatformErrorCodes,\n    NUMBER_181: 181 as ExceptionsPlatformErrorCodes,\n    NUMBER_200: 200 as ExceptionsPlatformErrorCodes,\n    NUMBER_201: 201 as ExceptionsPlatformErrorCodes,\n    NUMBER_202: 202 as ExceptionsPlatformErrorCodes,\n    NUMBER_203: 203 as ExceptionsPlatformErrorCodes,\n    NUMBER_204: 204 as ExceptionsPlatformErrorCodes,\n    NUMBER_205: 205 as ExceptionsPlatformErrorCodes,\n    NUMBER_206: 206 as ExceptionsPlatformErrorCodes,\n    NUMBER_207: 207 as ExceptionsPlatformErrorCodes,\n    NUMBER_208: 208 as ExceptionsPlatformErrorCodes,\n    NUMBER_209: 209 as ExceptionsPlatformErrorCodes,\n    NUMBER_210: 210 as ExceptionsPlatformErrorCodes,\n    NUMBER_211: 211 as ExceptionsPlatformErrorCodes,\n    NUMBER_212: 212 as ExceptionsPlatformErrorCodes,\n    NUMBER_213: 213 as ExceptionsPlatformErrorCodes,\n    NUMBER_214: 214 as ExceptionsPlatformErrorCodes,\n    NUMBER_215: 215 as ExceptionsPlatformErrorCodes,\n    NUMBER_216: 216 as ExceptionsPlatformErrorCodes,\n    NUMBER_217: 217 as ExceptionsPlatformErrorCodes,\n    NUMBER_218: 218 as ExceptionsPlatformErrorCodes,\n    NUMBER_219: 219 as ExceptionsPlatformErrorCodes,\n    NUMBER_220: 220 as ExceptionsPlatformErrorCodes,\n    NUMBER_221: 221 as ExceptionsPlatformErrorCodes,\n    NUMBER_222: 222 as ExceptionsPlatformErrorCodes,\n    NUMBER_223: 223 as ExceptionsPlatformErrorCodes,\n    NUMBER_224: 224 as ExceptionsPlatformErrorCodes,\n    NUMBER_225: 225 as ExceptionsPlatformErrorCodes,\n    NUMBER_226: 226 as ExceptionsPlatformErrorCodes,\n    NUMBER_227: 227 as ExceptionsPlatformErrorCodes,\n    NUMBER_228: 228 as ExceptionsPlatformErrorCodes,\n    NUMBER_229: 229 as ExceptionsPlatformErrorCodes,\n    NUMBER_230: 230 as ExceptionsPlatformErrorCodes,\n    NUMBER_231: 231 as ExceptionsPlatformErrorCodes,\n    NUMBER_232: 232 as ExceptionsPlatformErrorCodes,\n    NUMBER_233: 233 as ExceptionsPlatformErrorCodes,\n    NUMBER_234: 234 as ExceptionsPlatformErrorCodes,\n    NUMBER_235: 235 as ExceptionsPlatformErrorCodes,\n    NUMBER_236: 236 as ExceptionsPlatformErrorCodes,\n    NUMBER_237: 237 as ExceptionsPlatformErrorCodes,\n    NUMBER_238: 238 as ExceptionsPlatformErrorCodes,\n    NUMBER_239: 239 as ExceptionsPlatformErrorCodes,\n    NUMBER_240: 240 as ExceptionsPlatformErrorCodes,\n    NUMBER_241: 241 as ExceptionsPlatformErrorCodes,\n    NUMBER_242: 242 as ExceptionsPlatformErrorCodes,\n    NUMBER_243: 243 as ExceptionsPlatformErrorCodes,\n    NUMBER_244: 244 as ExceptionsPlatformErrorCodes,\n    NUMBER_300: 300 as ExceptionsPlatformErrorCodes,\n    NUMBER_301: 301 as ExceptionsPlatformErrorCodes,\n    NUMBER_302: 302 as ExceptionsPlatformErrorCodes,\n    NUMBER_303: 303 as ExceptionsPlatformErrorCodes,\n    NUMBER_304: 304 as ExceptionsPlatformErrorCodes,\n    NUMBER_305: 305 as ExceptionsPlatformErrorCodes,\n    NUMBER_306: 306 as ExceptionsPlatformErrorCodes,\n    NUMBER_307: 307 as ExceptionsPlatformErrorCodes,\n    NUMBER_308: 308 as ExceptionsPlatformErrorCodes,\n    NUMBER_309: 309 as ExceptionsPlatformErrorCodes,\n    NUMBER_310: 310 as ExceptionsPlatformErrorCodes,\n    NUMBER_311: 311 as ExceptionsPlatformErrorCodes,\n    NUMBER_312: 312 as ExceptionsPlatformErrorCodes,\n    NUMBER_313: 313 as ExceptionsPlatformErrorCodes,\n    NUMBER_400: 400 as ExceptionsPlatformErrorCodes,\n    NUMBER_500: 500 as ExceptionsPlatformErrorCodes,\n    NUMBER_501: 501 as ExceptionsPlatformErrorCodes,\n    NUMBER_502: 502 as ExceptionsPlatformErrorCodes,\n    NUMBER_503: 503 as ExceptionsPlatformErrorCodes,\n    NUMBER_504: 504 as ExceptionsPlatformErrorCodes,\n    NUMBER_505: 505 as ExceptionsPlatformErrorCodes,\n    NUMBER_506: 506 as ExceptionsPlatformErrorCodes,\n    NUMBER_507: 507 as ExceptionsPlatformErrorCodes,\n    NUMBER_508: 508 as ExceptionsPlatformErrorCodes,\n    NUMBER_509: 509 as ExceptionsPlatformErrorCodes,\n    NUMBER_510: 510 as ExceptionsPlatformErrorCodes,\n    NUMBER_511: 511 as ExceptionsPlatformErrorCodes,\n    NUMBER_512: 512 as ExceptionsPlatformErrorCodes,\n    NUMBER_513: 513 as ExceptionsPlatformErrorCodes,\n    NUMBER_514: 514 as ExceptionsPlatformErrorCodes,\n    NUMBER_515: 515 as ExceptionsPlatformErrorCodes,\n    NUMBER_516: 516 as ExceptionsPlatformErrorCodes,\n    NUMBER_517: 517 as ExceptionsPlatformErrorCodes,\n    NUMBER_518: 518 as ExceptionsPlatformErrorCodes,\n    NUMBER_519: 519 as ExceptionsPlatformErrorCodes,\n    NUMBER_520: 520 as ExceptionsPlatformErrorCodes,\n    NUMBER_521: 521 as ExceptionsPlatformErrorCodes,\n    NUMBER_522: 522 as ExceptionsPlatformErrorCodes,\n    NUMBER_523: 523 as ExceptionsPlatformErrorCodes,\n    NUMBER_524: 524 as ExceptionsPlatformErrorCodes,\n    NUMBER_525: 525 as ExceptionsPlatformErrorCodes,\n    NUMBER_526: 526 as ExceptionsPlatformErrorCodes,\n    NUMBER_527: 527 as ExceptionsPlatformErrorCodes,\n    NUMBER_528: 528 as ExceptionsPlatformErrorCodes,\n    NUMBER_529: 529 as ExceptionsPlatformErrorCodes,\n    NUMBER_530: 530 as ExceptionsPlatformErrorCodes,\n    NUMBER_531: 531 as ExceptionsPlatformErrorCodes,\n    NUMBER_532: 532 as ExceptionsPlatformErrorCodes,\n    NUMBER_533: 533 as ExceptionsPlatformErrorCodes,\n    NUMBER_534: 534 as ExceptionsPlatformErrorCodes,\n    NUMBER_535: 535 as ExceptionsPlatformErrorCodes,\n    NUMBER_536: 536 as ExceptionsPlatformErrorCodes,\n    NUMBER_537: 537 as ExceptionsPlatformErrorCodes,\n    NUMBER_538: 538 as ExceptionsPlatformErrorCodes,\n    NUMBER_539: 539 as ExceptionsPlatformErrorCodes,\n    NUMBER_540: 540 as ExceptionsPlatformErrorCodes,\n    NUMBER_541: 541 as ExceptionsPlatformErrorCodes,\n    NUMBER_542: 542 as ExceptionsPlatformErrorCodes,\n    NUMBER_543: 543 as ExceptionsPlatformErrorCodes,\n    NUMBER_544: 544 as ExceptionsPlatformErrorCodes,\n    NUMBER_555: 555 as ExceptionsPlatformErrorCodes,\n    NUMBER_556: 556 as ExceptionsPlatformErrorCodes,\n    NUMBER_557: 557 as ExceptionsPlatformErrorCodes,\n    NUMBER_558: 558 as ExceptionsPlatformErrorCodes,\n    NUMBER_559: 559 as ExceptionsPlatformErrorCodes,\n    NUMBER_560: 560 as ExceptionsPlatformErrorCodes,\n    NUMBER_561: 561 as ExceptionsPlatformErrorCodes,\n    NUMBER_562: 562 as ExceptionsPlatformErrorCodes,\n    NUMBER_563: 563 as ExceptionsPlatformErrorCodes,\n    NUMBER_564: 564 as ExceptionsPlatformErrorCodes,\n    NUMBER_565: 565 as ExceptionsPlatformErrorCodes,\n    NUMBER_566: 566 as ExceptionsPlatformErrorCodes,\n    NUMBER_567: 567 as ExceptionsPlatformErrorCodes,\n    NUMBER_568: 568 as ExceptionsPlatformErrorCodes,\n    NUMBER_569: 569 as ExceptionsPlatformErrorCodes,\n    NUMBER_570: 570 as ExceptionsPlatformErrorCodes,\n    NUMBER_571: 571 as ExceptionsPlatformErrorCodes,\n    NUMBER_572: 572 as ExceptionsPlatformErrorCodes,\n    NUMBER_573: 573 as ExceptionsPlatformErrorCodes,\n    NUMBER_574: 574 as ExceptionsPlatformErrorCodes,\n    NUMBER_575: 575 as ExceptionsPlatformErrorCodes,\n    NUMBER_576: 576 as ExceptionsPlatformErrorCodes,\n    NUMBER_577: 577 as ExceptionsPlatformErrorCodes,\n    NUMBER_578: 578 as ExceptionsPlatformErrorCodes,\n    NUMBER_579: 579 as ExceptionsPlatformErrorCodes,\n    NUMBER_580: 580 as ExceptionsPlatformErrorCodes,\n    NUMBER_581: 581 as ExceptionsPlatformErrorCodes,\n    NUMBER_582: 582 as ExceptionsPlatformErrorCodes,\n    NUMBER_583: 583 as ExceptionsPlatformErrorCodes,\n    NUMBER_584: 584 as ExceptionsPlatformErrorCodes,\n    NUMBER_585: 585 as ExceptionsPlatformErrorCodes,\n    NUMBER_586: 586 as ExceptionsPlatformErrorCodes,\n    NUMBER_587: 587 as ExceptionsPlatformErrorCodes,\n    NUMBER_588: 588 as ExceptionsPlatformErrorCodes,\n    NUMBER_589: 589 as ExceptionsPlatformErrorCodes,\n    NUMBER_590: 590 as ExceptionsPlatformErrorCodes,\n    NUMBER_591: 591 as ExceptionsPlatformErrorCodes,\n    NUMBER_592: 592 as ExceptionsPlatformErrorCodes,\n    NUMBER_593: 593 as ExceptionsPlatformErrorCodes,\n    NUMBER_594: 594 as ExceptionsPlatformErrorCodes,\n    NUMBER_595: 595 as ExceptionsPlatformErrorCodes,\n    NUMBER_596: 596 as ExceptionsPlatformErrorCodes,\n    NUMBER_601: 601 as ExceptionsPlatformErrorCodes,\n    NUMBER_602: 602 as ExceptionsPlatformErrorCodes,\n    NUMBER_603: 603 as ExceptionsPlatformErrorCodes,\n    NUMBER_604: 604 as ExceptionsPlatformErrorCodes,\n    NUMBER_605: 605 as ExceptionsPlatformErrorCodes,\n    NUMBER_606: 606 as ExceptionsPlatformErrorCodes,\n    NUMBER_607: 607 as ExceptionsPlatformErrorCodes,\n    NUMBER_608: 608 as ExceptionsPlatformErrorCodes,\n    NUMBER_609: 609 as ExceptionsPlatformErrorCodes,\n    NUMBER_610: 610 as ExceptionsPlatformErrorCodes,\n    NUMBER_611: 611 as ExceptionsPlatformErrorCodes,\n    NUMBER_612: 612 as ExceptionsPlatformErrorCodes,\n    NUMBER_613: 613 as ExceptionsPlatformErrorCodes,\n    NUMBER_614: 614 as ExceptionsPlatformErrorCodes,\n    NUMBER_615: 615 as ExceptionsPlatformErrorCodes,\n    NUMBER_616: 616 as ExceptionsPlatformErrorCodes,\n    NUMBER_617: 617 as ExceptionsPlatformErrorCodes,\n    NUMBER_618: 618 as ExceptionsPlatformErrorCodes,\n    NUMBER_619: 619 as ExceptionsPlatformErrorCodes,\n    NUMBER_620: 620 as ExceptionsPlatformErrorCodes,\n    NUMBER_621: 621 as ExceptionsPlatformErrorCodes,\n    NUMBER_622: 622 as ExceptionsPlatformErrorCodes,\n    NUMBER_623: 623 as ExceptionsPlatformErrorCodes,\n    NUMBER_624: 624 as ExceptionsPlatformErrorCodes,\n    NUMBER_625: 625 as ExceptionsPlatformErrorCodes,\n    NUMBER_626: 626 as ExceptionsPlatformErrorCodes,\n    NUMBER_627: 627 as ExceptionsPlatformErrorCodes,\n    NUMBER_628: 628 as ExceptionsPlatformErrorCodes,\n    NUMBER_629: 629 as ExceptionsPlatformErrorCodes,\n    NUMBER_630: 630 as ExceptionsPlatformErrorCodes,\n    NUMBER_631: 631 as ExceptionsPlatformErrorCodes,\n    NUMBER_632: 632 as ExceptionsPlatformErrorCodes,\n    NUMBER_633: 633 as ExceptionsPlatformErrorCodes,\n    NUMBER_634: 634 as ExceptionsPlatformErrorCodes,\n    NUMBER_635: 635 as ExceptionsPlatformErrorCodes,\n    NUMBER_636: 636 as ExceptionsPlatformErrorCodes,\n    NUMBER_637: 637 as ExceptionsPlatformErrorCodes,\n    NUMBER_638: 638 as ExceptionsPlatformErrorCodes,\n    NUMBER_639: 639 as ExceptionsPlatformErrorCodes,\n    NUMBER_641: 641 as ExceptionsPlatformErrorCodes,\n    NUMBER_642: 642 as ExceptionsPlatformErrorCodes,\n    NUMBER_643: 643 as ExceptionsPlatformErrorCodes,\n    NUMBER_644: 644 as ExceptionsPlatformErrorCodes,\n    NUMBER_646: 646 as ExceptionsPlatformErrorCodes,\n    NUMBER_647: 647 as ExceptionsPlatformErrorCodes,\n    NUMBER_648: 648 as ExceptionsPlatformErrorCodes,\n    NUMBER_649: 649 as ExceptionsPlatformErrorCodes,\n    NUMBER_650: 650 as ExceptionsPlatformErrorCodes,\n    NUMBER_651: 651 as ExceptionsPlatformErrorCodes,\n    NUMBER_652: 652 as ExceptionsPlatformErrorCodes,\n    NUMBER_653: 653 as ExceptionsPlatformErrorCodes,\n    NUMBER_654: 654 as ExceptionsPlatformErrorCodes,\n    NUMBER_655: 655 as ExceptionsPlatformErrorCodes,\n    NUMBER_656: 656 as ExceptionsPlatformErrorCodes,\n    NUMBER_657: 657 as ExceptionsPlatformErrorCodes,\n    NUMBER_658: 658 as ExceptionsPlatformErrorCodes,\n    NUMBER_659: 659 as ExceptionsPlatformErrorCodes,\n    NUMBER_660: 660 as ExceptionsPlatformErrorCodes,\n    NUMBER_661: 661 as ExceptionsPlatformErrorCodes,\n    NUMBER_662: 662 as ExceptionsPlatformErrorCodes,\n    NUMBER_663: 663 as ExceptionsPlatformErrorCodes,\n    NUMBER_664: 664 as ExceptionsPlatformErrorCodes,\n    NUMBER_665: 665 as ExceptionsPlatformErrorCodes,\n    NUMBER_666: 666 as ExceptionsPlatformErrorCodes,\n    NUMBER_667: 667 as ExceptionsPlatformErrorCodes,\n    NUMBER_668: 668 as ExceptionsPlatformErrorCodes,\n    NUMBER_669: 669 as ExceptionsPlatformErrorCodes,\n    NUMBER_670: 670 as ExceptionsPlatformErrorCodes,\n    NUMBER_671: 671 as ExceptionsPlatformErrorCodes,\n    NUMBER_672: 672 as ExceptionsPlatformErrorCodes,\n    NUMBER_673: 673 as ExceptionsPlatformErrorCodes,\n    NUMBER_674: 674 as ExceptionsPlatformErrorCodes,\n    NUMBER_675: 675 as ExceptionsPlatformErrorCodes,\n    NUMBER_676: 676 as ExceptionsPlatformErrorCodes,\n    NUMBER_677: 677 as ExceptionsPlatformErrorCodes,\n    NUMBER_678: 678 as ExceptionsPlatformErrorCodes,\n    NUMBER_679: 679 as ExceptionsPlatformErrorCodes,\n    NUMBER_680: 680 as ExceptionsPlatformErrorCodes,\n    NUMBER_681: 681 as ExceptionsPlatformErrorCodes,\n    NUMBER_682: 682 as ExceptionsPlatformErrorCodes,\n    NUMBER_683: 683 as ExceptionsPlatformErrorCodes,\n    NUMBER_684: 684 as ExceptionsPlatformErrorCodes,\n    NUMBER_685: 685 as ExceptionsPlatformErrorCodes,\n    NUMBER_686: 686 as ExceptionsPlatformErrorCodes,\n    NUMBER_687: 687 as ExceptionsPlatformErrorCodes,\n    NUMBER_688: 688 as ExceptionsPlatformErrorCodes,\n    NUMBER_689: 689 as ExceptionsPlatformErrorCodes,\n    NUMBER_690: 690 as ExceptionsPlatformErrorCodes,\n    NUMBER_691: 691 as ExceptionsPlatformErrorCodes,\n    NUMBER_692: 692 as ExceptionsPlatformErrorCodes,\n    NUMBER_693: 693 as ExceptionsPlatformErrorCodes,\n    NUMBER_694: 694 as ExceptionsPlatformErrorCodes,\n    NUMBER_695: 695 as ExceptionsPlatformErrorCodes,\n    NUMBER_696: 696 as ExceptionsPlatformErrorCodes,\n    NUMBER_697: 697 as ExceptionsPlatformErrorCodes,\n    NUMBER_698: 698 as ExceptionsPlatformErrorCodes,\n    NUMBER_699: 699 as ExceptionsPlatformErrorCodes,\n    NUMBER_701: 701 as ExceptionsPlatformErrorCodes,\n    NUMBER_702: 702 as ExceptionsPlatformErrorCodes,\n    NUMBER_703: 703 as ExceptionsPlatformErrorCodes,\n    NUMBER_704: 704 as ExceptionsPlatformErrorCodes,\n    NUMBER_705: 705 as ExceptionsPlatformErrorCodes,\n    NUMBER_706: 706 as ExceptionsPlatformErrorCodes,\n    NUMBER_707: 707 as ExceptionsPlatformErrorCodes,\n    NUMBER_750: 750 as ExceptionsPlatformErrorCodes,\n    NUMBER_751: 751 as ExceptionsPlatformErrorCodes,\n    NUMBER_752: 752 as ExceptionsPlatformErrorCodes,\n    NUMBER_753: 753 as ExceptionsPlatformErrorCodes,\n    NUMBER_754: 754 as ExceptionsPlatformErrorCodes,\n    NUMBER_755: 755 as ExceptionsPlatformErrorCodes,\n    NUMBER_801: 801 as ExceptionsPlatformErrorCodes,\n    NUMBER_802: 802 as ExceptionsPlatformErrorCodes,\n    NUMBER_803: 803 as ExceptionsPlatformErrorCodes,\n    NUMBER_804: 804 as ExceptionsPlatformErrorCodes,\n    NUMBER_805: 805 as ExceptionsPlatformErrorCodes,\n    NUMBER_806: 806 as ExceptionsPlatformErrorCodes,\n    NUMBER_807: 807 as ExceptionsPlatformErrorCodes,\n    NUMBER_900: 900 as ExceptionsPlatformErrorCodes,\n    NUMBER_901: 901 as ExceptionsPlatformErrorCodes,\n    NUMBER_902: 902 as ExceptionsPlatformErrorCodes,\n    NUMBER_903: 903 as ExceptionsPlatformErrorCodes,\n    NUMBER_904: 904 as ExceptionsPlatformErrorCodes,\n    NUMBER_905: 905 as ExceptionsPlatformErrorCodes,\n    NUMBER_906: 906 as ExceptionsPlatformErrorCodes,\n    NUMBER_907: 907 as ExceptionsPlatformErrorCodes,\n    NUMBER_908: 908 as ExceptionsPlatformErrorCodes,\n    NUMBER_909: 909 as ExceptionsPlatformErrorCodes,\n    NUMBER_1000: 1000 as ExceptionsPlatformErrorCodes,\n    NUMBER_1001: 1001 as ExceptionsPlatformErrorCodes,\n    NUMBER_1002: 1002 as ExceptionsPlatformErrorCodes,\n    NUMBER_1003: 1003 as ExceptionsPlatformErrorCodes,\n    NUMBER_1004: 1004 as ExceptionsPlatformErrorCodes,\n    NUMBER_1005: 1005 as ExceptionsPlatformErrorCodes,\n    NUMBER_1006: 1006 as ExceptionsPlatformErrorCodes,\n    NUMBER_1007: 1007 as ExceptionsPlatformErrorCodes,\n    NUMBER_1008: 1008 as ExceptionsPlatformErrorCodes,\n    NUMBER_1009: 1009 as ExceptionsPlatformErrorCodes,\n    NUMBER_1010: 1010 as ExceptionsPlatformErrorCodes,\n    NUMBER_1100: 1100 as ExceptionsPlatformErrorCodes,\n    NUMBER_1204: 1204 as ExceptionsPlatformErrorCodes,\n    NUMBER_1205: 1205 as ExceptionsPlatformErrorCodes,\n    NUMBER_1218: 1218 as ExceptionsPlatformErrorCodes,\n    NUMBER_1223: 1223 as ExceptionsPlatformErrorCodes,\n    NUMBER_1224: 1224 as ExceptionsPlatformErrorCodes,\n    NUMBER_1225: 1225 as ExceptionsPlatformErrorCodes,\n    NUMBER_1226: 1226 as ExceptionsPlatformErrorCodes,\n    NUMBER_1227: 1227 as ExceptionsPlatformErrorCodes,\n    NUMBER_1229: 1229 as ExceptionsPlatformErrorCodes,\n    NUMBER_1230: 1230 as ExceptionsPlatformErrorCodes,\n    NUMBER_1231: 1231 as ExceptionsPlatformErrorCodes,\n    NUMBER_1232: 1232 as ExceptionsPlatformErrorCodes,\n    NUMBER_1233: 1233 as ExceptionsPlatformErrorCodes,\n    NUMBER_1234: 1234 as ExceptionsPlatformErrorCodes,\n    NUMBER_1235: 1235 as ExceptionsPlatformErrorCodes,\n    NUMBER_1236: 1236 as ExceptionsPlatformErrorCodes,\n    NUMBER_1237: 1237 as ExceptionsPlatformErrorCodes,\n    NUMBER_1238: 1238 as ExceptionsPlatformErrorCodes,\n    NUMBER_1239: 1239 as ExceptionsPlatformErrorCodes,\n    NUMBER_1240: 1240 as ExceptionsPlatformErrorCodes,\n    NUMBER_1241: 1241 as ExceptionsPlatformErrorCodes,\n    NUMBER_1242: 1242 as ExceptionsPlatformErrorCodes,\n    NUMBER_1300: 1300 as ExceptionsPlatformErrorCodes,\n    NUMBER_1301: 1301 as ExceptionsPlatformErrorCodes,\n    NUMBER_1302: 1302 as ExceptionsPlatformErrorCodes,\n    NUMBER_1303: 1303 as ExceptionsPlatformErrorCodes,\n    NUMBER_1304: 1304 as ExceptionsPlatformErrorCodes,\n    NUMBER_1305: 1305 as ExceptionsPlatformErrorCodes,\n    NUMBER_1306: 1306 as ExceptionsPlatformErrorCodes,\n    NUMBER_1307: 1307 as ExceptionsPlatformErrorCodes,\n    NUMBER_1308: 1308 as ExceptionsPlatformErrorCodes,\n    NUMBER_1309: 1309 as ExceptionsPlatformErrorCodes,\n    NUMBER_1310: 1310 as ExceptionsPlatformErrorCodes,\n    NUMBER_1311: 1311 as ExceptionsPlatformErrorCodes,\n    NUMBER_1312: 1312 as ExceptionsPlatformErrorCodes,\n    NUMBER_1313: 1313 as ExceptionsPlatformErrorCodes,\n    NUMBER_1314: 1314 as ExceptionsPlatformErrorCodes,\n    NUMBER_1315: 1315 as ExceptionsPlatformErrorCodes,\n    NUMBER_1316: 1316 as ExceptionsPlatformErrorCodes,\n    NUMBER_1317: 1317 as ExceptionsPlatformErrorCodes,\n    NUMBER_1318: 1318 as ExceptionsPlatformErrorCodes,\n    NUMBER_1400: 1400 as ExceptionsPlatformErrorCodes,\n    NUMBER_1401: 1401 as ExceptionsPlatformErrorCodes,\n    NUMBER_1402: 1402 as ExceptionsPlatformErrorCodes,\n    NUMBER_1403: 1403 as ExceptionsPlatformErrorCodes,\n    NUMBER_1404: 1404 as ExceptionsPlatformErrorCodes,\n    NUMBER_1405: 1405 as ExceptionsPlatformErrorCodes,\n    NUMBER_1500: 1500 as ExceptionsPlatformErrorCodes,\n    NUMBER_1501: 1501 as ExceptionsPlatformErrorCodes,\n    NUMBER_1502: 1502 as ExceptionsPlatformErrorCodes,\n    NUMBER_1600: 1600 as ExceptionsPlatformErrorCodes,\n    NUMBER_1601: 1601 as ExceptionsPlatformErrorCodes,\n    NUMBER_1602: 1602 as ExceptionsPlatformErrorCodes,\n    NUMBER_1603: 1603 as ExceptionsPlatformErrorCodes,\n    NUMBER_1604: 1604 as ExceptionsPlatformErrorCodes,\n    NUMBER_1605: 1605 as ExceptionsPlatformErrorCodes,\n    NUMBER_1606: 1606 as ExceptionsPlatformErrorCodes,\n    NUMBER_1607: 1607 as ExceptionsPlatformErrorCodes,\n    NUMBER_1608: 1608 as ExceptionsPlatformErrorCodes,\n    NUMBER_1609: 1609 as ExceptionsPlatformErrorCodes,\n    NUMBER_1610: 1610 as ExceptionsPlatformErrorCodes,\n    NUMBER_1611: 1611 as ExceptionsPlatformErrorCodes,\n    NUMBER_1612: 1612 as ExceptionsPlatformErrorCodes,\n    NUMBER_1613: 1613 as ExceptionsPlatformErrorCodes,\n    NUMBER_1614: 1614 as ExceptionsPlatformErrorCodes,\n    NUMBER_1615: 1615 as ExceptionsPlatformErrorCodes,\n    NUMBER_1616: 1616 as ExceptionsPlatformErrorCodes,\n    NUMBER_1617: 1617 as ExceptionsPlatformErrorCodes,\n    NUMBER_1618: 1618 as ExceptionsPlatformErrorCodes,\n    NUMBER_1619: 1619 as ExceptionsPlatformErrorCodes,\n    NUMBER_1620: 1620 as ExceptionsPlatformErrorCodes,\n    NUMBER_1621: 1621 as ExceptionsPlatformErrorCodes,\n    NUMBER_1622: 1622 as ExceptionsPlatformErrorCodes,\n    NUMBER_1623: 1623 as ExceptionsPlatformErrorCodes,\n    NUMBER_1624: 1624 as ExceptionsPlatformErrorCodes,\n    NUMBER_1625: 1625 as ExceptionsPlatformErrorCodes,\n    NUMBER_1626: 1626 as ExceptionsPlatformErrorCodes,\n    NUMBER_1627: 1627 as ExceptionsPlatformErrorCodes,\n    NUMBER_1628: 1628 as ExceptionsPlatformErrorCodes,\n    NUMBER_1629: 1629 as ExceptionsPlatformErrorCodes,\n    NUMBER_1630: 1630 as ExceptionsPlatformErrorCodes,\n    NUMBER_1631: 1631 as ExceptionsPlatformErrorCodes,\n    NUMBER_1632: 1632 as ExceptionsPlatformErrorCodes,\n    NUMBER_1633: 1633 as ExceptionsPlatformErrorCodes,\n    NUMBER_1634: 1634 as ExceptionsPlatformErrorCodes,\n    NUMBER_1635: 1635 as ExceptionsPlatformErrorCodes,\n    NUMBER_1636: 1636 as ExceptionsPlatformErrorCodes,\n    NUMBER_1637: 1637 as ExceptionsPlatformErrorCodes,\n    NUMBER_1638: 1638 as ExceptionsPlatformErrorCodes,\n    NUMBER_1639: 1639 as ExceptionsPlatformErrorCodes,\n    NUMBER_1640: 1640 as ExceptionsPlatformErrorCodes,\n    NUMBER_1641: 1641 as ExceptionsPlatformErrorCodes,\n    NUMBER_1642: 1642 as ExceptionsPlatformErrorCodes,\n    NUMBER_1643: 1643 as ExceptionsPlatformErrorCodes,\n    NUMBER_1644: 1644 as ExceptionsPlatformErrorCodes,\n    NUMBER_1645: 1645 as ExceptionsPlatformErrorCodes,\n    NUMBER_1646: 1646 as ExceptionsPlatformErrorCodes,\n    NUMBER_1647: 1647 as ExceptionsPlatformErrorCodes,\n    NUMBER_1648: 1648 as ExceptionsPlatformErrorCodes,\n    NUMBER_1649: 1649 as ExceptionsPlatformErrorCodes,\n    NUMBER_1650: 1650 as ExceptionsPlatformErrorCodes,\n    NUMBER_1651: 1651 as ExceptionsPlatformErrorCodes,\n    NUMBER_1652: 1652 as ExceptionsPlatformErrorCodes,\n    NUMBER_1653: 1653 as ExceptionsPlatformErrorCodes,\n    NUMBER_1654: 1654 as ExceptionsPlatformErrorCodes,\n    NUMBER_1655: 1655 as ExceptionsPlatformErrorCodes,\n    NUMBER_1656: 1656 as ExceptionsPlatformErrorCodes,\n    NUMBER_1657: 1657 as ExceptionsPlatformErrorCodes,\n    NUMBER_1658: 1658 as ExceptionsPlatformErrorCodes,\n    NUMBER_1659: 1659 as ExceptionsPlatformErrorCodes,\n    NUMBER_1660: 1660 as ExceptionsPlatformErrorCodes,\n    NUMBER_1661: 1661 as ExceptionsPlatformErrorCodes,\n    NUMBER_1662: 1662 as ExceptionsPlatformErrorCodes,\n    NUMBER_1663: 1663 as ExceptionsPlatformErrorCodes,\n    NUMBER_1664: 1664 as ExceptionsPlatformErrorCodes,\n    NUMBER_1665: 1665 as ExceptionsPlatformErrorCodes,\n    NUMBER_1666: 1666 as ExceptionsPlatformErrorCodes,\n    NUMBER_1667: 1667 as ExceptionsPlatformErrorCodes,\n    NUMBER_1668: 1668 as ExceptionsPlatformErrorCodes,\n    NUMBER_1669: 1669 as ExceptionsPlatformErrorCodes,\n    NUMBER_1670: 1670 as ExceptionsPlatformErrorCodes,\n    NUMBER_1671: 1671 as ExceptionsPlatformErrorCodes,\n    NUMBER_1672: 1672 as ExceptionsPlatformErrorCodes,\n    NUMBER_1673: 1673 as ExceptionsPlatformErrorCodes,\n    NUMBER_1674: 1674 as ExceptionsPlatformErrorCodes,\n    NUMBER_1675: 1675 as ExceptionsPlatformErrorCodes,\n    NUMBER_1676: 1676 as ExceptionsPlatformErrorCodes,\n    NUMBER_1677: 1677 as ExceptionsPlatformErrorCodes,\n    NUMBER_1678: 1678 as ExceptionsPlatformErrorCodes,\n    NUMBER_1679: 1679 as ExceptionsPlatformErrorCodes,\n    NUMBER_1680: 1680 as ExceptionsPlatformErrorCodes,\n    NUMBER_1681: 1681 as ExceptionsPlatformErrorCodes,\n    NUMBER_1682: 1682 as ExceptionsPlatformErrorCodes,\n    NUMBER_1683: 1683 as ExceptionsPlatformErrorCodes,\n    NUMBER_1684: 1684 as ExceptionsPlatformErrorCodes,\n    NUMBER_1685: 1685 as ExceptionsPlatformErrorCodes,\n    NUMBER_1686: 1686 as ExceptionsPlatformErrorCodes,\n    NUMBER_1687: 1687 as ExceptionsPlatformErrorCodes,\n    NUMBER_1688: 1688 as ExceptionsPlatformErrorCodes,\n    NUMBER_1800: 1800 as ExceptionsPlatformErrorCodes,\n    NUMBER_1801: 1801 as ExceptionsPlatformErrorCodes,\n    NUMBER_1802: 1802 as ExceptionsPlatformErrorCodes,\n    NUMBER_1803: 1803 as ExceptionsPlatformErrorCodes,\n    NUMBER_1804: 1804 as ExceptionsPlatformErrorCodes,\n    NUMBER_1805: 1805 as ExceptionsPlatformErrorCodes,\n    NUMBER_1806: 1806 as ExceptionsPlatformErrorCodes,\n    NUMBER_1900: 1900 as ExceptionsPlatformErrorCodes,\n    NUMBER_1901: 1901 as ExceptionsPlatformErrorCodes,\n    NUMBER_1902: 1902 as ExceptionsPlatformErrorCodes,\n    NUMBER_1903: 1903 as ExceptionsPlatformErrorCodes,\n    NUMBER_1904: 1904 as ExceptionsPlatformErrorCodes,\n    NUMBER_1905: 1905 as ExceptionsPlatformErrorCodes,\n    NUMBER_1906: 1906 as ExceptionsPlatformErrorCodes,\n    NUMBER_1907: 1907 as ExceptionsPlatformErrorCodes,\n    NUMBER_1908: 1908 as ExceptionsPlatformErrorCodes,\n    NUMBER_1910: 1910 as ExceptionsPlatformErrorCodes,\n    NUMBER_1911: 1911 as ExceptionsPlatformErrorCodes,\n    NUMBER_1912: 1912 as ExceptionsPlatformErrorCodes,\n    NUMBER_1913: 1913 as ExceptionsPlatformErrorCodes,\n    NUMBER_1914: 1914 as ExceptionsPlatformErrorCodes,\n    NUMBER_2000: 2000 as ExceptionsPlatformErrorCodes,\n    NUMBER_2001: 2001 as ExceptionsPlatformErrorCodes,\n    NUMBER_2002: 2002 as ExceptionsPlatformErrorCodes,\n    NUMBER_2003: 2003 as ExceptionsPlatformErrorCodes,\n    NUMBER_2004: 2004 as ExceptionsPlatformErrorCodes,\n    NUMBER_2005: 2005 as ExceptionsPlatformErrorCodes,\n    NUMBER_2006: 2006 as ExceptionsPlatformErrorCodes,\n    NUMBER_2007: 2007 as ExceptionsPlatformErrorCodes,\n    NUMBER_2008: 2008 as ExceptionsPlatformErrorCodes,\n    NUMBER_2009: 2009 as ExceptionsPlatformErrorCodes,\n    NUMBER_2010: 2010 as ExceptionsPlatformErrorCodes,\n    NUMBER_2011: 2011 as ExceptionsPlatformErrorCodes,\n    NUMBER_2012: 2012 as ExceptionsPlatformErrorCodes,\n    NUMBER_2013: 2013 as ExceptionsPlatformErrorCodes,\n    NUMBER_2014: 2014 as ExceptionsPlatformErrorCodes,\n    NUMBER_2015: 2015 as ExceptionsPlatformErrorCodes,\n    NUMBER_2016: 2016 as ExceptionsPlatformErrorCodes,\n    NUMBER_2017: 2017 as ExceptionsPlatformErrorCodes,\n    NUMBER_2018: 2018 as ExceptionsPlatformErrorCodes,\n    NUMBER_2019: 2019 as ExceptionsPlatformErrorCodes,\n    NUMBER_2020: 2020 as ExceptionsPlatformErrorCodes,\n    NUMBER_2021: 2021 as ExceptionsPlatformErrorCodes,\n    NUMBER_2022: 2022 as ExceptionsPlatformErrorCodes,\n    NUMBER_2023: 2023 as ExceptionsPlatformErrorCodes,\n    NUMBER_2024: 2024 as ExceptionsPlatformErrorCodes,\n    NUMBER_2025: 2025 as ExceptionsPlatformErrorCodes,\n    NUMBER_2026: 2026 as ExceptionsPlatformErrorCodes,\n    NUMBER_2027: 2027 as ExceptionsPlatformErrorCodes,\n    NUMBER_2028: 2028 as ExceptionsPlatformErrorCodes,\n    NUMBER_2029: 2029 as ExceptionsPlatformErrorCodes,\n    NUMBER_2030: 2030 as ExceptionsPlatformErrorCodes,\n    NUMBER_2031: 2031 as ExceptionsPlatformErrorCodes,\n    NUMBER_2032: 2032 as ExceptionsPlatformErrorCodes,\n    NUMBER_2033: 2033 as ExceptionsPlatformErrorCodes,\n    NUMBER_2034: 2034 as ExceptionsPlatformErrorCodes,\n    NUMBER_2035: 2035 as ExceptionsPlatformErrorCodes,\n    NUMBER_2036: 2036 as ExceptionsPlatformErrorCodes,\n    NUMBER_2037: 2037 as ExceptionsPlatformErrorCodes,\n    NUMBER_2038: 2038 as ExceptionsPlatformErrorCodes,\n    NUMBER_2039: 2039 as ExceptionsPlatformErrorCodes,\n    NUMBER_2040: 2040 as ExceptionsPlatformErrorCodes,\n    NUMBER_2041: 2041 as ExceptionsPlatformErrorCodes,\n    NUMBER_2042: 2042 as ExceptionsPlatformErrorCodes,\n    NUMBER_2043: 2043 as ExceptionsPlatformErrorCodes,\n    NUMBER_2044: 2044 as ExceptionsPlatformErrorCodes,\n    NUMBER_2045: 2045 as ExceptionsPlatformErrorCodes,\n    NUMBER_2046: 2046 as ExceptionsPlatformErrorCodes,\n    NUMBER_2047: 2047 as ExceptionsPlatformErrorCodes,\n    NUMBER_2048: 2048 as ExceptionsPlatformErrorCodes,\n    NUMBER_2049: 2049 as ExceptionsPlatformErrorCodes,\n    NUMBER_2050: 2050 as ExceptionsPlatformErrorCodes,\n    NUMBER_2051: 2051 as ExceptionsPlatformErrorCodes,\n    NUMBER_2052: 2052 as ExceptionsPlatformErrorCodes,\n    NUMBER_2053: 2053 as ExceptionsPlatformErrorCodes,\n    NUMBER_2054: 2054 as ExceptionsPlatformErrorCodes,\n    NUMBER_2055: 2055 as ExceptionsPlatformErrorCodes,\n    NUMBER_2056: 2056 as ExceptionsPlatformErrorCodes,\n    NUMBER_2057: 2057 as ExceptionsPlatformErrorCodes,\n    NUMBER_2058: 2058 as ExceptionsPlatformErrorCodes,\n    NUMBER_2059: 2059 as ExceptionsPlatformErrorCodes,\n    NUMBER_2060: 2060 as ExceptionsPlatformErrorCodes,\n    NUMBER_2061: 2061 as ExceptionsPlatformErrorCodes,\n    NUMBER_2062: 2062 as ExceptionsPlatformErrorCodes,\n    NUMBER_2063: 2063 as ExceptionsPlatformErrorCodes,\n    NUMBER_2064: 2064 as ExceptionsPlatformErrorCodes,\n    NUMBER_2065: 2065 as ExceptionsPlatformErrorCodes,\n    NUMBER_2100: 2100 as ExceptionsPlatformErrorCodes,\n    NUMBER_2101: 2101 as ExceptionsPlatformErrorCodes,\n    NUMBER_2102: 2102 as ExceptionsPlatformErrorCodes,\n    NUMBER_2103: 2103 as ExceptionsPlatformErrorCodes,\n    NUMBER_2104: 2104 as ExceptionsPlatformErrorCodes,\n    NUMBER_2105: 2105 as ExceptionsPlatformErrorCodes,\n    NUMBER_2106: 2106 as ExceptionsPlatformErrorCodes,\n    NUMBER_2107: 2107 as ExceptionsPlatformErrorCodes,\n    NUMBER_2108: 2108 as ExceptionsPlatformErrorCodes,\n    NUMBER_2109: 2109 as ExceptionsPlatformErrorCodes,\n    NUMBER_2110: 2110 as ExceptionsPlatformErrorCodes,\n    NUMBER_2111: 2111 as ExceptionsPlatformErrorCodes,\n    NUMBER_2112: 2112 as ExceptionsPlatformErrorCodes,\n    NUMBER_2113: 2113 as ExceptionsPlatformErrorCodes,\n    NUMBER_2114: 2114 as ExceptionsPlatformErrorCodes,\n    NUMBER_2115: 2115 as ExceptionsPlatformErrorCodes,\n    NUMBER_2116: 2116 as ExceptionsPlatformErrorCodes,\n    NUMBER_2117: 2117 as ExceptionsPlatformErrorCodes,\n    NUMBER_2118: 2118 as ExceptionsPlatformErrorCodes,\n    NUMBER_2119: 2119 as ExceptionsPlatformErrorCodes,\n    NUMBER_2120: 2120 as ExceptionsPlatformErrorCodes,\n    NUMBER_2121: 2121 as ExceptionsPlatformErrorCodes,\n    NUMBER_2122: 2122 as ExceptionsPlatformErrorCodes,\n    NUMBER_2123: 2123 as ExceptionsPlatformErrorCodes,\n    NUMBER_2124: 2124 as ExceptionsPlatformErrorCodes,\n    NUMBER_2125: 2125 as ExceptionsPlatformErrorCodes,\n    NUMBER_2126: 2126 as ExceptionsPlatformErrorCodes,\n    NUMBER_2200: 2200 as ExceptionsPlatformErrorCodes,\n    NUMBER_2201: 2201 as ExceptionsPlatformErrorCodes,\n    NUMBER_2202: 2202 as ExceptionsPlatformErrorCodes,\n    NUMBER_2203: 2203 as ExceptionsPlatformErrorCodes,\n    NUMBER_2204: 2204 as ExceptionsPlatformErrorCodes,\n    NUMBER_2205: 2205 as ExceptionsPlatformErrorCodes,\n    NUMBER_2206: 2206 as ExceptionsPlatformErrorCodes,\n    NUMBER_2207: 2207 as ExceptionsPlatformErrorCodes,\n    NUMBER_2300: 2300 as ExceptionsPlatformErrorCodes,\n    NUMBER_2500: 2500 as ExceptionsPlatformErrorCodes,\n    NUMBER_2501: 2501 as ExceptionsPlatformErrorCodes,\n    NUMBER_2502: 2502 as ExceptionsPlatformErrorCodes,\n    NUMBER_2503: 2503 as ExceptionsPlatformErrorCodes,\n    NUMBER_2504: 2504 as ExceptionsPlatformErrorCodes,\n    NUMBER_2505: 2505 as ExceptionsPlatformErrorCodes,\n    NUMBER_2506: 2506 as ExceptionsPlatformErrorCodes,\n    NUMBER_2507: 2507 as ExceptionsPlatformErrorCodes,\n    NUMBER_2508: 2508 as ExceptionsPlatformErrorCodes,\n    NUMBER_2509: 2509 as ExceptionsPlatformErrorCodes,\n    NUMBER_2510: 2510 as ExceptionsPlatformErrorCodes,\n    NUMBER_2600: 2600 as ExceptionsPlatformErrorCodes,\n    NUMBER_2601: 2601 as ExceptionsPlatformErrorCodes,\n    NUMBER_2700: 2700 as ExceptionsPlatformErrorCodes,\n    NUMBER_2701: 2701 as ExceptionsPlatformErrorCodes,\n    NUMBER_2702: 2702 as ExceptionsPlatformErrorCodes,\n    NUMBER_2703: 2703 as ExceptionsPlatformErrorCodes,\n    NUMBER_2800: 2800 as ExceptionsPlatformErrorCodes,\n    NUMBER_2801: 2801 as ExceptionsPlatformErrorCodes,\n    NUMBER_2802: 2802 as ExceptionsPlatformErrorCodes,\n    NUMBER_2803: 2803 as ExceptionsPlatformErrorCodes,\n    NUMBER_2804: 2804 as ExceptionsPlatformErrorCodes,\n    NUMBER_2805: 2805 as ExceptionsPlatformErrorCodes,\n    NUMBER_2806: 2806 as ExceptionsPlatformErrorCodes,\n    NUMBER_2900: 2900 as ExceptionsPlatformErrorCodes,\n    NUMBER_2901: 2901 as ExceptionsPlatformErrorCodes,\n    NUMBER_2902: 2902 as ExceptionsPlatformErrorCodes,\n    NUMBER_2903: 2903 as ExceptionsPlatformErrorCodes,\n    NUMBER_3000: 3000 as ExceptionsPlatformErrorCodes,\n    NUMBER_3001: 3001 as ExceptionsPlatformErrorCodes,\n    NUMBER_3002: 3002 as ExceptionsPlatformErrorCodes,\n    NUMBER_3003: 3003 as ExceptionsPlatformErrorCodes,\n    NUMBER_3004: 3004 as ExceptionsPlatformErrorCodes,\n    NUMBER_3005: 3005 as ExceptionsPlatformErrorCodes,\n    NUMBER_3006: 3006 as ExceptionsPlatformErrorCodes,\n    NUMBER_3007: 3007 as ExceptionsPlatformErrorCodes,\n    NUMBER_3008: 3008 as ExceptionsPlatformErrorCodes,\n    NUMBER_3009: 3009 as ExceptionsPlatformErrorCodes,\n    NUMBER_3010: 3010 as ExceptionsPlatformErrorCodes,\n    NUMBER_3011: 3011 as ExceptionsPlatformErrorCodes,\n    NUMBER_3012: 3012 as ExceptionsPlatformErrorCodes,\n    NUMBER_3013: 3013 as ExceptionsPlatformErrorCodes,\n    NUMBER_3014: 3014 as ExceptionsPlatformErrorCodes,\n    NUMBER_3015: 3015 as ExceptionsPlatformErrorCodes,\n    NUMBER_3016: 3016 as ExceptionsPlatformErrorCodes,\n    NUMBER_3017: 3017 as ExceptionsPlatformErrorCodes,\n    NUMBER_3018: 3018 as ExceptionsPlatformErrorCodes,\n    NUMBER_3019: 3019 as ExceptionsPlatformErrorCodes,\n    NUMBER_3020: 3020 as ExceptionsPlatformErrorCodes,\n    NUMBER_3021: 3021 as ExceptionsPlatformErrorCodes,\n    NUMBER_3022: 3022 as ExceptionsPlatformErrorCodes,\n    NUMBER_3023: 3023 as ExceptionsPlatformErrorCodes,\n    NUMBER_3024: 3024 as ExceptionsPlatformErrorCodes,\n    NUMBER_3025: 3025 as ExceptionsPlatformErrorCodes,\n    NUMBER_3026: 3026 as ExceptionsPlatformErrorCodes,\n    NUMBER_3027: 3027 as ExceptionsPlatformErrorCodes,\n    NUMBER_3028: 3028 as ExceptionsPlatformErrorCodes,\n    NUMBER_3029: 3029 as ExceptionsPlatformErrorCodes,\n    NUMBER_3030: 3030 as ExceptionsPlatformErrorCodes,\n    NUMBER_3031: 3031 as ExceptionsPlatformErrorCodes,\n    NUMBER_3032: 3032 as ExceptionsPlatformErrorCodes,\n    NUMBER_3033: 3033 as ExceptionsPlatformErrorCodes,\n    NUMBER_3034: 3034 as ExceptionsPlatformErrorCodes,\n    NUMBER_3035: 3035 as ExceptionsPlatformErrorCodes,\n    NUMBER_3036: 3036 as ExceptionsPlatformErrorCodes,\n    NUMBER_3037: 3037 as ExceptionsPlatformErrorCodes,\n    NUMBER_3038: 3038 as ExceptionsPlatformErrorCodes,\n    NUMBER_3200: 3200 as ExceptionsPlatformErrorCodes,\n    NUMBER_3201: 3201 as ExceptionsPlatformErrorCodes,\n    NUMBER_3202: 3202 as ExceptionsPlatformErrorCodes,\n    NUMBER_3203: 3203 as ExceptionsPlatformErrorCodes,\n    NUMBER_3204: 3204 as ExceptionsPlatformErrorCodes,\n    NUMBER_3206: 3206 as ExceptionsPlatformErrorCodes,\n    NUMBER_3207: 3207 as ExceptionsPlatformErrorCodes,\n    NUMBER_3208: 3208 as ExceptionsPlatformErrorCodes,\n    NUMBER_3209: 3209 as ExceptionsPlatformErrorCodes,\n    NUMBER_3210: 3210 as ExceptionsPlatformErrorCodes,\n    NUMBER_3211: 3211 as ExceptionsPlatformErrorCodes,\n    NUMBER_3212: 3212 as ExceptionsPlatformErrorCodes,\n    NUMBER_3213: 3213 as ExceptionsPlatformErrorCodes,\n    NUMBER_3214: 3214 as ExceptionsPlatformErrorCodes,\n    NUMBER_3215: 3215 as ExceptionsPlatformErrorCodes,\n    NUMBER_3216: 3216 as ExceptionsPlatformErrorCodes,\n    NUMBER_3217: 3217 as ExceptionsPlatformErrorCodes,\n    NUMBER_3218: 3218 as ExceptionsPlatformErrorCodes,\n    NUMBER_3219: 3219 as ExceptionsPlatformErrorCodes,\n    NUMBER_3220: 3220 as ExceptionsPlatformErrorCodes,\n    NUMBER_3221: 3221 as ExceptionsPlatformErrorCodes,\n    NUMBER_3222: 3222 as ExceptionsPlatformErrorCodes,\n    NUMBER_3300: 3300 as ExceptionsPlatformErrorCodes,\n    NUMBER_3400: 3400 as ExceptionsPlatformErrorCodes,\n    NUMBER_3401: 3401 as ExceptionsPlatformErrorCodes,\n    NUMBER_3402: 3402 as ExceptionsPlatformErrorCodes,\n    NUMBER_3403: 3403 as ExceptionsPlatformErrorCodes,\n    NUMBER_3404: 3404 as ExceptionsPlatformErrorCodes,\n    NUMBER_3405: 3405 as ExceptionsPlatformErrorCodes,\n    NUMBER_3406: 3406 as ExceptionsPlatformErrorCodes,\n    NUMBER_3407: 3407 as ExceptionsPlatformErrorCodes,\n    NUMBER_3408: 3408 as ExceptionsPlatformErrorCodes,\n    NUMBER_3409: 3409 as ExceptionsPlatformErrorCodes,\n    NUMBER_3410: 3410 as ExceptionsPlatformErrorCodes,\n    NUMBER_3411: 3411 as ExceptionsPlatformErrorCodes,\n    NUMBER_3412: 3412 as ExceptionsPlatformErrorCodes,\n    NUMBER_3413: 3413 as ExceptionsPlatformErrorCodes,\n    NUMBER_3414: 3414 as ExceptionsPlatformErrorCodes,\n    NUMBER_3500: 3500 as ExceptionsPlatformErrorCodes,\n    NUMBER_3600: 3600 as ExceptionsPlatformErrorCodes,\n    NUMBER_3702: 3702 as ExceptionsPlatformErrorCodes,\n    NUMBER_3703: 3703 as ExceptionsPlatformErrorCodes,\n    NUMBER_3705: 3705 as ExceptionsPlatformErrorCodes,\n    NUMBER_3706: 3706 as ExceptionsPlatformErrorCodes,\n    NUMBER_3707: 3707 as ExceptionsPlatformErrorCodes,\n    NUMBER_3708: 3708 as ExceptionsPlatformErrorCodes,\n    NUMBER_3709: 3709 as ExceptionsPlatformErrorCodes,\n    NUMBER_3710: 3710 as ExceptionsPlatformErrorCodes,\n    NUMBER_3800: 3800 as ExceptionsPlatformErrorCodes,\n    NUMBER_3801: 3801 as ExceptionsPlatformErrorCodes,\n    NUMBER_3802: 3802 as ExceptionsPlatformErrorCodes,\n    NUMBER_3803: 3803 as ExceptionsPlatformErrorCodes,\n    NUMBER_3804: 3804 as ExceptionsPlatformErrorCodes,\n    NUMBER_3805: 3805 as ExceptionsPlatformErrorCodes,\n    NUMBER_3806: 3806 as ExceptionsPlatformErrorCodes,\n    NUMBER_3807: 3807 as ExceptionsPlatformErrorCodes,\n    NUMBER_3900: 3900 as ExceptionsPlatformErrorCodes,\n    NUMBER_3901: 3901 as ExceptionsPlatformErrorCodes,\n    NUMBER_3902: 3902 as ExceptionsPlatformErrorCodes,\n    NUMBER_3903: 3903 as ExceptionsPlatformErrorCodes,\n    NUMBER_3904: 3904 as ExceptionsPlatformErrorCodes,\n    NUMBER_3905: 3905 as ExceptionsPlatformErrorCodes,\n    NUMBER_3906: 3906 as ExceptionsPlatformErrorCodes,\n    NUMBER_3907: 3907 as ExceptionsPlatformErrorCodes,\n    NUMBER_3908: 3908 as ExceptionsPlatformErrorCodes,\n    NUMBER_3910: 3910 as ExceptionsPlatformErrorCodes,\n    NUMBER_3911: 3911 as ExceptionsPlatformErrorCodes,\n    NUMBER_4000: 4000 as ExceptionsPlatformErrorCodes,\n    NUMBER_4001: 4001 as ExceptionsPlatformErrorCodes,\n    NUMBER_4002: 4002 as ExceptionsPlatformErrorCodes,\n    NUMBER_4003: 4003 as ExceptionsPlatformErrorCodes,\n    NUMBER_4004: 4004 as ExceptionsPlatformErrorCodes,\n    NUMBER_4005: 4005 as ExceptionsPlatformErrorCodes,\n    NUMBER_4006: 4006 as ExceptionsPlatformErrorCodes,\n    NUMBER_4007: 4007 as ExceptionsPlatformErrorCodes,\n    NUMBER_4008: 4008 as ExceptionsPlatformErrorCodes,\n    NUMBER_4009: 4009 as ExceptionsPlatformErrorCodes\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type FireteamFireteamDateRange = 0 | 1 | 2 | 3 | 4;\n\nexport const FireteamFireteamDateRange = {\n    NUMBER_0: 0 as FireteamFireteamDateRange,\n    NUMBER_1: 1 as FireteamFireteamDateRange,\n    NUMBER_2: 2 as FireteamFireteamDateRange,\n    NUMBER_3: 3 as FireteamFireteamDateRange,\n    NUMBER_4: 4 as FireteamFireteamDateRange\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type FireteamFireteamPlatform = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\nexport const FireteamFireteamPlatform = {\n    NUMBER_0: 0 as FireteamFireteamPlatform,\n    NUMBER_1: 1 as FireteamFireteamPlatform,\n    NUMBER_2: 2 as FireteamFireteamPlatform,\n    NUMBER_3: 3 as FireteamFireteamPlatform,\n    NUMBER_4: 4 as FireteamFireteamPlatform,\n    NUMBER_5: 5 as FireteamFireteamPlatform,\n    NUMBER_6: 6 as FireteamFireteamPlatform\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type FireteamFireteamPlatformInviteResult = 0 | 1 | 2 | 3 | 4;\n\nexport const FireteamFireteamPlatformInviteResult = {\n    NUMBER_0: 0 as FireteamFireteamPlatformInviteResult,\n    NUMBER_1: 1 as FireteamFireteamPlatformInviteResult,\n    NUMBER_2: 2 as FireteamFireteamPlatformInviteResult,\n    NUMBER_3: 3 as FireteamFireteamPlatformInviteResult,\n    NUMBER_4: 4 as FireteamFireteamPlatformInviteResult\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type FireteamFireteamPublicSearchOption = 0 | 1 | 2;\n\nexport const FireteamFireteamPublicSearchOption = {\n    NUMBER_0: 0 as FireteamFireteamPublicSearchOption,\n    NUMBER_1: 1 as FireteamFireteamPublicSearchOption,\n    NUMBER_2: 2 as FireteamFireteamPublicSearchOption\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type FireteamFireteamSlotSearch = 0 | 1 | 2;\n\nexport const FireteamFireteamSlotSearch = {\n    NUMBER_0: 0 as FireteamFireteamSlotSearch,\n    NUMBER_1: 1 as FireteamFireteamSlotSearch,\n    NUMBER_2: 2 as FireteamFireteamSlotSearch\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface FireteamFireteamSummary { \n    fireteamId?: number;\n    groupId?: number;\n    platform?: number;\n    activityType?: number;\n    isImmediate?: boolean;\n    scheduledTime?: string;\n    ownerMembershipId?: number;\n    playerSlotCount?: number;\n    alternateSlotCount?: number;\n    availablePlayerSlotCount?: number;\n    availableAlternateSlotCount?: number;\n    title?: string;\n    dateCreated?: string;\n    dateModified?: string;\n    isPublic?: boolean;\n    locale?: string;\n    isValid?: boolean;\n    datePlayerModified?: string;\n    titleBeforeModeration?: string;\n    ownerCurrentGuardianRankSnapshot?: number;\n    ownerHighestLifetimeGuardianRankSnapshot?: number;\n    ownerTotalCommendationScoreSnapshot?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface FireteamFireteamUserInfoCard { \n    FireteamDisplayName?: string;\n    FireteamMembershipType?: number;\n    /**\n     * A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.\n     */\n    supplementalDisplayName?: string;\n    /**\n     * URL the Icon if available.\n     */\n    iconPath?: string;\n    /**\n     * If there is a cross save override in effect, this value will tell you the type that is overridding this one.\n     */\n    crossSaveOverride?: number;\n    /**\n     * The list of Membership Types indicating the platforms on which this Membership can be used.   Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list\n     */\n    applicableMembershipTypes?: Array<number>;\n    /**\n     * If True, this is a public user membership.\n     */\n    isPublic?: boolean;\n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumCommunityContentSortMode = 0 | 1 | 2;\n\nexport const ForumCommunityContentSortMode = {\n    NUMBER_0: 0 as ForumCommunityContentSortMode,\n    NUMBER_1: 1 as ForumCommunityContentSortMode,\n    NUMBER_2: 2 as ForumCommunityContentSortMode\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumMediaType = 0 | 1 | 2 | 3;\n\nexport const ForumForumMediaType = {\n    NUMBER_0: 0 as ForumForumMediaType,\n    NUMBER_1: 1 as ForumForumMediaType,\n    NUMBER_2: 2 as ForumForumMediaType,\n    NUMBER_3: 3 as ForumForumMediaType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumPostPopularity = 0 | 1 | 2 | 3 | 4 | 5;\n\nexport const ForumForumPostPopularity = {\n    NUMBER_0: 0 as ForumForumPostPopularity,\n    NUMBER_1: 1 as ForumForumPostPopularity,\n    NUMBER_2: 2 as ForumForumPostPopularity,\n    NUMBER_3: 3 as ForumForumPostPopularity,\n    NUMBER_4: 4 as ForumForumPostPopularity,\n    NUMBER_5: 5 as ForumForumPostPopularity\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumPostSortEnum = 0 | 1;\n\nexport const ForumForumPostSortEnum = {\n    NUMBER_0: 0 as ForumForumPostSortEnum,\n    NUMBER_1: 1 as ForumForumPostSortEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumRecruitmentIntensityLabel = 0 | 1 | 2;\n\nexport const ForumForumRecruitmentIntensityLabel = {\n    NUMBER_0: 0 as ForumForumRecruitmentIntensityLabel,\n    NUMBER_1: 1 as ForumForumRecruitmentIntensityLabel,\n    NUMBER_2: 2 as ForumForumRecruitmentIntensityLabel\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumRecruitmentToneLabel = 0 | 1 | 2;\n\nexport const ForumForumRecruitmentToneLabel = {\n    NUMBER_0: 0 as ForumForumRecruitmentToneLabel,\n    NUMBER_1: 1 as ForumForumRecruitmentToneLabel,\n    NUMBER_2: 2 as ForumForumRecruitmentToneLabel\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumTopicsCategoryFiltersEnum = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128;\n\nexport const ForumForumTopicsCategoryFiltersEnum = {\n    NUMBER_0: 0 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_1: 1 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_2: 2 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_4: 4 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_8: 8 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_16: 16 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_32: 32 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_64: 64 as ForumForumTopicsCategoryFiltersEnum,\n    NUMBER_128: 128 as ForumForumTopicsCategoryFiltersEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumTopicsQuickDateEnum = 0 | 1 | 2 | 3 | 4;\n\nexport const ForumForumTopicsQuickDateEnum = {\n    NUMBER_0: 0 as ForumForumTopicsQuickDateEnum,\n    NUMBER_1: 1 as ForumForumTopicsQuickDateEnum,\n    NUMBER_2: 2 as ForumForumTopicsQuickDateEnum,\n    NUMBER_3: 3 as ForumForumTopicsQuickDateEnum,\n    NUMBER_4: 4 as ForumForumTopicsQuickDateEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumForumTopicsSortEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;\n\nexport const ForumForumTopicsSortEnum = {\n    NUMBER_0: 0 as ForumForumTopicsSortEnum,\n    NUMBER_1: 1 as ForumForumTopicsSortEnum,\n    NUMBER_2: 2 as ForumForumTopicsSortEnum,\n    NUMBER_3: 3 as ForumForumTopicsSortEnum,\n    NUMBER_4: 4 as ForumForumTopicsSortEnum,\n    NUMBER_5: 5 as ForumForumTopicsSortEnum,\n    NUMBER_6: 6 as ForumForumTopicsSortEnum,\n    NUMBER_7: 7 as ForumForumTopicsSortEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ForumGetTopicForContent200Response { \n    Response?: number;\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ForumPollResult { \n    answerText?: string;\n    answerSlot?: number;\n    lastVoteDate?: string;\n    votes?: number;\n    requestingUserVoted?: boolean;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumsForumFlagsEnum = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128;\n\nexport const ForumsForumFlagsEnum = {\n    NUMBER_0: 0 as ForumsForumFlagsEnum,\n    NUMBER_1: 1 as ForumsForumFlagsEnum,\n    NUMBER_2: 2 as ForumsForumFlagsEnum,\n    NUMBER_4: 4 as ForumsForumFlagsEnum,\n    NUMBER_8: 8 as ForumsForumFlagsEnum,\n    NUMBER_16: 16 as ForumsForumFlagsEnum,\n    NUMBER_32: 32 as ForumsForumFlagsEnum,\n    NUMBER_64: 64 as ForumsForumFlagsEnum,\n    NUMBER_128: 128 as ForumsForumFlagsEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type ForumsForumPostCategoryEnums = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024;\n\nexport const ForumsForumPostCategoryEnums = {\n    NUMBER_0: 0 as ForumsForumPostCategoryEnums,\n    NUMBER_1: 1 as ForumsForumPostCategoryEnums,\n    NUMBER_2: 2 as ForumsForumPostCategoryEnums,\n    NUMBER_4: 4 as ForumsForumPostCategoryEnums,\n    NUMBER_8: 8 as ForumsForumPostCategoryEnums,\n    NUMBER_16: 16 as ForumsForumPostCategoryEnums,\n    NUMBER_32: 32 as ForumsForumPostCategoryEnums,\n    NUMBER_64: 64 as ForumsForumPostCategoryEnums,\n    NUMBER_128: 128 as ForumsForumPostCategoryEnums,\n    NUMBER_256: 256 as ForumsForumPostCategoryEnums,\n    NUMBER_512: 512 as ForumsForumPostCategoryEnums,\n    NUMBER_1024: 1024 as ForumsForumPostCategoryEnums\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GlobalAlertLevel = 0 | 1 | 2 | 3;\n\nexport const GlobalAlertLevel = {\n    NUMBER_0: 0 as GlobalAlertLevel,\n    NUMBER_1: 1 as GlobalAlertLevel,\n    NUMBER_2: 2 as GlobalAlertLevel,\n    NUMBER_3: 3 as GlobalAlertLevel\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GlobalAlertType = 0 | 1;\n\nexport const GlobalAlertType = {\n    NUMBER_0: 0 as GlobalAlertType,\n    NUMBER_1: 1 as GlobalAlertType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupV2EditGroup200Response { \n    Response?: number;\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupV2GetUserClanInviteSetting200Response { \n    Response?: boolean;\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2Capabilities = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64;\n\nexport const GroupsV2Capabilities = {\n    NUMBER_0: 0 as GroupsV2Capabilities,\n    NUMBER_1: 1 as GroupsV2Capabilities,\n    NUMBER_2: 2 as GroupsV2Capabilities,\n    NUMBER_4: 4 as GroupsV2Capabilities,\n    NUMBER_8: 8 as GroupsV2Capabilities,\n    NUMBER_16: 16 as GroupsV2Capabilities,\n    NUMBER_32: 32 as GroupsV2Capabilities,\n    NUMBER_64: 64 as GroupsV2Capabilities\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2ChatSecuritySetting = 0 | 1;\n\nexport const GroupsV2ChatSecuritySetting = {\n    NUMBER_0: 0 as GroupsV2ChatSecuritySetting,\n    NUMBER_1: 1 as GroupsV2ChatSecuritySetting\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2ClanBanner { \n    decalId?: number;\n    decalColorId?: number;\n    decalBackgroundColorId?: number;\n    gonfalonId?: number;\n    gonfalonColorId?: number;\n    gonfalonDetailId?: number;\n    gonfalonDetailColorId?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupAllianceStatus = 0 | 1 | 2;\n\nexport const GroupsV2GroupAllianceStatus = {\n    NUMBER_0: 0 as GroupsV2GroupAllianceStatus,\n    NUMBER_1: 1 as GroupsV2GroupAllianceStatus,\n    NUMBER_2: 2 as GroupsV2GroupAllianceStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupApplicationRequest { \n    message?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupApplicationResolveState = 0 | 1 | 2 | 3;\n\nexport const GroupsV2GroupApplicationResolveState = {\n    NUMBER_0: 0 as GroupsV2GroupApplicationResolveState,\n    NUMBER_1: 1 as GroupsV2GroupApplicationResolveState,\n    NUMBER_2: 2 as GroupsV2GroupApplicationResolveState,\n    NUMBER_3: 3 as GroupsV2GroupApplicationResolveState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupApplicationResponse { \n    resolution?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupBanRequest { \n    comment?: string;\n    length?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupDateRange = 0 | 1 | 2 | 3 | 4;\n\nexport const GroupsV2GroupDateRange = {\n    NUMBER_0: 0 as GroupsV2GroupDateRange,\n    NUMBER_1: 1 as GroupsV2GroupDateRange,\n    NUMBER_2: 2 as GroupsV2GroupDateRange,\n    NUMBER_3: 3 as GroupsV2GroupDateRange,\n    NUMBER_4: 4 as GroupsV2GroupDateRange\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupEditAction { \n    name?: string;\n    about?: string;\n    motto?: string;\n    theme?: string;\n    avatarImageIndex?: number;\n    tags?: string;\n    isPublic?: boolean;\n    membershipOption?: GroupsV2GroupEditAction.MembershipOptionEnum;\n    isPublicTopicAdminOnly?: boolean;\n    allowChat?: boolean;\n    chatSecurity?: GroupsV2GroupEditAction.ChatSecurityEnum;\n    callsign?: string;\n    locale?: string;\n    homepage?: GroupsV2GroupEditAction.HomepageEnum;\n    enableInvitationMessagingForAdmins?: boolean;\n    defaultPublicity?: GroupsV2GroupEditAction.DefaultPublicityEnum;\n}\nexport namespace GroupsV2GroupEditAction {\n    export type MembershipOptionEnum = 0 | 1 | 2;\n    export const MembershipOptionEnum = {\n        NUMBER_0: 0 as MembershipOptionEnum,\n        NUMBER_1: 1 as MembershipOptionEnum,\n        NUMBER_2: 2 as MembershipOptionEnum\n    };\n    export type ChatSecurityEnum = 0 | 1;\n    export const ChatSecurityEnum = {\n        NUMBER_0: 0 as ChatSecurityEnum,\n        NUMBER_1: 1 as ChatSecurityEnum\n    };\n    export type HomepageEnum = 0 | 1 | 2;\n    export const HomepageEnum = {\n        NUMBER_0: 0 as HomepageEnum,\n        NUMBER_1: 1 as HomepageEnum,\n        NUMBER_2: 2 as HomepageEnum\n    };\n    export type DefaultPublicityEnum = 0 | 1 | 2;\n    export const DefaultPublicityEnum = {\n        NUMBER_0: 0 as DefaultPublicityEnum,\n        NUMBER_1: 1 as DefaultPublicityEnum,\n        NUMBER_2: 2 as DefaultPublicityEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupFeatures { \n    maximumMembers?: number;\n    /**\n     * Maximum number of groups of this type a typical membership may join. For example, a user may join about 50 General groups with their Bungie.net account. They may join one clan per Destiny membership.\n     */\n    maximumMembershipsOfGroupType?: number;\n    capabilities?: number;\n    membershipTypes?: Array<number>;\n    /**\n     * Minimum Member Level allowed to invite new members to group  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    invitePermissionOverride?: boolean;\n    /**\n     * Minimum Member Level allowed to update group culture  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    updateCulturePermissionOverride?: boolean;\n    /**\n     * Minimum Member Level allowed to host guided games  Always Allowed: Founder, Acting Founder, Admin  Allowed Overrides: None, Member, Beginner  Default is Member for clans, None for groups, although this means nothing for groups.\n     */\n    hostGuidedGamePermissionOverride?: number;\n    /**\n     * Minimum Member Level allowed to update banner  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    updateBannerPermissionOverride?: boolean;\n    /**\n     * Level to join a member at when accepting an invite, application, or joining an open clan  Default is Beginner.\n     */\n    joinLevel?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupHomepage = 0 | 1 | 2;\n\nexport const GroupsV2GroupHomepage = {\n    NUMBER_0: 0 as GroupsV2GroupHomepage,\n    NUMBER_1: 1 as GroupsV2GroupHomepage,\n    NUMBER_2: 2 as GroupsV2GroupHomepage\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupMemberCountFilter = 0 | 1 | 2 | 3;\n\nexport const GroupsV2GroupMemberCountFilter = {\n    NUMBER_0: 0 as GroupsV2GroupMemberCountFilter,\n    NUMBER_1: 1 as GroupsV2GroupMemberCountFilter,\n    NUMBER_2: 2 as GroupsV2GroupMemberCountFilter,\n    NUMBER_3: 3 as GroupsV2GroupMemberCountFilter\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupNameSearchRequest { \n    groupName?: string;\n    groupType?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupOptionalConversation { \n    groupId?: number;\n    conversationId?: number;\n    chatEnabled?: boolean;\n    chatName?: string;\n    chatSecurity?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupOptionalConversationAddRequest { \n    chatName?: string;\n    chatSecurity?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupOptionalConversationEditRequest { \n    chatEnabled?: boolean;\n    chatName?: string;\n    chatSecurity?: GroupsV2GroupOptionalConversationEditRequest.ChatSecurityEnum;\n}\nexport namespace GroupsV2GroupOptionalConversationEditRequest {\n    export type ChatSecurityEnum = 0 | 1;\n    export const ChatSecurityEnum = {\n        NUMBER_0: 0 as ChatSecurityEnum,\n        NUMBER_1: 1 as ChatSecurityEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupOptionsEditAction { \n    /**\n     * Minimum Member Level allowed to invite new members to group  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    InvitePermissionOverride?: boolean;\n    /**\n     * Minimum Member Level allowed to update group culture  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    UpdateCulturePermissionOverride?: boolean;\n    /**\n     * Minimum Member Level allowed to host guided games  Always Allowed: Founder, Acting Founder, Admin  Allowed Overrides: None, Member, Beginner  Default is Member for clans, None for groups, although this means nothing for groups.\n     */\n    HostGuidedGamePermissionOverride?: GroupsV2GroupOptionsEditAction.HostGuidedGamePermissionOverrideEnum;\n    /**\n     * Minimum Member Level allowed to update banner  Always Allowed: Founder, Acting Founder  True means admins have this power, false means they don\\'t  Default is false for clans, true for groups.\n     */\n    UpdateBannerPermissionOverride?: boolean;\n    /**\n     * Level to join a member at when accepting an invite, application, or joining an open clan  Default is Beginner.\n     */\n    JoinLevel?: GroupsV2GroupOptionsEditAction.JoinLevelEnum;\n}\nexport namespace GroupsV2GroupOptionsEditAction {\n    export type HostGuidedGamePermissionOverrideEnum = 0 | 1 | 2;\n    export const HostGuidedGamePermissionOverrideEnum = {\n        NUMBER_0: 0 as HostGuidedGamePermissionOverrideEnum,\n        NUMBER_1: 1 as HostGuidedGamePermissionOverrideEnum,\n        NUMBER_2: 2 as HostGuidedGamePermissionOverrideEnum\n    };\n    export type JoinLevelEnum = 0 | 1 | 2 | 3 | 4 | 5;\n    export const JoinLevelEnum = {\n        NUMBER_0: 0 as JoinLevelEnum,\n        NUMBER_1: 1 as JoinLevelEnum,\n        NUMBER_2: 2 as JoinLevelEnum,\n        NUMBER_3: 3 as JoinLevelEnum,\n        NUMBER_4: 4 as JoinLevelEnum,\n        NUMBER_5: 5 as JoinLevelEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupPostPublicity = 0 | 1 | 2;\n\nexport const GroupsV2GroupPostPublicity = {\n    NUMBER_0: 0 as GroupsV2GroupPostPublicity,\n    NUMBER_1: 1 as GroupsV2GroupPostPublicity,\n    NUMBER_2: 2 as GroupsV2GroupPostPublicity\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupPotentialMemberStatus = 0 | 1 | 2;\n\nexport const GroupsV2GroupPotentialMemberStatus = {\n    NUMBER_0: 0 as GroupsV2GroupPotentialMemberStatus,\n    NUMBER_1: 1 as GroupsV2GroupPotentialMemberStatus,\n    NUMBER_2: 2 as GroupsV2GroupPotentialMemberStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * NOTE: GroupQuery, as of Destiny 2, has essentially two totally different and incompatible \\\"modes\\\".  If you are querying for a group, you can pass any of the properties below.  If you are querying for a Clan, you MUST NOT pass any of the following properties (they must be null or undefined in your request, not just empty string/default values):  - groupMemberCountFilter - localeFilter - tagText  If you pass these, you will get a useless InvalidParameters error.\n */\nexport interface GroupsV2GroupQuery { \n    name?: string;\n    groupType?: number;\n    creationDate?: number;\n    sortBy?: number;\n    groupMemberCountFilter?: GroupsV2GroupQuery.GroupMemberCountFilterEnum;\n    localeFilter?: string;\n    tagText?: string;\n    itemsPerPage?: number;\n    currentPage?: number;\n    requestContinuationToken?: string;\n}\nexport namespace GroupsV2GroupQuery {\n    export type GroupMemberCountFilterEnum = 0 | 1 | 2 | 3;\n    export const GroupMemberCountFilterEnum = {\n        NUMBER_0: 0 as GroupMemberCountFilterEnum,\n        NUMBER_1: 1 as GroupMemberCountFilterEnum,\n        NUMBER_2: 2 as GroupMemberCountFilterEnum,\n        NUMBER_3: 3 as GroupMemberCountFilterEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupSortBy = 0 | 1 | 2 | 3;\n\nexport const GroupsV2GroupSortBy = {\n    NUMBER_0: 0 as GroupsV2GroupSortBy,\n    NUMBER_1: 1 as GroupsV2GroupSortBy,\n    NUMBER_2: 2 as GroupsV2GroupSortBy,\n    NUMBER_3: 3 as GroupsV2GroupSortBy\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupType = 0 | 1;\n\nexport const GroupsV2GroupType = {\n    NUMBER_0: 0 as GroupsV2GroupType,\n    NUMBER_1: 1 as GroupsV2GroupType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GroupsV2GroupUserInfoCard { \n    /**\n     * This will be the display name the clan server last saw the user as. If the account is an active cross save override, this will be the display name to use. Otherwise, this will match the displayName property.\n     */\n    LastSeenDisplayName?: string;\n    /**\n     * The platform of the LastSeenDisplayName\n     */\n    LastSeenDisplayNameType?: number;\n    /**\n     * A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.\n     */\n    supplementalDisplayName?: string;\n    /**\n     * URL the Icon if available.\n     */\n    iconPath?: string;\n    /**\n     * If there is a cross save override in effect, this value will tell you the type that is overridding this one.\n     */\n    crossSaveOverride?: number;\n    /**\n     * The list of Membership Types indicating the platforms on which this Membership can be used.   Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list\n     */\n    applicableMembershipTypes?: Array<number>;\n    /**\n     * If True, this is a public user membership.\n     */\n    isPublic?: boolean;\n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2GroupsForMemberFilter = 0 | 1 | 2;\n\nexport const GroupsV2GroupsForMemberFilter = {\n    NUMBER_0: 0 as GroupsV2GroupsForMemberFilter,\n    NUMBER_1: 1 as GroupsV2GroupsForMemberFilter,\n    NUMBER_2: 2 as GroupsV2GroupsForMemberFilter\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Used for setting the guided game permission level override (admins and founders can always host guided games).\n */\nexport type GroupsV2HostGuidedGamesPermissionLevel = 0 | 1 | 2;\n\nexport const GroupsV2HostGuidedGamesPermissionLevel = {\n    NUMBER_0: 0 as GroupsV2HostGuidedGamesPermissionLevel,\n    NUMBER_1: 1 as GroupsV2HostGuidedGamesPermissionLevel,\n    NUMBER_2: 2 as GroupsV2HostGuidedGamesPermissionLevel\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type GroupsV2MembershipOption = 0 | 1 | 2;\n\nexport const GroupsV2MembershipOption = {\n    NUMBER_0: 0 as GroupsV2MembershipOption,\n    NUMBER_1: 1 as GroupsV2MembershipOption,\n    NUMBER_2: 2 as GroupsV2MembershipOption\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The member levels used by all V2 Groups API. Individual group types use their own mappings in their native storage (general uses BnetDbGroupMemberType and D2 clans use ClanMemberLevel), but they are all translated to this in the runtime api. These runtime values should NEVER be stored anywhere, so the values can be changed as necessary.\n */\nexport type GroupsV2RuntimeGroupMemberType = 0 | 1 | 2 | 3 | 4 | 5;\n\nexport const GroupsV2RuntimeGroupMemberType = {\n    NUMBER_0: 0 as GroupsV2RuntimeGroupMemberType,\n    NUMBER_1: 1 as GroupsV2RuntimeGroupMemberType,\n    NUMBER_2: 2 as GroupsV2RuntimeGroupMemberType,\n    NUMBER_3: 3 as GroupsV2RuntimeGroupMemberType,\n    NUMBER_4: 4 as GroupsV2RuntimeGroupMemberType,\n    NUMBER_5: 5 as GroupsV2RuntimeGroupMemberType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type IgnoresIgnoreLength = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;\n\nexport const IgnoresIgnoreLength = {\n    NUMBER_0: 0 as IgnoresIgnoreLength,\n    NUMBER_1: 1 as IgnoresIgnoreLength,\n    NUMBER_2: 2 as IgnoresIgnoreLength,\n    NUMBER_3: 3 as IgnoresIgnoreLength,\n    NUMBER_4: 4 as IgnoresIgnoreLength,\n    NUMBER_5: 5 as IgnoresIgnoreLength,\n    NUMBER_6: 6 as IgnoresIgnoreLength,\n    NUMBER_7: 7 as IgnoresIgnoreLength,\n    NUMBER_8: 8 as IgnoresIgnoreLength,\n    NUMBER_9: 9 as IgnoresIgnoreLength,\n    NUMBER_10: 10 as IgnoresIgnoreLength,\n    NUMBER_11: 11 as IgnoresIgnoreLength\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface IgnoresIgnoreResponse { \n    isIgnored?: boolean;\n    ignoreFlags?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type IgnoresIgnoreStatus = 0 | 1 | 2 | 4 | 8 | 16 | 32;\n\nexport const IgnoresIgnoreStatus = {\n    NUMBER_0: 0 as IgnoresIgnoreStatus,\n    NUMBER_1: 1 as IgnoresIgnoreStatus,\n    NUMBER_2: 2 as IgnoresIgnoreStatus,\n    NUMBER_4: 4 as IgnoresIgnoreStatus,\n    NUMBER_8: 8 as IgnoresIgnoreStatus,\n    NUMBER_16: 16 as IgnoresIgnoreStatus,\n    NUMBER_32: 32 as IgnoresIgnoreStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InterpolationInterpolationPoint { \n    value?: number;\n    weight?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InterpolationInterpolationPointFloat { \n    value?: number;\n    weight?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface LinksHyperlinkReference { \n    title?: string;\n    url?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface QueriesPagedQuery { \n    itemsPerPage?: number;\n    currentPage?: number;\n    requestContinuationToken?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SocialFriendsFriendRelationshipState = 0 | 1 | 2 | 3;\n\nexport const SocialFriendsFriendRelationshipState = {\n    NUMBER_0: 0 as SocialFriendsFriendRelationshipState,\n    NUMBER_1: 1 as SocialFriendsFriendRelationshipState,\n    NUMBER_2: 2 as SocialFriendsFriendRelationshipState,\n    NUMBER_3: 3 as SocialFriendsFriendRelationshipState\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface SocialFriendsPlatformFriend { \n    platformDisplayName?: string;\n    friendPlatform?: number;\n    destinyMembershipId?: number;\n    destinyMembershipType?: SocialFriendsPlatformFriend.DestinyMembershipTypeEnum;\n    bungieNetMembershipId?: number;\n    bungieGlobalDisplayName?: string;\n    bungieGlobalDisplayNameCode?: number;\n}\nexport namespace SocialFriendsPlatformFriend {\n    export type DestinyMembershipTypeEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 10 | 254 | -1;\n    export const DestinyMembershipTypeEnum = {\n        NUMBER_0: 0 as DestinyMembershipTypeEnum,\n        NUMBER_1: 1 as DestinyMembershipTypeEnum,\n        NUMBER_2: 2 as DestinyMembershipTypeEnum,\n        NUMBER_3: 3 as DestinyMembershipTypeEnum,\n        NUMBER_4: 4 as DestinyMembershipTypeEnum,\n        NUMBER_5: 5 as DestinyMembershipTypeEnum,\n        NUMBER_6: 6 as DestinyMembershipTypeEnum,\n        NUMBER_10: 10 as DestinyMembershipTypeEnum,\n        NUMBER_254: 254 as DestinyMembershipTypeEnum,\n        NUMBER_MINUS_1: -1 as DestinyMembershipTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SocialFriendsPlatformFriendType = 0 | 1 | 2 | 3 | 4;\n\nexport const SocialFriendsPlatformFriendType = {\n    NUMBER_0: 0 as SocialFriendsPlatformFriendType,\n    NUMBER_1: 1 as SocialFriendsPlatformFriendType,\n    NUMBER_2: 2 as SocialFriendsPlatformFriendType,\n    NUMBER_3: 3 as SocialFriendsPlatformFriendType,\n    NUMBER_4: 4 as SocialFriendsPlatformFriendType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SocialFriendsPresenceOnlineStateFlags = 0 | 1 | 2;\n\nexport const SocialFriendsPresenceOnlineStateFlags = {\n    NUMBER_0: 0 as SocialFriendsPresenceOnlineStateFlags,\n    NUMBER_1: 1 as SocialFriendsPresenceOnlineStateFlags,\n    NUMBER_2: 2 as SocialFriendsPresenceOnlineStateFlags\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type SocialFriendsPresenceStatus = 0 | 1;\n\nexport const SocialFriendsPresenceStatus = {\n    NUMBER_0: 0 as SocialFriendsPresenceStatus,\n    NUMBER_1: 1 as SocialFriendsPresenceStatus\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface StreamInfo { \n    ChannelName?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type StreamingDropStateEnum = 0 | 1 | 2;\n\nexport const StreamingDropStateEnum = {\n    NUMBER_0: 0 as StreamingDropStateEnum,\n    NUMBER_1: 1 as StreamingDropStateEnum,\n    NUMBER_2: 2 as StreamingDropStateEnum\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TokensPartnerOfferClaimRequest { \n    PartnerOfferId?: string;\n    BungieNetMembershipId?: number;\n    TransactionId?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TokensPartnerOfferHistoryResponse { \n    PartnerOfferKey?: string;\n    MembershipId?: number;\n    MembershipType?: TokensPartnerOfferHistoryResponse.MembershipTypeEnum;\n    LocalizedName?: string;\n    LocalizedDescription?: string;\n    IsConsumable?: boolean;\n    QuantityApplied?: number;\n    ApplyDate?: string;\n}\nexport namespace TokensPartnerOfferHistoryResponse {\n    export type MembershipTypeEnum = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 10 | 254 | -1;\n    export const MembershipTypeEnum = {\n        NUMBER_0: 0 as MembershipTypeEnum,\n        NUMBER_1: 1 as MembershipTypeEnum,\n        NUMBER_2: 2 as MembershipTypeEnum,\n        NUMBER_3: 3 as MembershipTypeEnum,\n        NUMBER_4: 4 as MembershipTypeEnum,\n        NUMBER_5: 5 as MembershipTypeEnum,\n        NUMBER_6: 6 as MembershipTypeEnum,\n        NUMBER_10: 10 as MembershipTypeEnum,\n        NUMBER_254: 254 as MembershipTypeEnum,\n        NUMBER_MINUS_1: -1 as MembershipTypeEnum\n    };\n}\n\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TokensRewardDisplayProperties { \n    Name?: string;\n    Description?: string;\n    ImagePath?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TokensTwitchDropHistoryResponse { \n    Title?: string;\n    Description?: string;\n    CreatedAt?: string;\n    ClaimState?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The list entry view for trending items. Returns just enough to show the item on the trending page.\n */\nexport interface TrendingTrendingEntry { \n    /**\n     * The weighted score of this trending item.\n     */\n    weight?: number;\n    isFeatured?: boolean;\n    /**\n     * We don\\'t know whether the identifier will be a string, a uint, or a long... so we\\'re going to cast it all to a string. But either way, we need any trending item created to have a single unique identifier for its type.\n     */\n    identifier?: string;\n    /**\n     * An enum - unfortunately - dictating all of the possible kinds of trending items that you might get in your result set, in case you want to do custom rendering or call to get the details of the item.\n     */\n    entityType?: number;\n    /**\n     * The localized \\\"display name/article title/\\'primary localized identifier\\'\\\" of the entity.\n     */\n    displayName?: string;\n    /**\n     * If the entity has a localized tagline/subtitle/motto/whatever, that is found here.\n     */\n    tagline?: string;\n    image?: string;\n    startDate?: string;\n    endDate?: string;\n    link?: string;\n    /**\n     * If this is populated, the entry has a related WebM video to show. I am 100% certain I am going to regret putting this directly on TrendingEntry, but it will work so yolo\n     */\n    webmVideo?: string;\n    /**\n     * If this is populated, the entry has a related MP4 video to show. I am 100% certain I am going to regret putting this directly on TrendingEntry, but it will work so yolo\n     */\n    mp4Video?: string;\n    /**\n     * If isFeatured, this image will be populated with whatever the featured image is. Note that this will likely be a very large image, so don\\'t use it all the time.\n     */\n    featureImage?: string;\n    /**\n     * If the item is of entityType TrendingEntryType.Container, it may have items - also Trending Entries - contained within it. This is the ordered list of those to display under the Container\\'s header.\n     */\n    items?: Array<TrendingTrendingEntry>;\n    /**\n     * If the entry has a date at which it was created, this is that date.\n     */\n    creationDate?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TrendingTrendingEntryCommunityCreation { \n    media?: string;\n    title?: string;\n    author?: string;\n    authorMembershipId?: number;\n    postId?: number;\n    body?: string;\n    upvotes?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface TrendingTrendingEntryDestinyItem { \n    itemHash?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The known entity types that you can have returned from Trending.\n */\nexport type TrendingTrendingEntryType = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;\n\nexport const TrendingTrendingEntryType = {\n    NUMBER_0: 0 as TrendingTrendingEntryType,\n    NUMBER_1: 1 as TrendingTrendingEntryType,\n    NUMBER_2: 2 as TrendingTrendingEntryType,\n    NUMBER_3: 3 as TrendingTrendingEntryType,\n    NUMBER_4: 4 as TrendingTrendingEntryType,\n    NUMBER_5: 5 as TrendingTrendingEntryType,\n    NUMBER_6: 6 as TrendingTrendingEntryType,\n    NUMBER_7: 7 as TrendingTrendingEntryType,\n    NUMBER_8: 8 as TrendingTrendingEntryType,\n    NUMBER_9: 9 as TrendingTrendingEntryType,\n    NUMBER_10: 10 as TrendingTrendingEntryType,\n    NUMBER_11: 11 as TrendingTrendingEntryType\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Very basic info about a user as returned by the Account server, but including CrossSave information. Do NOT use as a request contract.\n */\nexport interface UserCrossSaveUserMembership { \n    /**\n     * If there is a cross save override in effect, this value will tell you the type that is overridding this one.\n     */\n    crossSaveOverride?: number;\n    /**\n     * The list of Membership Types indicating the platforms on which this Membership can be used.   Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list\n     */\n    applicableMembershipTypes?: Array<number>;\n    /**\n     * If True, this is a public user membership.\n     */\n    isPublic?: boolean;\n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Localized text relevant to a given EMail setting in a given localization.\n */\nexport interface UserEMailSettingLocalization { \n    title?: string;\n    description?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Localized text relevant to a given EMail setting in a given localization. Extra settings specifically for subscriptions.\n */\nexport interface UserEMailSettingSubscriptionLocalization { \n    unknownUserDescription?: string;\n    registeredUserDescription?: string;\n    unregisteredUserDescription?: string;\n    unknownUserActionText?: string;\n    knownUserActionText?: string;\n    title?: string;\n    description?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserExactSearchRequest { \n    displayName?: string;\n    displayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserGetSanitizedPlatformDisplayNames200Response { \n    Response?: { [key: string]: string; };\n    ErrorCode?: number;\n    ThrottleSeconds?: number;\n    ErrorStatus?: string;\n    Message?: string;\n    MessageData?: { [key: string]: string; };\n    DetailedErrorTrace?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserHardLinkedUserMembership { \n    membershipType?: number;\n    membershipId?: number;\n    CrossSaveOverriddenType?: number;\n    CrossSaveOverriddenMembershipId?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserModelsGetCredentialTypesForAccountResponse { \n    credentialType?: number;\n    credentialDisplayName?: string;\n    isPublic?: boolean;\n    credentialAsString?: string;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport type UserOptInFlags = 0 | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256;\n\nexport const UserOptInFlags = {\n    NUMBER_0: 0 as UserOptInFlags,\n    NUMBER_1: 1 as UserOptInFlags,\n    NUMBER_2: 2 as UserOptInFlags,\n    NUMBER_4: 4 as UserOptInFlags,\n    NUMBER_8: 8 as UserOptInFlags,\n    NUMBER_16: 16 as UserOptInFlags,\n    NUMBER_32: 32 as UserOptInFlags,\n    NUMBER_64: 64 as UserOptInFlags,\n    NUMBER_128: 128 as UserOptInFlags,\n    NUMBER_256: 256 as UserOptInFlags\n};\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * This contract supplies basic information commonly used to display a minimal amount of information about a user. Take care to not add more properties here unless the property applies in all (or at least the majority) of the situations where UserInfoCard is used. Avoid adding game specific or platform specific details here. In cases where UserInfoCard is a subset of the data needed in a contract, use UserInfoCard as a property of other contracts.\n */\nexport interface UserUserInfoCard { \n    /**\n     * A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc.\n     */\n    supplementalDisplayName?: string;\n    /**\n     * URL the Icon if available.\n     */\n    iconPath?: string;\n    /**\n     * If there is a cross save override in effect, this value will tell you the type that is overridding this one.\n     */\n    crossSaveOverride?: number;\n    /**\n     * The list of Membership Types indicating the platforms on which this Membership can be used.   Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is overridding, and its original membership type Cross Save Overridden = Empty list\n     */\n    applicableMembershipTypes?: Array<number>;\n    /**\n     * If True, this is a public user membership.\n     */\n    isPublic?: boolean;\n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Very basic info about a user as returned by the Account server.\n */\nexport interface UserUserMembership { \n    /**\n     * Type of the membership. Not necessarily the native type.\n     */\n    membershipType?: number;\n    /**\n     * Membership ID as they user is known in the Accounts service\n     */\n    membershipId?: number;\n    /**\n     * Display Name the player has chosen for themselves. The display name is optional when the data type is used as input to a platform API.\n     */\n    displayName?: string;\n    /**\n     * The bungie global display name, if set.\n     */\n    bungieGlobalDisplayName?: string;\n    /**\n     * The bungie global display name code, if set.\n     */\n    bungieGlobalDisplayNameCode?: number;\n}\n\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserUserSearchPrefixRequest { \n    displayNamePrefix?: string;\n}\n\n","import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n    encodeKey(k: string): string {\n        return encodeURIComponent(k);\n    }\n    encodeValue(v: string): string {\n        return encodeURIComponent(v);\n    }\n    decodeKey(k: string): string {\n        return decodeURIComponent(k);\n    }\n    decodeValue(v: string): string {\n        return decodeURIComponent(v);\n    }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n    'csv': ',',\n    'tsv': '   ',\n    'ssv': ' ',\n    'pipes': '|'\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { AppGetApplicationApiUsage200Response } from '../model/appGetApplicationApiUsage200Response';\n// @ts-ignore\nimport { AppGetBungieApplications200Response } from '../model/appGetBungieApplications200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class AppService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Get API usage by application for time frame specified. You can go as far back as 30 days ago, and can ask for up to a 48 hour window of time in a single request. You must be authenticated with at least the ReadUserData permission to access this endpoint.\n     * @param applicationId ID of the application to get usage statistics.\n     * @param end End time for query. Goes to now if not specified.\n     * @param start Start time for query. Goes to 24 hours ago if not specified.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public appGetApplicationApiUsage(applicationId: number, end?: string, start?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<AppGetApplicationApiUsage200Response>;\n    public appGetApplicationApiUsage(applicationId: number, end?: string, start?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<AppGetApplicationApiUsage200Response>>;\n    public appGetApplicationApiUsage(applicationId: number, end?: string, start?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<AppGetApplicationApiUsage200Response>>;\n    public appGetApplicationApiUsage(applicationId: number, end?: string, start?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (applicationId === null || applicationId === undefined) {\n            throw new Error('Required parameter applicationId was null or undefined when calling appGetApplicationApiUsage.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (end !== undefined && end !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>end, 'end');\n        }\n        if (start !== undefined && start !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>start, 'start');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<AppGetApplicationApiUsage200Response>(`${this.configuration.basePath}/App/ApiUsage/${encodeURIComponent(String(applicationId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get list of applications created by Bungie.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public appGetBungieApplications(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<AppGetBungieApplications200Response>;\n    public appGetBungieApplications(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<AppGetBungieApplications200Response>>;\n    public appGetBungieApplications(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<AppGetBungieApplications200Response>>;\n    public appGetBungieApplications(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<AppGetBungieApplications200Response>(`${this.configuration.basePath}/App/FirstParty/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { ForumGetTopicsPaged200Response } from '../model/forumGetTopicsPaged200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class CommunityContentService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Returns community content.\n     * @param mediaFilter The type of media to get\n     * @param page Zero based page\n     * @param sort The sort mode.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public communityContentGetCommunityContent(mediaFilter: number, page: number, sort: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public communityContentGetCommunityContent(mediaFilter: number, page: number, sort: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public communityContentGetCommunityContent(mediaFilter: number, page: number, sort: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public communityContentGetCommunityContent(mediaFilter: number, page: number, sort: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (mediaFilter === null || mediaFilter === undefined) {\n            throw new Error('Required parameter mediaFilter was null or undefined when calling communityContentGetCommunityContent.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling communityContentGetCommunityContent.');\n        }\n        if (sort === null || sort === undefined) {\n            throw new Error('Required parameter sort was null or undefined when calling communityContentGetCommunityContent.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/CommunityContent/Get/${encodeURIComponent(String(sort))}/${encodeURIComponent(String(mediaFilter))}/${encodeURIComponent(String(page))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { ContentGetContentById200Response } from '../model/contentGetContentById200Response';\n// @ts-ignore\nimport { ContentGetContentType200Response } from '../model/contentGetContentType200Response';\n// @ts-ignore\nimport { ContentRssNewsArticles200Response } from '../model/contentRssNewsArticles200Response';\n// @ts-ignore\nimport { ContentSearchContentWithText200Response } from '../model/contentSearchContentWithText200Response';\n// @ts-ignore\nimport { ContentSearchHelpArticles200Response } from '../model/contentSearchHelpArticles200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ContentService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Returns a content item referenced by id\n     * @param id \n     * @param locale \n     * @param head false\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentGetContentById(id: number, locale: string, head?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentGetContentById200Response>;\n    public contentGetContentById(id: number, locale: string, head?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentGetContentById200Response>>;\n    public contentGetContentById(id: number, locale: string, head?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentGetContentById200Response>>;\n    public contentGetContentById(id: number, locale: string, head?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling contentGetContentById.');\n        }\n        if (locale === null || locale === undefined) {\n            throw new Error('Required parameter locale was null or undefined when calling contentGetContentById.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (head !== undefined && head !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>head, 'head');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentGetContentById200Response>(`${this.configuration.basePath}/Content/GetContentById/${encodeURIComponent(String(id))}/${encodeURIComponent(String(locale))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the newest item that matches a given tag and Content Type.\n     * @param locale \n     * @param tag \n     * @param type \n     * @param head Not used.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentGetContentByTagAndType(locale: string, tag: string, type: string, head?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentGetContentById200Response>;\n    public contentGetContentByTagAndType(locale: string, tag: string, type: string, head?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentGetContentById200Response>>;\n    public contentGetContentByTagAndType(locale: string, tag: string, type: string, head?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentGetContentById200Response>>;\n    public contentGetContentByTagAndType(locale: string, tag: string, type: string, head?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (locale === null || locale === undefined) {\n            throw new Error('Required parameter locale was null or undefined when calling contentGetContentByTagAndType.');\n        }\n        if (tag === null || tag === undefined) {\n            throw new Error('Required parameter tag was null or undefined when calling contentGetContentByTagAndType.');\n        }\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling contentGetContentByTagAndType.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (head !== undefined && head !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>head, 'head');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentGetContentById200Response>(`${this.configuration.basePath}/Content/GetContentByTagAndType/${encodeURIComponent(String(tag))}/${encodeURIComponent(String(type))}/${encodeURIComponent(String(locale))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets an object describing a particular variant of content.\n     * @param type \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentGetContentType(type: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentGetContentType200Response>;\n    public contentGetContentType(type: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentGetContentType200Response>>;\n    public contentGetContentType(type: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentGetContentType200Response>>;\n    public contentGetContentType(type: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling contentGetContentType.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentGetContentType200Response>(`${this.configuration.basePath}/Content/GetContentType/${encodeURIComponent(String(type))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a JSON string response that is the RSS feed for news articles.\n     * @param pageToken Zero-based pagination token for paging through result sets.\n     * @param categoryfilter Optionally filter response to only include news items in a certain category.\n     * @param includebody Optionally include full content body for each news item.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentRssNewsArticles(pageToken: string, categoryfilter?: string, includebody?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentRssNewsArticles200Response>;\n    public contentRssNewsArticles(pageToken: string, categoryfilter?: string, includebody?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentRssNewsArticles200Response>>;\n    public contentRssNewsArticles(pageToken: string, categoryfilter?: string, includebody?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentRssNewsArticles200Response>>;\n    public contentRssNewsArticles(pageToken: string, categoryfilter?: string, includebody?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (pageToken === null || pageToken === undefined) {\n            throw new Error('Required parameter pageToken was null or undefined when calling contentRssNewsArticles.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (categoryfilter !== undefined && categoryfilter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>categoryfilter, 'categoryfilter');\n        }\n        if (includebody !== undefined && includebody !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>includebody, 'includebody');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentRssNewsArticles200Response>(`${this.configuration.basePath}/Content/Rss/NewsArticles/${encodeURIComponent(String(pageToken))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Searches for Content Items that match the given Tag and Content Type.\n     * @param locale \n     * @param tag \n     * @param type \n     * @param currentpage Page number for the search results starting with page 1.\n     * @param head Not used.\n     * @param itemsperpage Not used.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentSearchContentByTagAndType(locale: string, tag: string, type: string, currentpage?: number, head?: boolean, itemsperpage?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentSearchContentWithText200Response>;\n    public contentSearchContentByTagAndType(locale: string, tag: string, type: string, currentpage?: number, head?: boolean, itemsperpage?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentSearchContentWithText200Response>>;\n    public contentSearchContentByTagAndType(locale: string, tag: string, type: string, currentpage?: number, head?: boolean, itemsperpage?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentSearchContentWithText200Response>>;\n    public contentSearchContentByTagAndType(locale: string, tag: string, type: string, currentpage?: number, head?: boolean, itemsperpage?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (locale === null || locale === undefined) {\n            throw new Error('Required parameter locale was null or undefined when calling contentSearchContentByTagAndType.');\n        }\n        if (tag === null || tag === undefined) {\n            throw new Error('Required parameter tag was null or undefined when calling contentSearchContentByTagAndType.');\n        }\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling contentSearchContentByTagAndType.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (currentpage !== undefined && currentpage !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>currentpage, 'currentpage');\n        }\n        if (head !== undefined && head !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>head, 'head');\n        }\n        if (itemsperpage !== undefined && itemsperpage !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>itemsperpage, 'itemsperpage');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentSearchContentWithText200Response>(`${this.configuration.basePath}/Content/SearchContentByTagAndType/${encodeURIComponent(String(tag))}/${encodeURIComponent(String(type))}/${encodeURIComponent(String(locale))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets content based on querystring information passed in. Provides basic search and text search capabilities.\n     * @param locale \n     * @param ctype Content type tag: Help, News, etc. Supply multiple ctypes separated by space.\n     * @param currentpage Page number for the search results, starting with page 1.\n     * @param head Not used.\n     * @param searchtext Word or phrase for the search.\n     * @param source For analytics, hint at the part of the app that triggered the search. Optional.\n     * @param tag Tag used on the content to be searched.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentSearchContentWithText(locale: string, ctype?: string, currentpage?: number, head?: boolean, searchtext?: string, source?: string, tag?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentSearchContentWithText200Response>;\n    public contentSearchContentWithText(locale: string, ctype?: string, currentpage?: number, head?: boolean, searchtext?: string, source?: string, tag?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentSearchContentWithText200Response>>;\n    public contentSearchContentWithText(locale: string, ctype?: string, currentpage?: number, head?: boolean, searchtext?: string, source?: string, tag?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentSearchContentWithText200Response>>;\n    public contentSearchContentWithText(locale: string, ctype?: string, currentpage?: number, head?: boolean, searchtext?: string, source?: string, tag?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (locale === null || locale === undefined) {\n            throw new Error('Required parameter locale was null or undefined when calling contentSearchContentWithText.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (ctype !== undefined && ctype !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>ctype, 'ctype');\n        }\n        if (currentpage !== undefined && currentpage !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>currentpage, 'currentpage');\n        }\n        if (head !== undefined && head !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>head, 'head');\n        }\n        if (searchtext !== undefined && searchtext !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>searchtext, 'searchtext');\n        }\n        if (source !== undefined && source !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>source, 'source');\n        }\n        if (tag !== undefined && tag !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>tag, 'tag');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentSearchContentWithText200Response>(`${this.configuration.basePath}/Content/Search/${encodeURIComponent(String(locale))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Search for Help Articles.\n     * @param searchtext \n     * @param size \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public contentSearchHelpArticles(searchtext: string, size: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ContentSearchHelpArticles200Response>;\n    public contentSearchHelpArticles(searchtext: string, size: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ContentSearchHelpArticles200Response>>;\n    public contentSearchHelpArticles(searchtext: string, size: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ContentSearchHelpArticles200Response>>;\n    public contentSearchHelpArticles(searchtext: string, size: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (searchtext === null || searchtext === undefined) {\n            throw new Error('Required parameter searchtext was null or undefined when calling contentSearchHelpArticles.');\n        }\n        if (size === null || size === undefined) {\n            throw new Error('Required parameter size was null or undefined when calling contentSearchHelpArticles.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ContentSearchHelpArticles200Response>(`${this.configuration.basePath}/Content/SearchHelpArticles/${encodeURIComponent(String(searchtext))}/${encodeURIComponent(String(size))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { GetCommonSettings200Response } from '../model/getCommonSettings200Response';\n// @ts-ignore\nimport { GetGlobalAlerts200Response } from '../model/getGlobalAlerts200Response';\n// @ts-ignore\nimport { GetUserSystemOverrides200Response } from '../model/getUserSystemOverrides200Response';\n// @ts-ignore\nimport { UserGetSanitizedPlatformDisplayNames200Response } from '../model/userGetSanitizedPlatformDisplayNames200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class DefaultService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * List of available localization cultures\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getAvailableLocales(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetSanitizedPlatformDisplayNames200Response>;\n    public getAvailableLocales(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetSanitizedPlatformDisplayNames200Response>>;\n    public getAvailableLocales(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetSanitizedPlatformDisplayNames200Response>>;\n    public getAvailableLocales(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetSanitizedPlatformDisplayNames200Response>(`${this.configuration.basePath}/GetAvailableLocales/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get the common settings used by the Bungie.Net environment.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getCommonSettings(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GetCommonSettings200Response>;\n    public getCommonSettings(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GetCommonSettings200Response>>;\n    public getCommonSettings(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GetCommonSettings200Response>>;\n    public getCommonSettings(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<GetCommonSettings200Response>(`${this.configuration.basePath}/Settings/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets any active global alert for display in the forum banners, help pages, etc. Usually used for DOC alerts.\n     * @param includestreaming Determines whether Streaming Alerts are included in results\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getGlobalAlerts(includestreaming?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GetGlobalAlerts200Response>;\n    public getGlobalAlerts(includestreaming?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GetGlobalAlerts200Response>>;\n    public getGlobalAlerts(includestreaming?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GetGlobalAlerts200Response>>;\n    public getGlobalAlerts(includestreaming?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (includestreaming !== undefined && includestreaming !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>includestreaming, 'includestreaming');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<GetGlobalAlerts200Response>(`${this.configuration.basePath}/GlobalAlerts/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get the user-specific system overrides that should be respected alongside common systems.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public getUserSystemOverrides(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GetUserSystemOverrides200Response>;\n    public getUserSystemOverrides(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GetUserSystemOverrides200Response>>;\n    public getUserSystemOverrides(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GetUserSystemOverrides200Response>>;\n    public getUserSystemOverrides(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<GetUserSystemOverrides200Response>(`${this.configuration.basePath}/UserSystemOverrides/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { Destiny2AwaGetActionToken200Response } from '../model/destiny2AwaGetActionToken200Response';\n// @ts-ignore\nimport { Destiny2AwaInitializeRequest200Response } from '../model/destiny2AwaInitializeRequest200Response';\n// @ts-ignore\nimport { Destiny2EquipItems200Response } from '../model/destiny2EquipItems200Response';\n// @ts-ignore\nimport { Destiny2GetActivityHistory200Response } from '../model/destiny2GetActivityHistory200Response';\n// @ts-ignore\nimport { Destiny2GetCharacter200Response } from '../model/destiny2GetCharacter200Response';\n// @ts-ignore\nimport { Destiny2GetClanAggregateStats200Response } from '../model/destiny2GetClanAggregateStats200Response';\n// @ts-ignore\nimport { Destiny2GetClanBannerSource200Response } from '../model/destiny2GetClanBannerSource200Response';\n// @ts-ignore\nimport { Destiny2GetClanLeaderboards200Response } from '../model/destiny2GetClanLeaderboards200Response';\n// @ts-ignore\nimport { Destiny2GetClanWeeklyRewardState200Response } from '../model/destiny2GetClanWeeklyRewardState200Response';\n// @ts-ignore\nimport { Destiny2GetCollectibleNodeDetails200Response } from '../model/destiny2GetCollectibleNodeDetails200Response';\n// @ts-ignore\nimport { Destiny2GetDestinyAggregateActivityStats200Response } from '../model/destiny2GetDestinyAggregateActivityStats200Response';\n// @ts-ignore\nimport { Destiny2GetDestinyEntityDefinition200Response } from '../model/destiny2GetDestinyEntityDefinition200Response';\n// @ts-ignore\nimport { Destiny2GetDestinyManifest200Response } from '../model/destiny2GetDestinyManifest200Response';\n// @ts-ignore\nimport { Destiny2GetHistoricalStats200Response } from '../model/destiny2GetHistoricalStats200Response';\n// @ts-ignore\nimport { Destiny2GetHistoricalStatsDefinition200Response } from '../model/destiny2GetHistoricalStatsDefinition200Response';\n// @ts-ignore\nimport { Destiny2GetHistoricalStatsForAccount200Response } from '../model/destiny2GetHistoricalStatsForAccount200Response';\n// @ts-ignore\nimport { Destiny2GetItem200Response } from '../model/destiny2GetItem200Response';\n// @ts-ignore\nimport { Destiny2GetLinkedProfiles200Response } from '../model/destiny2GetLinkedProfiles200Response';\n// @ts-ignore\nimport { Destiny2GetPostGameCarnageReport200Response } from '../model/destiny2GetPostGameCarnageReport200Response';\n// @ts-ignore\nimport { Destiny2GetProfile200Response } from '../model/destiny2GetProfile200Response';\n// @ts-ignore\nimport { Destiny2GetPublicMilestoneContent200Response } from '../model/destiny2GetPublicMilestoneContent200Response';\n// @ts-ignore\nimport { Destiny2GetPublicMilestones200Response } from '../model/destiny2GetPublicMilestones200Response';\n// @ts-ignore\nimport { Destiny2GetPublicVendors200Response } from '../model/destiny2GetPublicVendors200Response';\n// @ts-ignore\nimport { Destiny2GetUniqueWeaponHistory200Response } from '../model/destiny2GetUniqueWeaponHistory200Response';\n// @ts-ignore\nimport { Destiny2GetVendor200Response } from '../model/destiny2GetVendor200Response';\n// @ts-ignore\nimport { Destiny2GetVendors200Response } from '../model/destiny2GetVendors200Response';\n// @ts-ignore\nimport { Destiny2InsertSocketPlug200Response } from '../model/destiny2InsertSocketPlug200Response';\n// @ts-ignore\nimport { Destiny2SearchDestinyEntities200Response } from '../model/destiny2SearchDestinyEntities200Response';\n// @ts-ignore\nimport { Destiny2SearchDestinyPlayerByBungieName200Response } from '../model/destiny2SearchDestinyPlayerByBungieName200Response';\n// @ts-ignore\nimport { GroupV2EditGroup200Response } from '../model/groupV2EditGroup200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class Destiny2Service {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Returns the action token if user approves the request.\n     * @param correlationId The identifier for the advanced write action request.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2AwaGetActionToken(correlationId: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2AwaGetActionToken200Response>;\n    public destiny2AwaGetActionToken(correlationId: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2AwaGetActionToken200Response>>;\n    public destiny2AwaGetActionToken(correlationId: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2AwaGetActionToken200Response>>;\n    public destiny2AwaGetActionToken(correlationId: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (correlationId === null || correlationId === undefined) {\n            throw new Error('Required parameter correlationId was null or undefined when calling destiny2AwaGetActionToken.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2AwaGetActionToken200Response>(`${this.configuration.basePath}/Destiny2/Awa/GetActionToken/${encodeURIComponent(String(correlationId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Initialize a request to perform an advanced write action.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2AwaInitializeRequest(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2AwaInitializeRequest200Response>;\n    public destiny2AwaInitializeRequest(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2AwaInitializeRequest200Response>>;\n    public destiny2AwaInitializeRequest(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2AwaInitializeRequest200Response>>;\n    public destiny2AwaInitializeRequest(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2AwaInitializeRequest200Response>(`${this.configuration.basePath}/Destiny2/Awa/Initialize/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Provide the result of the user interaction. Called by the Bungie Destiny App to approve or reject a request.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2AwaProvideAuthorizationResult(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2AwaProvideAuthorizationResult(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2AwaProvideAuthorizationResult(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2AwaProvideAuthorizationResult(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Awa/AwaProvideAuthorizationResult/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Clear the identifiers and items of a loadout.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2ClearLoadout(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2ClearLoadout(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2ClearLoadout(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2ClearLoadout(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Loadouts/ClearLoadout/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Equip an item. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2EquipItem(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2EquipItem(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2EquipItem(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2EquipItem(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/EquipItem/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Equip a list of items by itemInstanceIds. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Any items not found on your character will be ignored.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2EquipItems(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2EquipItems200Response>;\n    public destiny2EquipItems(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2EquipItems200Response>>;\n    public destiny2EquipItems(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2EquipItems200Response>>;\n    public destiny2EquipItems(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2EquipItems200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/EquipItems/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Equip a loadout. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2EquipLoadout(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2EquipLoadout(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2EquipLoadout(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2EquipLoadout(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Loadouts/EquipLoadout/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets activity history stats for indicated character.\n     * @param characterId The id of the character to retrieve.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param count Number of rows to return\n     * @param mode A filter for the activity mode to be returned. None returns all activities. See the documentation for DestinyActivityModeType for valid values, and pass in string representation.\n     * @param page Page number to return, starting with 0.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetActivityHistory(characterId: number, destinyMembershipId: number, membershipType: number, count?: number, mode?: number, page?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetActivityHistory200Response>;\n    public destiny2GetActivityHistory(characterId: number, destinyMembershipId: number, membershipType: number, count?: number, mode?: number, page?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetActivityHistory200Response>>;\n    public destiny2GetActivityHistory(characterId: number, destinyMembershipId: number, membershipType: number, count?: number, mode?: number, page?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetActivityHistory200Response>>;\n    public destiny2GetActivityHistory(characterId: number, destinyMembershipId: number, membershipType: number, count?: number, mode?: number, page?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetActivityHistory.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetActivityHistory.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetActivityHistory.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (count !== undefined && count !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>count, 'count');\n        }\n        if (mode !== undefined && mode !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>mode, 'mode');\n        }\n        if (page !== undefined && page !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>page, 'page');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetActivityHistory200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Stats/Activities/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns character information for the supplied character.\n     * @param characterId ID of the character.\n     * @param destinyMembershipId Destiny membership ID.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetCharacter(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetCharacter200Response>;\n    public destiny2GetCharacter(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetCharacter200Response>>;\n    public destiny2GetCharacter(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetCharacter200Response>>;\n    public destiny2GetCharacter(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetCharacter.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetCharacter.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetCharacter.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetCharacter200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets aggregated stats for a clan using the same categories as the clan leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param groupId Group ID of the clan whose leaderboards you wish to fetch.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanAggregateStats200Response>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanAggregateStats200Response>>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanAggregateStats200Response>>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling destiny2GetClanAggregateStats.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanAggregateStats200Response>(`${this.configuration.basePath}/Destiny2/Stats/AggregateClanStats/${encodeURIComponent(String(groupId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the dictionary of values for the Clan Banner\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanBannerSource(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanBannerSource200Response>;\n    public destiny2GetClanBannerSource(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanBannerSource200Response>>;\n    public destiny2GetClanBannerSource(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanBannerSource200Response>>;\n    public destiny2GetClanBannerSource(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanBannerSource200Response>(`${this.configuration.basePath}/Destiny2/Clan/ClanBannerDictionary/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param groupId Group ID of the clan whose leaderboards you wish to fetch.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling destiny2GetClanLeaderboards.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/Stats/Leaderboards/Clans/${encodeURIComponent(String(groupId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns information on the weekly clan rewards and if the clan has earned them or not. Note that this will always report rewards as not redeemed.\n     * @param groupId A valid group id of clan.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanWeeklyRewardState(groupId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanWeeklyRewardState200Response>;\n    public destiny2GetClanWeeklyRewardState(groupId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanWeeklyRewardState200Response>>;\n    public destiny2GetClanWeeklyRewardState(groupId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanWeeklyRewardState200Response>>;\n    public destiny2GetClanWeeklyRewardState(groupId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling destiny2GetClanWeeklyRewardState.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanWeeklyRewardState200Response>(`${this.configuration.basePath}/Destiny2/Clan/${encodeURIComponent(String(groupId))}/WeeklyRewardState/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Given a Presentation Node that has Collectibles as direct descendants, this will return item details about those descendants in the context of the requesting character.\n     * @param characterId The Destiny Character ID of the character for whom we\\&#39;re getting collectible detail info.\n     * @param collectiblePresentationNodeHash The hash identifier of the Presentation Node for whom we should return collectible details. Details will only be returned for collectibles that are direct descendants of this node.\n     * @param destinyMembershipId Destiny membership ID of another user. You may be denied.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetCollectibleNodeDetails(characterId: number, collectiblePresentationNodeHash: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetCollectibleNodeDetails200Response>;\n    public destiny2GetCollectibleNodeDetails(characterId: number, collectiblePresentationNodeHash: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetCollectibleNodeDetails200Response>>;\n    public destiny2GetCollectibleNodeDetails(characterId: number, collectiblePresentationNodeHash: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetCollectibleNodeDetails200Response>>;\n    public destiny2GetCollectibleNodeDetails(characterId: number, collectiblePresentationNodeHash: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetCollectibleNodeDetails.');\n        }\n        if (collectiblePresentationNodeHash === null || collectiblePresentationNodeHash === undefined) {\n            throw new Error('Required parameter collectiblePresentationNodeHash was null or undefined when calling destiny2GetCollectibleNodeDetails.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetCollectibleNodeDetails.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetCollectibleNodeDetails.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetCollectibleNodeDetails200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Collectibles/${encodeURIComponent(String(collectiblePresentationNodeHash))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets all activities the character has participated in together with aggregate statistics for those activities.\n     * @param characterId The specific character whose activities should be returned.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetDestinyAggregateActivityStats(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetDestinyAggregateActivityStats200Response>;\n    public destiny2GetDestinyAggregateActivityStats(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetDestinyAggregateActivityStats200Response>>;\n    public destiny2GetDestinyAggregateActivityStats(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetDestinyAggregateActivityStats200Response>>;\n    public destiny2GetDestinyAggregateActivityStats(characterId: number, destinyMembershipId: number, membershipType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetDestinyAggregateActivityStats.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetDestinyAggregateActivityStats.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetDestinyAggregateActivityStats.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetDestinyAggregateActivityStats200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Stats/AggregateActivityStats/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the static definition of an entity of the given Type and hash identifier. Examine the API Documentation for the Type Names of entities that have their own definitions. Note that the return type will always *inherit from* DestinyDefinition, but the specific type returned will be the requested entity type if it can be found. Please don\\&#39;t use this as a chatty alternative to the Manifest database if you require large sets of data, but for simple and one-off accesses this should be handy.\n     * @param entityType The type of entity for whom you would like results. These correspond to the entity\\&#39;s definition contract name. For instance, if you are looking for items, this property should be \\&#39;DestinyInventoryItemDefinition\\&#39;. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is tentatively in final form, but there may be bugs that prevent desirable operation.\n     * @param hashIdentifier The hash identifier for the specific Entity you want returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetDestinyEntityDefinition(entityType: string, hashIdentifier: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetDestinyEntityDefinition200Response>;\n    public destiny2GetDestinyEntityDefinition(entityType: string, hashIdentifier: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetDestinyEntityDefinition200Response>>;\n    public destiny2GetDestinyEntityDefinition(entityType: string, hashIdentifier: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetDestinyEntityDefinition200Response>>;\n    public destiny2GetDestinyEntityDefinition(entityType: string, hashIdentifier: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (entityType === null || entityType === undefined) {\n            throw new Error('Required parameter entityType was null or undefined when calling destiny2GetDestinyEntityDefinition.');\n        }\n        if (hashIdentifier === null || hashIdentifier === undefined) {\n            throw new Error('Required parameter hashIdentifier was null or undefined when calling destiny2GetDestinyEntityDefinition.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetDestinyEntityDefinition200Response>(`${this.configuration.basePath}/Destiny2/Manifest/${encodeURIComponent(String(entityType))}/${encodeURIComponent(String(hashIdentifier))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the current version of the manifest as a json object.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetDestinyManifest(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetDestinyManifest200Response>;\n    public destiny2GetDestinyManifest(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetDestinyManifest200Response>>;\n    public destiny2GetDestinyManifest(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetDestinyManifest200Response>>;\n    public destiny2GetDestinyManifest(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetDestinyManifest200Response>(`${this.configuration.basePath}/Destiny2/Manifest/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets historical stats for indicated character.\n     * @param characterId The id of the character to retrieve. You can omit this character ID or set it to 0 to get aggregate stats across all characters.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param dayend Last day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot allow more than 31 days of daily data to be requested in a single request.\n     * @param daystart First day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot allow more than 31 days of daily data to be requested in a single request.\n     * @param groups Group of stats to include, otherwise only general stats are returned. Comma separated list is allowed. Values: General, Weapons, Medals\n     * @param modes Game modes to return. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param periodType Indicates a specific period type to return. Optional. May be: Daily, AllTime, or Activity\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetHistoricalStats(characterId: number, destinyMembershipId: number, membershipType: number, dayend?: string, daystart?: string, groups?: Array<number>, modes?: Array<number>, periodType?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetHistoricalStats200Response>;\n    public destiny2GetHistoricalStats(characterId: number, destinyMembershipId: number, membershipType: number, dayend?: string, daystart?: string, groups?: Array<number>, modes?: Array<number>, periodType?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetHistoricalStats200Response>>;\n    public destiny2GetHistoricalStats(characterId: number, destinyMembershipId: number, membershipType: number, dayend?: string, daystart?: string, groups?: Array<number>, modes?: Array<number>, periodType?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetHistoricalStats200Response>>;\n    public destiny2GetHistoricalStats(characterId: number, destinyMembershipId: number, membershipType: number, dayend?: string, daystart?: string, groups?: Array<number>, modes?: Array<number>, periodType?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetHistoricalStats.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetHistoricalStats.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetHistoricalStats.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (dayend !== undefined && dayend !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>dayend, 'dayend');\n        }\n        if (daystart !== undefined && daystart !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>daystart, 'daystart');\n        }\n        if (groups) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                groups.join(COLLECTION_FORMATS['csv']), 'groups');\n        }\n        if (modes) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                modes.join(COLLECTION_FORMATS['csv']), 'modes');\n        }\n        if (periodType !== undefined && periodType !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>periodType, 'periodType');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetHistoricalStats200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Stats/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets historical stats definitions.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetHistoricalStatsDefinition(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetHistoricalStatsDefinition200Response>;\n    public destiny2GetHistoricalStatsDefinition(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetHistoricalStatsDefinition200Response>>;\n    public destiny2GetHistoricalStatsDefinition(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetHistoricalStatsDefinition200Response>>;\n    public destiny2GetHistoricalStatsDefinition(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetHistoricalStatsDefinition200Response>(`${this.configuration.basePath}/Destiny2/Stats/Definition/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets aggregate historical stats organized around each character for a given account.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param groups Groups of stats to include, otherwise only general stats are returned. Comma separated list is allowed. Values: General, Weapons, Medals.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetHistoricalStatsForAccount(destinyMembershipId: number, membershipType: number, groups?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetHistoricalStatsForAccount200Response>;\n    public destiny2GetHistoricalStatsForAccount(destinyMembershipId: number, membershipType: number, groups?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetHistoricalStatsForAccount200Response>>;\n    public destiny2GetHistoricalStatsForAccount(destinyMembershipId: number, membershipType: number, groups?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetHistoricalStatsForAccount200Response>>;\n    public destiny2GetHistoricalStatsForAccount(destinyMembershipId: number, membershipType: number, groups?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetHistoricalStatsForAccount.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetHistoricalStatsForAccount.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (groups) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                groups.join(COLLECTION_FORMATS['csv']), 'groups');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetHistoricalStatsForAccount200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Stats/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Retrieve the details of an instanced Destiny Item. An instanced Destiny item is one with an ItemInstanceId. Non-instanced items, such as materials, have no useful instance-specific details and thus are not queryable here.\n     * @param destinyMembershipId The membership ID of the destiny profile.\n     * @param itemInstanceId The Instance ID of the destiny item.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetItem(destinyMembershipId: number, itemInstanceId: number, membershipType: number, components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetItem200Response>;\n    public destiny2GetItem(destinyMembershipId: number, itemInstanceId: number, membershipType: number, components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetItem200Response>>;\n    public destiny2GetItem(destinyMembershipId: number, itemInstanceId: number, membershipType: number, components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetItem200Response>>;\n    public destiny2GetItem(destinyMembershipId: number, itemInstanceId: number, membershipType: number, components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetItem.');\n        }\n        if (itemInstanceId === null || itemInstanceId === undefined) {\n            throw new Error('Required parameter itemInstanceId was null or undefined when calling destiny2GetItem.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetItem.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetItem200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/Item/${encodeURIComponent(String(itemInstanceId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been implemented. It is being returned for a preview of future functionality, and for public comment/suggestion/preparation.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetLeaderboards.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetLeaderboards.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Stats/Leaderboards/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param characterId The specific character to build the leaderboard around for the provided Destiny Membership.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/Stats/Leaderboards/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(String(destinyMembershipId))}/${encodeURIComponent(String(characterId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a summary information about all profiles linked to the requesting membership type/membership ID that have valid Destiny information. The passed-in Membership Type/Membership ID may be a Bungie.Net membership or a Destiny membership. It only returns the minimal amount of data to begin making more substantive requests, but will hopefully serve as a useful alternative to UserServices for people who just care about Destiny data. Note that it will only return linked accounts whose linkages you are allowed to view.\n     * @param membershipId The ID of the membership whose linked Destiny accounts you want returned. Make sure your membership ID matches its Membership Type: don\\&#39;t pass us a PSN membership ID and the XBox membership type, it\\&#39;s not going to work!\n     * @param membershipType The type for the membership whose linked Destiny accounts you want returned.\n     * @param getAllMemberships (optional) if set to \\&#39;true\\&#39;, all memberships regardless of whether they\\&#39;re obscured by overrides will be returned. Normal privacy restrictions on account linking will still apply no matter what.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetLinkedProfiles(membershipId: number, membershipType: number, getAllMemberships?: boolean, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetLinkedProfiles200Response>;\n    public destiny2GetLinkedProfiles(membershipId: number, membershipType: number, getAllMemberships?: boolean, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetLinkedProfiles200Response>>;\n    public destiny2GetLinkedProfiles(membershipId: number, membershipType: number, getAllMemberships?: boolean, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetLinkedProfiles200Response>>;\n    public destiny2GetLinkedProfiles(membershipId: number, membershipType: number, getAllMemberships?: boolean, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling destiny2GetLinkedProfiles.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetLinkedProfiles.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (getAllMemberships !== undefined && getAllMemberships !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>getAllMemberships, 'getAllMemberships');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetLinkedProfiles200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(membershipId))}/LinkedProfiles/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets the available post game carnage report for the activity ID.\n     * @param activityId The ID of the activity whose PGCR is requested.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetPostGameCarnageReport(activityId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetPostGameCarnageReport200Response>;\n    public destiny2GetPostGameCarnageReport(activityId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetPostGameCarnageReport200Response>>;\n    public destiny2GetPostGameCarnageReport(activityId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetPostGameCarnageReport200Response>>;\n    public destiny2GetPostGameCarnageReport(activityId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (activityId === null || activityId === undefined) {\n            throw new Error('Required parameter activityId was null or undefined when calling destiny2GetPostGameCarnageReport.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetPostGameCarnageReport200Response>(`${this.configuration.basePath}/Destiny2/Stats/PostGameCarnageReport/${encodeURIComponent(String(activityId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns Destiny Profile information for the supplied membership.\n     * @param destinyMembershipId Destiny membership ID.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetProfile(destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetProfile200Response>;\n    public destiny2GetProfile(destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetProfile200Response>>;\n    public destiny2GetProfile(destinyMembershipId: number, membershipType: number, components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetProfile200Response>>;\n    public destiny2GetProfile(destinyMembershipId: number, membershipType: number, components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetProfile.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetProfile.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetProfile200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets custom localized content for the milestone of the given hash, if it exists.\n     * @param milestoneHash The identifier for the milestone to be returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetPublicMilestoneContent(milestoneHash: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetPublicMilestoneContent200Response>;\n    public destiny2GetPublicMilestoneContent(milestoneHash: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetPublicMilestoneContent200Response>>;\n    public destiny2GetPublicMilestoneContent(milestoneHash: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetPublicMilestoneContent200Response>>;\n    public destiny2GetPublicMilestoneContent(milestoneHash: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (milestoneHash === null || milestoneHash === undefined) {\n            throw new Error('Required parameter milestoneHash was null or undefined when calling destiny2GetPublicMilestoneContent.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetPublicMilestoneContent200Response>(`${this.configuration.basePath}/Destiny2/Milestones/${encodeURIComponent(String(milestoneHash))}/Content/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets public information about currently available Milestones.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetPublicMilestones(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetPublicMilestones200Response>;\n    public destiny2GetPublicMilestones(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetPublicMilestones200Response>>;\n    public destiny2GetPublicMilestones(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetPublicMilestones200Response>>;\n    public destiny2GetPublicMilestones(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetPublicMilestones200Response>(`${this.configuration.basePath}/Destiny2/Milestones/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get items available from vendors where the vendors have items for sale that are common for everyone. If any portion of the Vendor\\&#39;s available inventory is character or account specific, we will be unable to return their data from this endpoint due to the way that available inventory is computed. As I am often guilty of saying: \\&#39;It\\&#39;s a long story...\\&#39;\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetPublicVendors200Response>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetPublicVendors200Response>>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetPublicVendors200Response>>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetPublicVendors200Response>(`${this.configuration.basePath}/Destiny2/Vendors/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets details about unique weapon usage, including all exotic weapons.\n     * @param characterId The id of the character to retrieve.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetUniqueWeaponHistory(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetUniqueWeaponHistory200Response>;\n    public destiny2GetUniqueWeaponHistory(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetUniqueWeaponHistory200Response>>;\n    public destiny2GetUniqueWeaponHistory(characterId: number, destinyMembershipId: number, membershipType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetUniqueWeaponHistory200Response>>;\n    public destiny2GetUniqueWeaponHistory(characterId: number, destinyMembershipId: number, membershipType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetUniqueWeaponHistory.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetUniqueWeaponHistory.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetUniqueWeaponHistory.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetUniqueWeaponHistory200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Stats/UniqueWeapons/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get the details of a specific Vendor.\n     * @param characterId The Destiny Character ID of the character for whom we\\&#39;re getting vendor info.\n     * @param destinyMembershipId Destiny membership ID of another user. You may be denied.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param vendorHash The Hash identifier of the Vendor to be returned.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetVendor(characterId: number, destinyMembershipId: number, membershipType: number, vendorHash: number, components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetVendor200Response>;\n    public destiny2GetVendor(characterId: number, destinyMembershipId: number, membershipType: number, vendorHash: number, components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetVendor200Response>>;\n    public destiny2GetVendor(characterId: number, destinyMembershipId: number, membershipType: number, vendorHash: number, components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetVendor200Response>>;\n    public destiny2GetVendor(characterId: number, destinyMembershipId: number, membershipType: number, vendorHash: number, components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetVendor.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetVendor.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetVendor.');\n        }\n        if (vendorHash === null || vendorHash === undefined) {\n            throw new Error('Required parameter vendorHash was null or undefined when calling destiny2GetVendor.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetVendor200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Vendors/${encodeURIComponent(String(vendorHash))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get currently available vendors from the list of vendors that can possibly have rotating inventory. Note that this does not include things like preview vendors and vendors-as-kiosks, neither of whom have rotating/dynamic inventories. Use their definitions as-is for those.\n     * @param characterId The Destiny Character ID of the character for whom we\\&#39;re getting vendor info.\n     * @param destinyMembershipId Destiny membership ID of another user. You may be denied.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param filter The filter of what vendors and items to return, if any.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetVendors(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, filter?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetVendors200Response>;\n    public destiny2GetVendors(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, filter?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetVendors200Response>>;\n    public destiny2GetVendors(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, filter?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetVendors200Response>>;\n    public destiny2GetVendors(characterId: number, destinyMembershipId: number, membershipType: number, components?: Array<number>, filter?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetVendors.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetVendors.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetVendors.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n        if (filter !== undefined && filter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>filter, 'filter');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetVendors200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Profile/${encodeURIComponent(String(destinyMembershipId))}/Character/${encodeURIComponent(String(characterId))}/Vendors/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Insert a plug into a socketed item. I know how it sounds, but I assure you it\\&#39;s much more G-rated than you might be guessing. We haven\\&#39;t decided yet whether this will be able to insert plugs that have side effects, but if we do it will require special scope permission for an application attempting to do so. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Request must include proof of permission for \\&#39;InsertPlugs\\&#39; from the account owner.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2InsertSocketPlug(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2InsertSocketPlug200Response>;\n    public destiny2InsertSocketPlug(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlug(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlug(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2InsertSocketPlug200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/InsertSocketPlug/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Insert a \\&#39;free\\&#39; plug into an item\\&#39;s socket. This does not require \\&#39;Advanced Write Action\\&#39; authorization and is available to 3rd-party apps, but will only work on \\&#39;free and reversible\\&#39; socket actions (Perks, Armor Mods, Shaders, Ornaments, etc.). You must have a valid Destiny Account, and the character must either be in a social space, in orbit, or offline.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2InsertSocketPlugFree(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2InsertSocketPlug200Response>;\n    public destiny2InsertSocketPlugFree(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlugFree(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlugFree(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2InsertSocketPlug200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/InsertSocketPlugFree/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Extract an item from the Postmaster, with whatever implications that may entail. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it\\&#39;s an instanced item.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2PullFromPostmaster(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2PullFromPostmaster(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2PullFromPostmaster(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2PullFromPostmaster(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/PullFromPostmaster/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Report a player that you met in an activity that was engaging in ToS-violating activities. Both you and the offending player must have played in the activityId passed in. Please use this judiciously and only when you have strong suspicions of violation, pretty please.\n     * @param activityId The ID of the activity where you ran into the brigand that you\\&#39;re reporting.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2ReportOffensivePostGameCarnageReportPlayer(activityId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2ReportOffensivePostGameCarnageReportPlayer(activityId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2ReportOffensivePostGameCarnageReportPlayer(activityId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2ReportOffensivePostGameCarnageReportPlayer(activityId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (activityId === null || activityId === undefined) {\n            throw new Error('Required parameter activityId was null or undefined when calling destiny2ReportOffensivePostGameCarnageReportPlayer.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Stats/PostGameCarnageReport/${encodeURIComponent(String(activityId))}/Report/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a page list of Destiny items.\n     * @param searchTerm The string to use when searching for Destiny entities.\n     * @param type The type of entity for whom you would like results. These correspond to the entity\\&#39;s definition contract name. For instance, if you are looking for items, this property should be \\&#39;DestinyInventoryItemDefinition\\&#39;.\n     * @param page Page number to return, starting with 0.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2SearchDestinyEntities(searchTerm: string, type: string, page?: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2SearchDestinyEntities200Response>;\n    public destiny2SearchDestinyEntities(searchTerm: string, type: string, page?: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2SearchDestinyEntities200Response>>;\n    public destiny2SearchDestinyEntities(searchTerm: string, type: string, page?: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2SearchDestinyEntities200Response>>;\n    public destiny2SearchDestinyEntities(searchTerm: string, type: string, page?: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (searchTerm === null || searchTerm === undefined) {\n            throw new Error('Required parameter searchTerm was null or undefined when calling destiny2SearchDestinyEntities.');\n        }\n        if (type === null || type === undefined) {\n            throw new Error('Required parameter type was null or undefined when calling destiny2SearchDestinyEntities.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (page !== undefined && page !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>page, 'page');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2SearchDestinyEntities200Response>(`${this.configuration.basePath}/Destiny2/Armory/Search/${encodeURIComponent(String(type))}/${encodeURIComponent(String(searchTerm))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a list of Destiny memberships given a global Bungie Display Name. This method will hide overridden memberships due to cross save.\n     * @param membershipType A valid non-BungieNet membership type, or All. Indicates which memberships to return. You probably want this set to All.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2SearchDestinyPlayerByBungieName(membershipType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2SearchDestinyPlayerByBungieName200Response>;\n    public destiny2SearchDestinyPlayerByBungieName(membershipType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2SearchDestinyPlayerByBungieName200Response>>;\n    public destiny2SearchDestinyPlayerByBungieName(membershipType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2SearchDestinyPlayerByBungieName200Response>>;\n    public destiny2SearchDestinyPlayerByBungieName(membershipType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2SearchDestinyPlayerByBungieName.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2SearchDestinyPlayerByBungieName200Response>(`${this.configuration.basePath}/Destiny2/SearchDestinyPlayerByBungieName/${encodeURIComponent(String(membershipType))}/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Set the Lock State for an instanced item. You must have a valid Destiny Account.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2SetItemLockState(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2SetItemLockState(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2SetItemLockState(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2SetItemLockState(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/SetLockState/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Set the Tracking State for an instanced item, if that item is a Quest or Bounty. You must have a valid Destiny Account. Yeah, it\\&#39;s an item.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2SetQuestTrackedState(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2SetQuestTrackedState(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2SetQuestTrackedState(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2SetQuestTrackedState(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/SetTrackedState/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Snapshot a loadout with the currently equipped items.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2SnapshotLoadout(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2SnapshotLoadout(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2SnapshotLoadout(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2SnapshotLoadout(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Loadouts/SnapshotLoadout/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Transfer an item to/from your vault. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it\\&#39;s an instanced item. itshappening.gif\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2TransferItem(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2TransferItem(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2TransferItem(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2TransferItem(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/TransferItem/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Update the color, icon, and name of a loadout.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2UpdateLoadoutIdentifiers(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public destiny2UpdateLoadoutIdentifiers(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public destiny2UpdateLoadoutIdentifiers(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public destiny2UpdateLoadoutIdentifiers(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Destiny2/Actions/Loadouts/UpdateLoadoutIdentifiers/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { FireteamGetAvailableClanFireteams200Response } from '../model/fireteamGetAvailableClanFireteams200Response';\n// @ts-ignore\nimport { FireteamGetClanFireteam200Response } from '../model/fireteamGetClanFireteam200Response';\n// @ts-ignore\nimport { FireteamGetMyClanFireteams200Response } from '../model/fireteamGetMyClanFireteams200Response';\n// @ts-ignore\nimport { GroupV2EditGroup200Response } from '../model/groupV2EditGroup200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class FireteamService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Gets a count of all active non-public fireteams for the specified clan. Maximum value returned is 25.\n     * @param groupId The group id of the clan.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fireteamGetActivePrivateClanFireteamCount(groupId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2EditGroup200Response>;\n    public fireteamGetActivePrivateClanFireteamCount(groupId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n    public fireteamGetActivePrivateClanFireteamCount(groupId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n    public fireteamGetActivePrivateClanFireteamCount(groupId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling fireteamGetActivePrivateClanFireteamCount.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<GroupV2EditGroup200Response>(`${this.configuration.basePath}/Fireteam/Clan/${encodeURIComponent(String(groupId))}/ActiveCount/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a listing of all of this clan\\&#39;s fireteams that are have available slots. Caller is not checked for join criteria so caching is maximized.\n     * @param activityType The activity type to filter by.\n     * @param dateRange The date range to grab available fireteams.\n     * @param groupId The group id of the clan.\n     * @param page Zero based page\n     * @param platform The platform filter.\n     * @param publicOnly Determines public/private filtering.\n     * @param slotFilter Filters based on available slots\n     * @param excludeImmediate If you wish the result to exclude immediate fireteams, set this to true. Immediate-only can be forced using the dateRange enum.\n     * @param langFilter An optional language filter.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fireteamGetAvailableClanFireteams(activityType: number, dateRange: number, groupId: number, page: number, platform: number, publicOnly: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<FireteamGetAvailableClanFireteams200Response>;\n    public fireteamGetAvailableClanFireteams(activityType: number, dateRange: number, groupId: number, page: number, platform: number, publicOnly: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<FireteamGetAvailableClanFireteams200Response>>;\n    public fireteamGetAvailableClanFireteams(activityType: number, dateRange: number, groupId: number, page: number, platform: number, publicOnly: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<FireteamGetAvailableClanFireteams200Response>>;\n    public fireteamGetAvailableClanFireteams(activityType: number, dateRange: number, groupId: number, page: number, platform: number, publicOnly: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (activityType === null || activityType === undefined) {\n            throw new Error('Required parameter activityType was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (dateRange === null || dateRange === undefined) {\n            throw new Error('Required parameter dateRange was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (platform === null || platform === undefined) {\n            throw new Error('Required parameter platform was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (publicOnly === null || publicOnly === undefined) {\n            throw new Error('Required parameter publicOnly was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n        if (slotFilter === null || slotFilter === undefined) {\n            throw new Error('Required parameter slotFilter was null or undefined when calling fireteamGetAvailableClanFireteams.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (excludeImmediate !== undefined && excludeImmediate !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>excludeImmediate, 'excludeImmediate');\n        }\n        if (langFilter !== undefined && langFilter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>langFilter, 'langFilter');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<FireteamGetAvailableClanFireteams200Response>(`${this.configuration.basePath}/Fireteam/Clan/${encodeURIComponent(String(groupId))}/Available/${encodeURIComponent(String(platform))}/${encodeURIComponent(String(activityType))}/${encodeURIComponent(String(dateRange))}/${encodeURIComponent(String(slotFilter))}/${encodeURIComponent(String(publicOnly))}/${encodeURIComponent(String(page))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a specific fireteam.\n     * @param fireteamId The unique id of the fireteam.\n     * @param groupId The group id of the clan.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fireteamGetClanFireteam(fireteamId: number, groupId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<FireteamGetClanFireteam200Response>;\n    public fireteamGetClanFireteam(fireteamId: number, groupId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<FireteamGetClanFireteam200Response>>;\n    public fireteamGetClanFireteam(fireteamId: number, groupId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<FireteamGetClanFireteam200Response>>;\n    public fireteamGetClanFireteam(fireteamId: number, groupId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (fireteamId === null || fireteamId === undefined) {\n            throw new Error('Required parameter fireteamId was null or undefined when calling fireteamGetClanFireteam.');\n        }\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling fireteamGetClanFireteam.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<FireteamGetClanFireteam200Response>(`${this.configuration.basePath}/Fireteam/Clan/${encodeURIComponent(String(groupId))}/Summary/${encodeURIComponent(String(fireteamId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a listing of all fireteams that caller is an applicant, a member, or an alternate of.\n     * @param groupId The group id of the clan. (This parameter is ignored unless the optional query parameter groupFilter is true).\n     * @param includeClosed If true, return fireteams that have been closed.\n     * @param page Deprecated parameter, ignored.\n     * @param platform The platform filter.\n     * @param groupFilter If true, filter by clan. Otherwise, ignore the clan and show all of the user\\&#39;s fireteams.\n     * @param langFilter An optional language filter.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fireteamGetMyClanFireteams(groupId: number, includeClosed: boolean, page: number, platform: number, groupFilter?: boolean, langFilter?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<FireteamGetMyClanFireteams200Response>;\n    public fireteamGetMyClanFireteams(groupId: number, includeClosed: boolean, page: number, platform: number, groupFilter?: boolean, langFilter?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<FireteamGetMyClanFireteams200Response>>;\n    public fireteamGetMyClanFireteams(groupId: number, includeClosed: boolean, page: number, platform: number, groupFilter?: boolean, langFilter?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<FireteamGetMyClanFireteams200Response>>;\n    public fireteamGetMyClanFireteams(groupId: number, includeClosed: boolean, page: number, platform: number, groupFilter?: boolean, langFilter?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling fireteamGetMyClanFireteams.');\n        }\n        if (includeClosed === null || includeClosed === undefined) {\n            throw new Error('Required parameter includeClosed was null or undefined when calling fireteamGetMyClanFireteams.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling fireteamGetMyClanFireteams.');\n        }\n        if (platform === null || platform === undefined) {\n            throw new Error('Required parameter platform was null or undefined when calling fireteamGetMyClanFireteams.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (groupFilter !== undefined && groupFilter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>groupFilter, 'groupFilter');\n        }\n        if (langFilter !== undefined && langFilter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>langFilter, 'langFilter');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<FireteamGetMyClanFireteams200Response>(`${this.configuration.basePath}/Fireteam/Clan/${encodeURIComponent(String(groupId))}/My/${encodeURIComponent(String(platform))}/${encodeURIComponent(String(includeClosed))}/${encodeURIComponent(String(page))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a listing of all public fireteams starting now with open slots. Caller is not checked for join criteria so caching is maximized.\n     * @param activityType The activity type to filter by.\n     * @param dateRange The date range to grab available fireteams.\n     * @param page Zero based page\n     * @param platform The platform filter.\n     * @param slotFilter Filters based on available slots\n     * @param excludeImmediate If you wish the result to exclude immediate fireteams, set this to true. Immediate-only can be forced using the dateRange enum.\n     * @param langFilter An optional language filter.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public fireteamSearchPublicAvailableClanFireteams(activityType: number, dateRange: number, page: number, platform: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<FireteamGetAvailableClanFireteams200Response>;\n    public fireteamSearchPublicAvailableClanFireteams(activityType: number, dateRange: number, page: number, platform: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<FireteamGetAvailableClanFireteams200Response>>;\n    public fireteamSearchPublicAvailableClanFireteams(activityType: number, dateRange: number, page: number, platform: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<FireteamGetAvailableClanFireteams200Response>>;\n    public fireteamSearchPublicAvailableClanFireteams(activityType: number, dateRange: number, page: number, platform: number, slotFilter: number, excludeImmediate?: boolean, langFilter?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (activityType === null || activityType === undefined) {\n            throw new Error('Required parameter activityType was null or undefined when calling fireteamSearchPublicAvailableClanFireteams.');\n        }\n        if (dateRange === null || dateRange === undefined) {\n            throw new Error('Required parameter dateRange was null or undefined when calling fireteamSearchPublicAvailableClanFireteams.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling fireteamSearchPublicAvailableClanFireteams.');\n        }\n        if (platform === null || platform === undefined) {\n            throw new Error('Required parameter platform was null or undefined when calling fireteamSearchPublicAvailableClanFireteams.');\n        }\n        if (slotFilter === null || slotFilter === undefined) {\n            throw new Error('Required parameter slotFilter was null or undefined when calling fireteamSearchPublicAvailableClanFireteams.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (excludeImmediate !== undefined && excludeImmediate !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>excludeImmediate, 'excludeImmediate');\n        }\n        if (langFilter !== undefined && langFilter !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>langFilter, 'langFilter');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<FireteamGetAvailableClanFireteams200Response>(`${this.configuration.basePath}/Fireteam/Search/Available/${encodeURIComponent(String(platform))}/${encodeURIComponent(String(activityType))}/${encodeURIComponent(String(dateRange))}/${encodeURIComponent(String(slotFilter))}/${encodeURIComponent(String(page))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { ForumGetForumTagSuggestions200Response } from '../model/forumGetForumTagSuggestions200Response';\n// @ts-ignore\nimport { ForumGetRecruitmentThreadSummaries200Response } from '../model/forumGetRecruitmentThreadSummaries200Response';\n// @ts-ignore\nimport { ForumGetTopicForContent200Response } from '../model/forumGetTopicForContent200Response';\n// @ts-ignore\nimport { ForumGetTopicsPaged200Response } from '../model/forumGetTopicsPaged200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class ForumService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Gets a listing of all topics marked as part of the core group.\n     * @param categoryFilter The category filter.\n     * @param page Zero base page\n     * @param quickDate The date filter.\n     * @param sort The sort mode.\n     * @param locales Comma seperated list of locales posts must match to return in the result list. Default \\&#39;en\\&#39;\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetCoreTopicsPaged(categoryFilter: number, page: number, quickDate: number, sort: number, locales?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetCoreTopicsPaged(categoryFilter: number, page: number, quickDate: number, sort: number, locales?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetCoreTopicsPaged(categoryFilter: number, page: number, quickDate: number, sort: number, locales?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetCoreTopicsPaged(categoryFilter: number, page: number, quickDate: number, sort: number, locales?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (categoryFilter === null || categoryFilter === undefined) {\n            throw new Error('Required parameter categoryFilter was null or undefined when calling forumGetCoreTopicsPaged.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling forumGetCoreTopicsPaged.');\n        }\n        if (quickDate === null || quickDate === undefined) {\n            throw new Error('Required parameter quickDate was null or undefined when calling forumGetCoreTopicsPaged.');\n        }\n        if (sort === null || sort === undefined) {\n            throw new Error('Required parameter sort was null or undefined when calling forumGetCoreTopicsPaged.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (locales !== undefined && locales !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>locales, 'locales');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetCoreTopicsPaged/${encodeURIComponent(String(page))}/${encodeURIComponent(String(sort))}/${encodeURIComponent(String(quickDate))}/${encodeURIComponent(String(categoryFilter))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets tag suggestions based on partial text entry, matching them with other tags previously used in the forums.\n     * @param partialtag The partial tag input to generate suggestions from.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetForumTagSuggestions(partialtag?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetForumTagSuggestions200Response>;\n    public forumGetForumTagSuggestions(partialtag?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetForumTagSuggestions200Response>>;\n    public forumGetForumTagSuggestions(partialtag?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetForumTagSuggestions200Response>>;\n    public forumGetForumTagSuggestions(partialtag?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (partialtag !== undefined && partialtag !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>partialtag, 'partialtag');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetForumTagSuggestions200Response>(`${this.configuration.basePath}/Forum/GetForumTagSuggestions/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets the specified forum poll.\n     * @param topicId The post id of the topic that has the poll.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetPoll(topicId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetPoll(topicId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetPoll(topicId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetPoll(topicId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (topicId === null || topicId === undefined) {\n            throw new Error('Required parameter topicId was null or undefined when calling forumGetPoll.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/Poll/${encodeURIComponent(String(topicId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the post specified and its immediate parent.\n     * @param childPostId \n     * @param showbanned If this value is not null or empty, banned posts are requested to be returned\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetPostAndParent(childPostId: number, showbanned?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetPostAndParent(childPostId: number, showbanned?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetPostAndParent(childPostId: number, showbanned?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetPostAndParent(childPostId: number, showbanned?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (childPostId === null || childPostId === undefined) {\n            throw new Error('Required parameter childPostId was null or undefined when calling forumGetPostAndParent.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (showbanned !== undefined && showbanned !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>showbanned, 'showbanned');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetPostAndParent/${encodeURIComponent(String(childPostId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the post specified and its immediate parent of posts that are awaiting approval.\n     * @param childPostId \n     * @param showbanned If this value is not null or empty, banned posts are requested to be returned\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetPostAndParentAwaitingApproval(childPostId: number, showbanned?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetPostAndParentAwaitingApproval(childPostId: number, showbanned?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetPostAndParentAwaitingApproval(childPostId: number, showbanned?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetPostAndParentAwaitingApproval(childPostId: number, showbanned?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (childPostId === null || childPostId === undefined) {\n            throw new Error('Required parameter childPostId was null or undefined when calling forumGetPostAndParentAwaitingApproval.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (showbanned !== undefined && showbanned !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>showbanned, 'showbanned');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetPostAndParentAwaitingApproval/${encodeURIComponent(String(childPostId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a thread of posts at the given parent, optionally returning replies to those posts as well as the original parent.\n     * @param getParentPost \n     * @param page \n     * @param pageSize \n     * @param parentPostId \n     * @param replySize \n     * @param rootThreadMode \n     * @param sortMode \n     * @param showbanned If this value is not null or empty, banned posts are requested to be returned\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetPostsThreadedPaged(getParentPost: boolean, page: number, pageSize: number, parentPostId: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetPostsThreadedPaged(getParentPost: boolean, page: number, pageSize: number, parentPostId: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetPostsThreadedPaged(getParentPost: boolean, page: number, pageSize: number, parentPostId: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetPostsThreadedPaged(getParentPost: boolean, page: number, pageSize: number, parentPostId: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (getParentPost === null || getParentPost === undefined) {\n            throw new Error('Required parameter getParentPost was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (pageSize === null || pageSize === undefined) {\n            throw new Error('Required parameter pageSize was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (parentPostId === null || parentPostId === undefined) {\n            throw new Error('Required parameter parentPostId was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (replySize === null || replySize === undefined) {\n            throw new Error('Required parameter replySize was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (rootThreadMode === null || rootThreadMode === undefined) {\n            throw new Error('Required parameter rootThreadMode was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n        if (sortMode === null || sortMode === undefined) {\n            throw new Error('Required parameter sortMode was null or undefined when calling forumGetPostsThreadedPaged.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (showbanned !== undefined && showbanned !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>showbanned, 'showbanned');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetPostsThreadedPaged/${encodeURIComponent(String(parentPostId))}/${encodeURIComponent(String(page))}/${encodeURIComponent(String(pageSize))}/${encodeURIComponent(String(replySize))}/${encodeURIComponent(String(getParentPost))}/${encodeURIComponent(String(rootThreadMode))}/${encodeURIComponent(String(sortMode))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a thread of posts starting at the topicId of the input childPostId, optionally returning replies to those posts as well as the original parent.\n     * @param childPostId \n     * @param page \n     * @param pageSize \n     * @param replySize \n     * @param rootThreadMode \n     * @param sortMode \n     * @param showbanned If this value is not null or empty, banned posts are requested to be returned\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetPostsThreadedPagedFromChild(childPostId: number, page: number, pageSize: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetPostsThreadedPagedFromChild(childPostId: number, page: number, pageSize: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetPostsThreadedPagedFromChild(childPostId: number, page: number, pageSize: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetPostsThreadedPagedFromChild(childPostId: number, page: number, pageSize: number, replySize: number, rootThreadMode: boolean, sortMode: number, showbanned?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (childPostId === null || childPostId === undefined) {\n            throw new Error('Required parameter childPostId was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n        if (pageSize === null || pageSize === undefined) {\n            throw new Error('Required parameter pageSize was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n        if (replySize === null || replySize === undefined) {\n            throw new Error('Required parameter replySize was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n        if (rootThreadMode === null || rootThreadMode === undefined) {\n            throw new Error('Required parameter rootThreadMode was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n        if (sortMode === null || sortMode === undefined) {\n            throw new Error('Required parameter sortMode was null or undefined when calling forumGetPostsThreadedPagedFromChild.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (showbanned !== undefined && showbanned !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>showbanned, 'showbanned');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetPostsThreadedPagedFromChild/${encodeURIComponent(String(childPostId))}/${encodeURIComponent(String(page))}/${encodeURIComponent(String(pageSize))}/${encodeURIComponent(String(replySize))}/${encodeURIComponent(String(rootThreadMode))}/${encodeURIComponent(String(sortMode))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Allows the caller to get a list of to 25 recruitment thread summary information objects.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetRecruitmentThreadSummaries(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetRecruitmentThreadSummaries200Response>;\n    public forumGetRecruitmentThreadSummaries(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetRecruitmentThreadSummaries200Response>>;\n    public forumGetRecruitmentThreadSummaries(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetRecruitmentThreadSummaries200Response>>;\n    public forumGetRecruitmentThreadSummaries(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<ForumGetRecruitmentThreadSummaries200Response>(`${this.configuration.basePath}/Forum/Recruit/Summaries/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets the post Id for the given content item\\&#39;s comments, if it exists.\n     * @param contentId \n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetTopicForContent(contentId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicForContent200Response>;\n    public forumGetTopicForContent(contentId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicForContent200Response>>;\n    public forumGetTopicForContent(contentId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicForContent200Response>>;\n    public forumGetTopicForContent(contentId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (contentId === null || contentId === undefined) {\n            throw new Error('Required parameter contentId was null or undefined when calling forumGetTopicForContent.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicForContent200Response>(`${this.configuration.basePath}/Forum/GetTopicForContent/${encodeURIComponent(String(contentId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get topics from any forum.\n     * @param categoryFilter A category filter\n     * @param group The group, if any.\n     * @param page Zero paged page number\n     * @param pageSize Unused\n     * @param quickDate A date filter.\n     * @param sort The sort mode.\n     * @param locales Comma seperated list of locales posts must match to return in the result list. Default \\&#39;en\\&#39;\n     * @param tagstring The tags to search, if any.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public forumGetTopicsPaged(categoryFilter: number, group: number, page: number, pageSize: number, quickDate: number, sort: number, locales?: string, tagstring?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<ForumGetTopicsPaged200Response>;\n    public forumGetTopicsPaged(categoryFilter: number, group: number, page: number, pageSize: number, quickDate: number, sort: number, locales?: string, tagstring?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<ForumGetTopicsPaged200Response>>;\n    public forumGetTopicsPaged(categoryFilter: number, group: number, page: number, pageSize: number, quickDate: number, sort: number, locales?: string, tagstring?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<ForumGetTopicsPaged200Response>>;\n    public forumGetTopicsPaged(categoryFilter: number, group: number, page: number, pageSize: number, quickDate: number, sort: number, locales?: string, tagstring?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (categoryFilter === null || categoryFilter === undefined) {\n            throw new Error('Required parameter categoryFilter was null or undefined when calling forumGetTopicsPaged.');\n        }\n        if (group === null || group === undefined) {\n            throw new Error('Required parameter group was null or undefined when calling forumGetTopicsPaged.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling forumGetTopicsPaged.');\n        }\n        if (pageSize === null || pageSize === undefined) {\n            throw new Error('Required parameter pageSize was null or undefined when calling forumGetTopicsPaged.');\n        }\n        if (quickDate === null || quickDate === undefined) {\n            throw new Error('Required parameter quickDate was null or undefined when calling forumGetTopicsPaged.');\n        }\n        if (sort === null || sort === undefined) {\n            throw new Error('Required parameter sort was null or undefined when calling forumGetTopicsPaged.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (locales !== undefined && locales !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>locales, 'locales');\n        }\n        if (tagstring !== undefined && tagstring !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>tagstring, 'tagstring');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<ForumGetTopicsPaged200Response>(`${this.configuration.basePath}/Forum/GetTopicsPaged/${encodeURIComponent(String(page))}/${encodeURIComponent(String(pageSize))}/${encodeURIComponent(String(group))}/${encodeURIComponent(String(sort))}/${encodeURIComponent(String(quickDate))}/${encodeURIComponent(String(categoryFilter))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport {\n  HttpClient,\n  HttpHeaders,\n  HttpParams,\n  HttpResponse,\n  HttpEvent,\n  HttpParameterCodec,\n  HttpContext\n} from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { ForumGetTopicForContent200Response } from '../model/forumGetTopicForContent200Response';\n// @ts-ignore\nimport { GroupV2ApproveAllPending200Response } from '../model/groupV2ApproveAllPending200Response';\n// @ts-ignore\nimport { GroupV2EditGroup200Response } from '../model/groupV2EditGroup200Response';\n// @ts-ignore\nimport { GroupV2GetAvailableThemes200Response } from '../model/groupV2GetAvailableThemes200Response';\n// @ts-ignore\nimport { GroupV2GetBannedMembersOfGroup200Response } from '../model/groupV2GetBannedMembersOfGroup200Response';\n// @ts-ignore\nimport { GroupV2GetGroup200Response } from '../model/groupV2GetGroup200Response';\n// @ts-ignore\nimport { GroupV2GetGroupOptionalConversations200Response } from '../model/groupV2GetGroupOptionalConversations200Response';\n// @ts-ignore\nimport { GroupV2GetGroupsForMember200Response } from '../model/groupV2GetGroupsForMember200Response';\n// @ts-ignore\nimport { GroupV2GetMembersOfGroup200Response } from '../model/groupV2GetMembersOfGroup200Response';\n// @ts-ignore\nimport { GroupV2GetPendingMemberships200Response } from '../model/groupV2GetPendingMemberships200Response';\n// @ts-ignore\nimport { GroupV2GetPotentialGroupsForMember200Response } from '../model/groupV2GetPotentialGroupsForMember200Response';\n// @ts-ignore\nimport { GroupV2GetRecommendedGroups200Response } from '../model/groupV2GetRecommendedGroups200Response';\n// @ts-ignore\nimport { GroupV2GetUserClanInviteSetting200Response } from '../model/groupV2GetUserClanInviteSetting200Response';\n// @ts-ignore\nimport { GroupV2GroupSearch200Response } from '../model/groupV2GroupSearch200Response';\n// @ts-ignore\nimport { GroupV2IndividualGroupInvite200Response } from '../model/groupV2IndividualGroupInvite200Response';\n// @ts-ignore\nimport { GroupV2KickMember200Response } from '../model/groupV2KickMember200Response';\n// @ts-ignore\nimport { GroupV2RecoverGroupForFounder200Response } from '../model/groupV2RecoverGroupForFounder200Response';\n// @ts-ignore\nimport { UserGetSanitizedPlatformDisplayNames200Response } from '../model/userGetSanitizedPlatformDisplayNames200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\nimport { GroupsV2GroupQuery } from '../model/groupsV2GroupQuery';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class GroupV2Service {\n  protected basePath = 'https://www.bungie.net/Platform';\n  public defaultHeaders = new HttpHeaders();\n  public configuration = new Configuration();\n  public encoder: HttpParameterCodec;\n\n  constructor(\n    protected httpClient: HttpClient,\n    @Optional() @Inject(BASE_PATH) basePath: string,\n    @Optional() configuration: Configuration\n  ) {\n    if (configuration) {\n      this.configuration = configuration;\n    }\n    if (typeof this.configuration.basePath !== 'string') {\n      if (typeof basePath !== 'string') {\n        basePath = this.basePath;\n      }\n      this.configuration.basePath = basePath;\n    }\n    this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n  }\n\n  // @ts-ignore\n  private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n    if (typeof value === 'object' && value instanceof Date === false) {\n      httpParams = this.addToHttpParamsRecursive(httpParams, value);\n    } else {\n      httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n    }\n    return httpParams;\n  }\n\n  private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n    if (value == null) {\n      return httpParams;\n    }\n\n    if (typeof value === 'object') {\n      if (Array.isArray(value)) {\n        (value as any[]).forEach((elem) => (httpParams = this.addToHttpParamsRecursive(httpParams, elem, key)));\n      } else if (value instanceof Date) {\n        if (key != null) {\n          httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n        } else {\n          throw Error('key may not be null if value is Date');\n        }\n      } else {\n        Object.keys(value).forEach(\n          (k) => (httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k))\n        );\n      }\n    } else if (key != null) {\n      httpParams = httpParams.append(key, value);\n    } else {\n      throw Error('key may not be null if value is not object or array');\n    }\n    return httpParams;\n  }\n\n  /**\n   * An administrative method to allow the founder of a group or clan to give up their position to another admin permanently.\n   * @param founderIdNew The new founder for this group. Must already be a group admin.\n   * @param groupId The target group id.\n   * @param membershipType Membership type of the provided founderIdNew.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2AbdicateFoundership(\n    founderIdNew: number,\n    groupId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetUserClanInviteSetting200Response>;\n  public groupV2AbdicateFoundership(\n    founderIdNew: number,\n    groupId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2AbdicateFoundership(\n    founderIdNew: number,\n    groupId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2AbdicateFoundership(\n    founderIdNew: number,\n    groupId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (founderIdNew === null || founderIdNew === undefined) {\n      throw new Error('Required parameter founderIdNew was null or undefined when calling groupV2AbdicateFoundership.');\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2AbdicateFoundership.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2AbdicateFoundership.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2GetUserClanInviteSetting200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(\n        String(groupId)\n      )}/Admin/AbdicateFoundership/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(\n        String(founderIdNew)\n      )}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Add a new optional conversation/chat channel. Requires admin permissions to the group.\n   * @param groupId Group ID of the group to edit.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2AddOptionalConversation(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<ForumGetTopicForContent200Response>;\n  public groupV2AddOptionalConversation(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<ForumGetTopicForContent200Response>>;\n  public groupV2AddOptionalConversation(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<ForumGetTopicForContent200Response>>;\n  public groupV2AddOptionalConversation(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2AddOptionalConversation.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<ForumGetTopicForContent200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/OptionalConversations/Add/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Approve all of the pending users for the given group.\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2ApproveAllPending(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2ApproveAllPending200Response>;\n  public groupV2ApproveAllPending(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2ApproveAllPending200Response>>;\n  public groupV2ApproveAllPending(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2ApproveAllPending200Response>>;\n  public groupV2ApproveAllPending(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2ApproveAllPending.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2ApproveAllPending200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/ApproveAll/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Approve the given membershipId to join the group/clan as long as they have applied.\n   * @param groupId ID of the group.\n   * @param membershipId The membership id being approved.\n   * @param membershipType Membership type of the supplied membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2ApprovePending(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetUserClanInviteSetting200Response>;\n  public groupV2ApprovePending(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2ApprovePending(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2ApprovePending(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2ApprovePending.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2ApprovePending.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error('Required parameter membershipType was null or undefined when calling groupV2ApprovePending.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2GetUserClanInviteSetting200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(\n        String(groupId)\n      )}/Members/Approve/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(String(membershipId))}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Approve all of the pending users for the given group.\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2ApprovePendingForList(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2ApproveAllPending200Response>;\n  public groupV2ApprovePendingForList(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2ApproveAllPending200Response>>;\n  public groupV2ApprovePendingForList(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2ApproveAllPending200Response>>;\n  public groupV2ApprovePendingForList(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2ApprovePendingForList.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2ApproveAllPending200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/ApproveList/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Bans the requested member from the requested group for the specified period of time.\n   * @param groupId Group ID that has the member to ban.\n   * @param membershipId Membership ID of the member to ban from the group.\n   * @param membershipType Membership type of the provided membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2BanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2BanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2BanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2BanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2BanMember.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2BanMember.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error('Required parameter membershipType was null or undefined when calling groupV2BanMember.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/Ban/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Deny all of the pending users for the given group.\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2DenyAllPending(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2ApproveAllPending200Response>;\n  public groupV2DenyAllPending(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2ApproveAllPending200Response>>;\n  public groupV2DenyAllPending(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2ApproveAllPending200Response>>;\n  public groupV2DenyAllPending(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2DenyAllPending.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2ApproveAllPending200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/DenyAll/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Deny all of the pending users for the given group that match the passed-in .\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2DenyPendingForList(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2ApproveAllPending200Response>;\n  public groupV2DenyPendingForList(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2ApproveAllPending200Response>>;\n  public groupV2DenyPendingForList(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2ApproveAllPending200Response>>;\n  public groupV2DenyPendingForList(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2DenyPendingForList.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2ApproveAllPending200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/DenyList/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Edit an existing group\\&#39;s clan banner. You must have suitable permissions in the group to perform this operation. All fields are required.\n   * @param groupId Group ID of the group to edit.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2EditClanBanner(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2EditClanBanner(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2EditClanBanner(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2EditClanBanner(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2EditClanBanner.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/EditClanBanner/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Edit group options only available to a founder. You must have suitable permissions in the group to perform this operation.\n   * @param groupId Group ID of the group to edit.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2EditFounderOptions(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2EditFounderOptions(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2EditFounderOptions(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2EditFounderOptions(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2EditFounderOptions.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/EditFounderOptions/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Edit an existing group. You must have suitable permissions in the group to perform this operation. This latest revision will only edit the fields you pass in - pass null for properties you want to leave unaltered.\n   * @param groupId Group ID of the group to edit.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2EditGroup(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2EditGroup(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2EditGroup(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2EditGroup(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2EditGroup.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Edit/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Edit the membership type of a given member. You must have suitable permissions in the group to perform this operation.\n   * @param groupId ID of the group to which the member belongs.\n   * @param membershipId Membership ID to modify.\n   * @param membershipType Membership type of the provide membership ID.\n   * @param memberType New membertype for the specified member.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2EditGroupMembership(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    memberType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2EditGroupMembership(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    memberType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2EditGroupMembership(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    memberType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2EditGroupMembership(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    memberType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2EditGroupMembership.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2EditGroupMembership.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2EditGroupMembership.'\n      );\n    }\n    if (memberType === null || memberType === undefined) {\n      throw new Error('Required parameter memberType was null or undefined when calling groupV2EditGroupMembership.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/SetMembershipType/${encodeURIComponent(String(memberType))}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Edit the settings of an optional conversation/chat channel. Requires admin permissions to the group.\n   * @param conversationId Conversation Id of the channel being edited.\n   * @param groupId Group ID of the group to edit.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2EditOptionalConversation(\n    conversationId: number,\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<ForumGetTopicForContent200Response>;\n  public groupV2EditOptionalConversation(\n    conversationId: number,\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<ForumGetTopicForContent200Response>>;\n  public groupV2EditOptionalConversation(\n    conversationId: number,\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<ForumGetTopicForContent200Response>>;\n  public groupV2EditOptionalConversation(\n    conversationId: number,\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (conversationId === null || conversationId === undefined) {\n      throw new Error(\n        'Required parameter conversationId was null or undefined when calling groupV2EditOptionalConversation.'\n      );\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2EditOptionalConversation.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<ForumGetTopicForContent200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(\n        String(groupId)\n      )}/OptionalConversations/Edit/${encodeURIComponent(String(conversationId))}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get the list of members in a given group who are of admin level or higher.\n   * @param currentpage Page number (starting with 1). Each page has a fixed size of 50 items per page.\n   * @param groupId The ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetAdminsAndFounderOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetMembersOfGroup200Response>;\n  public groupV2GetAdminsAndFounderOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetMembersOfGroup200Response>>;\n  public groupV2GetAdminsAndFounderOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetMembersOfGroup200Response>>;\n  public groupV2GetAdminsAndFounderOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (currentpage === null || currentpage === undefined) {\n      throw new Error(\n        'Required parameter currentpage was null or undefined when calling groupV2GetAdminsAndFounderOfGroup.'\n      );\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error(\n        'Required parameter groupId was null or undefined when calling groupV2GetAdminsAndFounderOfGroup.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetMembersOfGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/AdminsAndFounder/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Returns a list of all available group avatars for the signed-in user.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetAvailableAvatars(\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<UserGetSanitizedPlatformDisplayNames200Response>;\n  public groupV2GetAvailableAvatars(\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<UserGetSanitizedPlatformDisplayNames200Response>>;\n  public groupV2GetAvailableAvatars(\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<UserGetSanitizedPlatformDisplayNames200Response>>;\n  public groupV2GetAvailableAvatars(\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<UserGetSanitizedPlatformDisplayNames200Response>(\n      `${this.configuration.basePath}/GroupV2/GetAvailableAvatars/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Returns a list of all available group themes.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetAvailableThemes(\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetAvailableThemes200Response>;\n  public groupV2GetAvailableThemes(\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetAvailableThemes200Response>>;\n  public groupV2GetAvailableThemes(\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetAvailableThemes200Response>>;\n  public groupV2GetAvailableThemes(\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetAvailableThemes200Response>(\n      `${this.configuration.basePath}/GroupV2/GetAvailableThemes/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get the list of banned members in a given group. Only accessible to group Admins and above. Not applicable to all groups. Check group features.\n   * @param currentpage Page number (starting with 1). Each page has a fixed size of 50 entries.\n   * @param groupId Group ID whose banned members you are fetching\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetBannedMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetBannedMembersOfGroup200Response>;\n  public groupV2GetBannedMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetBannedMembersOfGroup200Response>>;\n  public groupV2GetBannedMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetBannedMembersOfGroup200Response>>;\n  public groupV2GetBannedMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (currentpage === null || currentpage === undefined) {\n      throw new Error(\n        'Required parameter currentpage was null or undefined when calling groupV2GetBannedMembersOfGroup.'\n      );\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2GetBannedMembersOfGroup.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetBannedMembersOfGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Banned/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get information about a specific group of the given ID.\n   * @param groupId Requested group\\&#39;s id.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetGroup(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetGroup200Response>;\n  public groupV2GetGroup(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetGroup200Response>>;\n  public groupV2GetGroup(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetGroup200Response>>;\n  public groupV2GetGroup(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2GetGroup.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get information about a specific group with the given name and type.\n   * @param groupName Exact name of the group to find.\n   * @param groupType Type of group to find.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetGroupByName(\n    groupName: string,\n    groupType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetGroup200Response>;\n  public groupV2GetGroupByName(\n    groupName: string,\n    groupType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetGroup200Response>>;\n  public groupV2GetGroupByName(\n    groupName: string,\n    groupType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetGroup200Response>>;\n  public groupV2GetGroupByName(\n    groupName: string,\n    groupType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupName === null || groupName === undefined) {\n      throw new Error('Required parameter groupName was null or undefined when calling groupV2GetGroupByName.');\n    }\n    if (groupType === null || groupType === undefined) {\n      throw new Error('Required parameter groupType was null or undefined when calling groupV2GetGroupByName.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/Name/${encodeURIComponent(String(groupName))}/${encodeURIComponent(\n        String(groupType)\n      )}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get information about a specific group with the given name and type. The POST version.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetGroupByNameV2(\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetGroup200Response>;\n  public groupV2GetGroupByNameV2(\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetGroup200Response>>;\n  public groupV2GetGroupByNameV2(\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetGroup200Response>>;\n  public groupV2GetGroupByNameV2(\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2GetGroup200Response>(`${this.configuration.basePath}/GroupV2/NameV2/`, null, {\n      context: localVarHttpContext,\n      responseType: <any>responseType_,\n      withCredentials: this.configuration.withCredentials,\n      headers: localVarHeaders,\n      observe: observe,\n      reportProgress: reportProgress\n    });\n  }\n\n  /**\n   * Gets a list of available optional conversation channels and their settings.\n   * @param groupId Requested group\\&#39;s id.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetGroupOptionalConversations(\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetGroupOptionalConversations200Response>;\n  public groupV2GetGroupOptionalConversations(\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetGroupOptionalConversations200Response>>;\n  public groupV2GetGroupOptionalConversations(\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetGroupOptionalConversations200Response>>;\n  public groupV2GetGroupOptionalConversations(\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error(\n        'Required parameter groupId was null or undefined when calling groupV2GetGroupOptionalConversations.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetGroupOptionalConversations200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/OptionalConversations/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get information about the groups that a given member has joined.\n   * @param filter Filter apply to list of joined groups.\n   * @param groupType Type of group the supplied member founded.\n   * @param membershipId Membership ID to for which to find founded groups.\n   * @param membershipType Membership type of the supplied membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetGroupsForMember200Response>;\n  public groupV2GetGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetGroupsForMember200Response>>;\n  public groupV2GetGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetGroupsForMember200Response>>;\n  public groupV2GetGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (filter === null || filter === undefined) {\n      throw new Error('Required parameter filter was null or undefined when calling groupV2GetGroupsForMember.');\n    }\n    if (groupType === null || groupType === undefined) {\n      throw new Error('Required parameter groupType was null or undefined when calling groupV2GetGroupsForMember.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2GetGroupsForMember.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2GetGroupsForMember.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetGroupsForMember200Response>(\n      `${this.configuration.basePath}/GroupV2/User/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(\n        String(membershipId)\n      )}/${encodeURIComponent(String(filter))}/${encodeURIComponent(String(groupType))}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get the list of users who have been invited into the group.\n   * @param currentpage Page number (starting with 1). Each page has a fixed size of 50 items per page.\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetInvitedIndividuals(\n    currentpage: number,\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetPendingMemberships200Response>;\n  public groupV2GetInvitedIndividuals(\n    currentpage: number,\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetPendingMemberships200Response>>;\n  public groupV2GetInvitedIndividuals(\n    currentpage: number,\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetPendingMemberships200Response>>;\n  public groupV2GetInvitedIndividuals(\n    currentpage: number,\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (currentpage === null || currentpage === undefined) {\n      throw new Error(\n        'Required parameter currentpage was null or undefined when calling groupV2GetInvitedIndividuals.'\n      );\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2GetInvitedIndividuals.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetPendingMemberships200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/InvitedIndividuals/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get the list of members in a given group.\n   * @param currentpage Page number (starting with 1). Each page has a fixed size of 50 items per page.\n   * @param groupId The ID of the group.\n   * @param memberType Filter out other member types. Use None for all members.\n   * @param nameSearch The name fragment upon which a search should be executed for members with matching display or unique names.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    memberType?: number,\n    nameSearch?: string,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetMembersOfGroup200Response>;\n  public groupV2GetMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    memberType?: number,\n    nameSearch?: string,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetMembersOfGroup200Response>>;\n  public groupV2GetMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    memberType?: number,\n    nameSearch?: string,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetMembersOfGroup200Response>>;\n  public groupV2GetMembersOfGroup(\n    currentpage: number,\n    groupId: number,\n    memberType?: number,\n    nameSearch?: string,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (currentpage === null || currentpage === undefined) {\n      throw new Error('Required parameter currentpage was null or undefined when calling groupV2GetMembersOfGroup.');\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2GetMembersOfGroup.');\n    }\n\n    let localVarQueryParameters = new HttpParams({ encoder: this.encoder });\n    if (memberType !== undefined && memberType !== null) {\n      localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>memberType, 'memberType');\n    }\n    if (nameSearch !== undefined && nameSearch !== null) {\n      localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>nameSearch, 'nameSearch');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetMembersOfGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/`,\n      {\n        context: localVarHttpContext,\n        params: localVarQueryParameters,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get the list of users who are awaiting a decision on their application to join a given group. Modified to include application info.\n   * @param currentpage Page number (starting with 1). Each page has a fixed size of 50 items per page.\n   * @param groupId ID of the group.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetPendingMemberships(\n    currentpage: number,\n    groupId: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetPendingMemberships200Response>;\n  public groupV2GetPendingMemberships(\n    currentpage: number,\n    groupId: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetPendingMemberships200Response>>;\n  public groupV2GetPendingMemberships(\n    currentpage: number,\n    groupId: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetPendingMemberships200Response>>;\n  public groupV2GetPendingMemberships(\n    currentpage: number,\n    groupId: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (currentpage === null || currentpage === undefined) {\n      throw new Error(\n        'Required parameter currentpage was null or undefined when calling groupV2GetPendingMemberships.'\n      );\n    }\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2GetPendingMemberships.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetPendingMemberships200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/Pending/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Get information about the groups that a given member has applied to or been invited to.\n   * @param filter Filter apply to list of potential joined groups.\n   * @param groupType Type of group the supplied member applied.\n   * @param membershipId Membership ID to for which to find applied groups.\n   * @param membershipType Membership type of the supplied membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetPotentialGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetPotentialGroupsForMember200Response>;\n  public groupV2GetPotentialGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetPotentialGroupsForMember200Response>>;\n  public groupV2GetPotentialGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetPotentialGroupsForMember200Response>>;\n  public groupV2GetPotentialGroupsForMember(\n    filter: number,\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (filter === null || filter === undefined) {\n      throw new Error(\n        'Required parameter filter was null or undefined when calling groupV2GetPotentialGroupsForMember.'\n      );\n    }\n    if (groupType === null || groupType === undefined) {\n      throw new Error(\n        'Required parameter groupType was null or undefined when calling groupV2GetPotentialGroupsForMember.'\n      );\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error(\n        'Required parameter membershipId was null or undefined when calling groupV2GetPotentialGroupsForMember.'\n      );\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2GetPotentialGroupsForMember.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetPotentialGroupsForMember200Response>(\n      `${this.configuration.basePath}/GroupV2/User/Potential/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/${encodeURIComponent(String(filter))}/${encodeURIComponent(\n        String(groupType)\n      )}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Gets groups recommended for you based on the groups to whom those you follow belong.\n   * @param createDateRange Requested range in which to pull recommended groups\n   * @param groupType Type of groups requested\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetRecommendedGroups(\n    createDateRange: number,\n    groupType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetRecommendedGroups200Response>;\n  public groupV2GetRecommendedGroups(\n    createDateRange: number,\n    groupType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetRecommendedGroups200Response>>;\n  public groupV2GetRecommendedGroups(\n    createDateRange: number,\n    groupType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetRecommendedGroups200Response>>;\n  public groupV2GetRecommendedGroups(\n    createDateRange: number,\n    groupType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (createDateRange === null || createDateRange === undefined) {\n      throw new Error(\n        'Required parameter createDateRange was null or undefined when calling groupV2GetRecommendedGroups.'\n      );\n    }\n    if (groupType === null || groupType === undefined) {\n      throw new Error('Required parameter groupType was null or undefined when calling groupV2GetRecommendedGroups.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2GetRecommendedGroups200Response>(\n      `${this.configuration.basePath}/GroupV2/Recommended/${encodeURIComponent(String(groupType))}/${encodeURIComponent(\n        String(createDateRange)\n      )}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Gets the state of the user\\&#39;s clan invite preferences for a particular membership type - true if they wish to be invited to clans, false otherwise.\n   * @param mType The Destiny membership type of the account we wish to access settings.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GetUserClanInviteSetting(\n    mType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GetUserClanInviteSetting200Response>;\n  public groupV2GetUserClanInviteSetting(\n    mType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2GetUserClanInviteSetting(\n    mType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n  public groupV2GetUserClanInviteSetting(\n    mType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (mType === null || mType === undefined) {\n      throw new Error('Required parameter mType was null or undefined when calling groupV2GetUserClanInviteSetting.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2GetUserClanInviteSetting200Response>(\n      `${this.configuration.basePath}/GroupV2/GetUserClanInviteSetting/${encodeURIComponent(String(mType))}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Search for Groups.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2GroupSearch(\n    body: GroupsV2GroupQuery,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2GroupSearch200Response>;\n  public groupV2GroupSearch(\n    body: GroupsV2GroupQuery,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2GroupSearch200Response>>;\n  public groupV2GroupSearch(\n    body: GroupsV2GroupQuery,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2GroupSearch200Response>>;\n  public groupV2GroupSearch(\n    body: GroupsV2GroupQuery,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2GroupSearch200Response>(`${this.configuration.basePath}/GroupV2/Search/`, body, {\n      context: localVarHttpContext,\n      responseType: <any>responseType_,\n      withCredentials: this.configuration.withCredentials,\n      headers: localVarHeaders,\n      observe: observe,\n      reportProgress: reportProgress\n    });\n  }\n\n  /**\n   * Invite a user to join this group.\n   * @param groupId ID of the group you would like to join.\n   * @param membershipId Membership id of the account being invited.\n   * @param membershipType MembershipType of the account being invited.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2IndividualGroupInvite(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2IndividualGroupInvite200Response>;\n  public groupV2IndividualGroupInvite(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2IndividualGroupInvite200Response>>;\n  public groupV2IndividualGroupInvite(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2IndividualGroupInvite200Response>>;\n  public groupV2IndividualGroupInvite(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2IndividualGroupInvite.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error(\n        'Required parameter membershipId was null or undefined when calling groupV2IndividualGroupInvite.'\n      );\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2IndividualGroupInvite.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2IndividualGroupInvite200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(\n        String(groupId)\n      )}/Members/IndividualInvite/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(\n        String(membershipId)\n      )}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Cancels a pending invitation to join a group.\n   * @param groupId ID of the group you would like to join.\n   * @param membershipId Membership id of the account being cancelled.\n   * @param membershipType MembershipType of the account being cancelled.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2IndividualGroupInviteCancel(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2IndividualGroupInvite200Response>;\n  public groupV2IndividualGroupInviteCancel(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2IndividualGroupInvite200Response>>;\n  public groupV2IndividualGroupInviteCancel(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2IndividualGroupInvite200Response>>;\n  public groupV2IndividualGroupInviteCancel(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error(\n        'Required parameter groupId was null or undefined when calling groupV2IndividualGroupInviteCancel.'\n      );\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error(\n        'Required parameter membershipId was null or undefined when calling groupV2IndividualGroupInviteCancel.'\n      );\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2IndividualGroupInviteCancel.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2IndividualGroupInvite200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(\n        String(groupId)\n      )}/Members/IndividualInviteCancel/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(\n        String(membershipId)\n      )}/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Kick a member from the given group, forcing them to reapply if they wish to re-join the group. You must have suitable permissions in the group to perform this operation.\n   * @param groupId Group ID to kick the user from.\n   * @param membershipId Membership ID to kick.\n   * @param membershipType Membership type of the provided membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2KickMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2KickMember200Response>;\n  public groupV2KickMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2KickMember200Response>>;\n  public groupV2KickMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2KickMember200Response>>;\n  public groupV2KickMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2KickMember.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2KickMember.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error('Required parameter membershipType was null or undefined when calling groupV2KickMember.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2KickMember200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/Kick/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Allows a founder to manually recover a group they can see in game but not on bungie.net\n   * @param groupType Type of group the supplied member founded.\n   * @param membershipId Membership ID to for which to find founded groups.\n   * @param membershipType Membership type of the supplied membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2RecoverGroupForFounder(\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2RecoverGroupForFounder200Response>;\n  public groupV2RecoverGroupForFounder(\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2RecoverGroupForFounder200Response>>;\n  public groupV2RecoverGroupForFounder(\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2RecoverGroupForFounder200Response>>;\n  public groupV2RecoverGroupForFounder(\n    groupType: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupType === null || groupType === undefined) {\n      throw new Error('Required parameter groupType was null or undefined when calling groupV2RecoverGroupForFounder.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error(\n        'Required parameter membershipId was null or undefined when calling groupV2RecoverGroupForFounder.'\n      );\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error(\n        'Required parameter membershipType was null or undefined when calling groupV2RecoverGroupForFounder.'\n      );\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.get<GroupV2RecoverGroupForFounder200Response>(\n      `${this.configuration.basePath}/GroupV2/Recover/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/${encodeURIComponent(String(groupType))}/`,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n\n  /**\n   * Unbans the requested member, allowing them to re-apply for membership.\n   * @param groupId\n   * @param membershipId Membership ID of the member to unban from the group\n   * @param membershipType Membership type of the provided membership ID.\n   * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n   * @param reportProgress flag to report request and response progress.\n   */\n  public groupV2UnbanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'body',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<GroupV2EditGroup200Response>;\n  public groupV2UnbanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'response',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpResponse<GroupV2EditGroup200Response>>;\n  public groupV2UnbanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe?: 'events',\n    reportProgress?: boolean,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<HttpEvent<GroupV2EditGroup200Response>>;\n  public groupV2UnbanMember(\n    groupId: number,\n    membershipId: number,\n    membershipType: number,\n    observe: any = 'body',\n    reportProgress: boolean = false,\n    options?: { httpHeaderAccept?: '*/*'; context?: HttpContext }\n  ): Observable<any> {\n    if (groupId === null || groupId === undefined) {\n      throw new Error('Required parameter groupId was null or undefined when calling groupV2UnbanMember.');\n    }\n    if (membershipId === null || membershipId === undefined) {\n      throw new Error('Required parameter membershipId was null or undefined when calling groupV2UnbanMember.');\n    }\n    if (membershipType === null || membershipType === undefined) {\n      throw new Error('Required parameter membershipType was null or undefined when calling groupV2UnbanMember.');\n    }\n\n    let localVarHeaders = this.defaultHeaders;\n\n    let localVarCredential: string | undefined;\n    // authentication (oauth2) required\n    localVarCredential = this.configuration.lookupCredential('oauth2');\n    if (localVarCredential) {\n      localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n    }\n\n    let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n    if (localVarHttpHeaderAcceptSelected === undefined) {\n      // to determine the Accept header\n      const httpHeaderAccepts: string[] = ['*/*'];\n      localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n    }\n    if (localVarHttpHeaderAcceptSelected !== undefined) {\n      localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n    }\n\n    let localVarHttpContext: HttpContext | undefined = options && options.context;\n    if (localVarHttpContext === undefined) {\n      localVarHttpContext = new HttpContext();\n    }\n\n    let responseType_: 'text' | 'json' | 'blob' = 'json';\n    if (localVarHttpHeaderAcceptSelected) {\n      if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n        responseType_ = 'text';\n      } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n        responseType_ = 'json';\n      } else {\n        responseType_ = 'json';\n      }\n    }\n\n    return this.httpClient.post<GroupV2EditGroup200Response>(\n      `${this.configuration.basePath}/GroupV2/${encodeURIComponent(String(groupId))}/Members/${encodeURIComponent(\n        String(membershipType)\n      )}/${encodeURIComponent(String(membershipId))}/Unban/`,\n      null,\n      {\n        context: localVarHttpContext,\n        responseType: <any>responseType_,\n        withCredentials: this.configuration.withCredentials,\n        headers: localVarHeaders,\n        observe: observe,\n        reportProgress: reportProgress\n      }\n    );\n  }\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { Destiny2GetClanAggregateStats200Response } from '../model/destiny2GetClanAggregateStats200Response';\n// @ts-ignore\nimport { Destiny2GetClanLeaderboards200Response } from '../model/destiny2GetClanLeaderboards200Response';\n// @ts-ignore\nimport { Destiny2GetPublicVendors200Response } from '../model/destiny2GetPublicVendors200Response';\n// @ts-ignore\nimport { Destiny2InsertSocketPlug200Response } from '../model/destiny2InsertSocketPlug200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class PreviewService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Gets aggregated stats for a clan using the same categories as the clan leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param groupId Group ID of the clan whose leaderboards you wish to fetch.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanAggregateStats200Response>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanAggregateStats200Response>>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanAggregateStats200Response>>;\n    public destiny2GetClanAggregateStats(groupId: number, modes?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling destiny2GetClanAggregateStats.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanAggregateStats200Response>(`${this.configuration.basePath}/Destiny2/Stats/AggregateClanStats/${encodeURIComponent(String(groupId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param groupId Group ID of the clan whose leaderboards you wish to fetch.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetClanLeaderboards(groupId: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (groupId === null || groupId === undefined) {\n            throw new Error('Required parameter groupId was null or undefined when calling destiny2GetClanLeaderboards.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/Stats/Leaderboards/Clans/${encodeURIComponent(String(groupId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been implemented. It is being returned for a preview of future functionality, and for public comment/suggestion/preparation.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboards(destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetLeaderboards.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetLeaderboards.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/${encodeURIComponent(String(membershipType))}/Account/${encodeURIComponent(String(destinyMembershipId))}/Stats/Leaderboards/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets leaderboards with the signed in user\\&#39;s friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.\n     * @param characterId The specific character to build the leaderboard around for the provided Destiny Membership.\n     * @param destinyMembershipId The Destiny membershipId of the user to retrieve.\n     * @param membershipType A valid non-BungieNet membership type.\n     * @param maxtop Maximum number of top players to return. Use a large number to get entire leaderboard.\n     * @param modes List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType for valid values, and pass in string representation, comma delimited.\n     * @param statid ID of stat to return rather than returning all Leaderboard stats.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetClanLeaderboards200Response>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetClanLeaderboards200Response>>;\n    public destiny2GetLeaderboardsForCharacter(characterId: number, destinyMembershipId: number, membershipType: number, maxtop?: number, modes?: string, statid?: string, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (characterId === null || characterId === undefined) {\n            throw new Error('Required parameter characterId was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n        if (destinyMembershipId === null || destinyMembershipId === undefined) {\n            throw new Error('Required parameter destinyMembershipId was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling destiny2GetLeaderboardsForCharacter.');\n        }\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (maxtop !== undefined && maxtop !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>maxtop, 'maxtop');\n        }\n        if (modes !== undefined && modes !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>modes, 'modes');\n        }\n        if (statid !== undefined && statid !== null) {\n          localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n            <any>statid, 'statid');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetClanLeaderboards200Response>(`${this.configuration.basePath}/Destiny2/Stats/Leaderboards/${encodeURIComponent(String(membershipType))}/${encodeURIComponent(String(destinyMembershipId))}/${encodeURIComponent(String(characterId))}/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Get items available from vendors where the vendors have items for sale that are common for everyone. If any portion of the Vendor\\&#39;s available inventory is character or account specific, we will be unable to return their data from this endpoint due to the way that available inventory is computed. As I am often guilty of saying: \\&#39;It\\&#39;s a long story...\\&#39;\n     * @param components A comma separated list of components to return (as strings or numeric values). See the DestinyComponentType enum for valid components to request. You must request at least one component to receive results.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2GetPublicVendors200Response>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2GetPublicVendors200Response>>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2GetPublicVendors200Response>>;\n    public destiny2GetPublicVendors(components?: Array<number>, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n        if (components) {\n            localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n                components.join(COLLECTION_FORMATS['csv']), 'components');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<Destiny2GetPublicVendors200Response>(`${this.configuration.basePath}/Destiny2/Vendors/`,\n            {\n                context: localVarHttpContext,\n                params: localVarQueryParameters,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Insert a plug into a socketed item. I know how it sounds, but I assure you it\\&#39;s much more G-rated than you might be guessing. We haven\\&#39;t decided yet whether this will be able to insert plugs that have side effects, but if we do it will require special scope permission for an application attempting to do so. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Request must include proof of permission for \\&#39;InsertPlugs\\&#39; from the account owner.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2InsertSocketPlug(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2InsertSocketPlug200Response>;\n    public destiny2InsertSocketPlug(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlug(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlug(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2InsertSocketPlug200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/InsertSocketPlug/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Insert a \\&#39;free\\&#39; plug into an item\\&#39;s socket. This does not require \\&#39;Advanced Write Action\\&#39; authorization and is available to 3rd-party apps, but will only work on \\&#39;free and reversible\\&#39; socket actions (Perks, Armor Mods, Shaders, Ornaments, etc.). You must have a valid Destiny Account, and the character must either be in a social space, in orbit, or offline.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public destiny2InsertSocketPlugFree(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<Destiny2InsertSocketPlug200Response>;\n    public destiny2InsertSocketPlugFree(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlugFree(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<Destiny2InsertSocketPlug200Response>>;\n    public destiny2InsertSocketPlugFree(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<Destiny2InsertSocketPlug200Response>(`${this.configuration.basePath}/Destiny2/Actions/Items/InsertSocketPlugFree/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { GroupV2GetUserClanInviteSetting200Response } from '../model/groupV2GetUserClanInviteSetting200Response';\n// @ts-ignore\nimport { TokensGetBungieRewardsForUser200Response } from '../model/tokensGetBungieRewardsForUser200Response';\n// @ts-ignore\nimport { TokensGetPartnerOfferSkuHistory200Response } from '../model/tokensGetPartnerOfferSkuHistory200Response';\n// @ts-ignore\nimport { TokensGetPartnerRewardHistory200Response } from '../model/tokensGetPartnerRewardHistory200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TokensService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Apply a partner offer to the targeted user. This endpoint does not claim a new offer, but any already claimed offers will be applied to the game if not already.\n     * @param partnerApplicationId The partner application identifier.\n     * @param targetBnetMembershipId The bungie.net user to apply missing offers to. If not self, elevated permissions are required.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensApplyMissingPartnerOffersWithoutClaim(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2GetUserClanInviteSetting200Response>;\n    public tokensApplyMissingPartnerOffersWithoutClaim(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensApplyMissingPartnerOffersWithoutClaim(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensApplyMissingPartnerOffersWithoutClaim(partnerApplicationId: number, targetBnetMembershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (partnerApplicationId === null || partnerApplicationId === undefined) {\n            throw new Error('Required parameter partnerApplicationId was null or undefined when calling tokensApplyMissingPartnerOffersWithoutClaim.');\n        }\n        if (targetBnetMembershipId === null || targetBnetMembershipId === undefined) {\n            throw new Error('Required parameter targetBnetMembershipId was null or undefined when calling tokensApplyMissingPartnerOffersWithoutClaim.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2GetUserClanInviteSetting200Response>(`${this.configuration.basePath}/Tokens/Partner/ApplyMissingOffers/${encodeURIComponent(String(partnerApplicationId))}/${encodeURIComponent(String(targetBnetMembershipId))}/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Claim a partner offer as the authenticated user.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensClaimPartnerOffer(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2GetUserClanInviteSetting200Response>;\n    public tokensClaimPartnerOffer(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensClaimPartnerOffer(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensClaimPartnerOffer(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2GetUserClanInviteSetting200Response>(`${this.configuration.basePath}/Tokens/Partner/ClaimOffer/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Twitch Drops self-repair function - scans twitch for drops not marked as fulfilled and resyncs them.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensForceDropsRepair(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<GroupV2GetUserClanInviteSetting200Response>;\n    public tokensForceDropsRepair(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensForceDropsRepair(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<GroupV2GetUserClanInviteSetting200Response>>;\n    public tokensForceDropsRepair(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<GroupV2GetUserClanInviteSetting200Response>(`${this.configuration.basePath}/Tokens/Partner/ForceDropsRepair/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the bungie rewards for the targeted user when a platform membership Id and Type are used.\n     * @param membershipId users platform membershipId for requested user rewards. If not self, elevated permissions are required.\n     * @param membershipType The target Destiny 2 membership type.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensGetBungieRewardsForPlatformUser(membershipId: number, membershipType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TokensGetBungieRewardsForUser200Response>;\n    public tokensGetBungieRewardsForPlatformUser(membershipId: number, membershipType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsForPlatformUser(membershipId: number, membershipType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsForPlatformUser(membershipId: number, membershipType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling tokensGetBungieRewardsForPlatformUser.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling tokensGetBungieRewardsForPlatformUser.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TokensGetBungieRewardsForUser200Response>(`${this.configuration.basePath}/Tokens/Rewards/GetRewardsForPlatformUser/${encodeURIComponent(String(membershipId))}/${encodeURIComponent(String(membershipType))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the bungie rewards for the targeted user.\n     * @param membershipId bungie.net user membershipId for requested user rewards. If not self, elevated permissions are required.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensGetBungieRewardsForUser(membershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TokensGetBungieRewardsForUser200Response>;\n    public tokensGetBungieRewardsForUser(membershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsForUser(membershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsForUser(membershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling tokensGetBungieRewardsForUser.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TokensGetBungieRewardsForUser200Response>(`${this.configuration.basePath}/Tokens/Rewards/GetRewardsForUser/${encodeURIComponent(String(membershipId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a list of the current bungie rewards\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensGetBungieRewardsList(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TokensGetBungieRewardsForUser200Response>;\n    public tokensGetBungieRewardsList(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsList(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TokensGetBungieRewardsForUser200Response>>;\n    public tokensGetBungieRewardsList(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TokensGetBungieRewardsForUser200Response>(`${this.configuration.basePath}/Tokens/Rewards/BungieRewards/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the partner sku and offer history of the targeted user. Elevated permissions are required to see users that are not yourself.\n     * @param partnerApplicationId The partner application identifier.\n     * @param targetBnetMembershipId The bungie.net user to apply missing offers to. If not self, elevated permissions are required.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensGetPartnerOfferSkuHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TokensGetPartnerOfferSkuHistory200Response>;\n    public tokensGetPartnerOfferSkuHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TokensGetPartnerOfferSkuHistory200Response>>;\n    public tokensGetPartnerOfferSkuHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TokensGetPartnerOfferSkuHistory200Response>>;\n    public tokensGetPartnerOfferSkuHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (partnerApplicationId === null || partnerApplicationId === undefined) {\n            throw new Error('Required parameter partnerApplicationId was null or undefined when calling tokensGetPartnerOfferSkuHistory.');\n        }\n        if (targetBnetMembershipId === null || targetBnetMembershipId === undefined) {\n            throw new Error('Required parameter targetBnetMembershipId was null or undefined when calling tokensGetPartnerOfferSkuHistory.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TokensGetPartnerOfferSkuHistory200Response>(`${this.configuration.basePath}/Tokens/Partner/History/${encodeURIComponent(String(partnerApplicationId))}/${encodeURIComponent(String(targetBnetMembershipId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the partner rewards history of the targeted user, both partner offers and Twitch drops.\n     * @param partnerApplicationId The partner application identifier.\n     * @param targetBnetMembershipId The bungie.net user to return reward history for.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public tokensGetPartnerRewardHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TokensGetPartnerRewardHistory200Response>;\n    public tokensGetPartnerRewardHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TokensGetPartnerRewardHistory200Response>>;\n    public tokensGetPartnerRewardHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TokensGetPartnerRewardHistory200Response>>;\n    public tokensGetPartnerRewardHistory(partnerApplicationId: number, targetBnetMembershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (partnerApplicationId === null || partnerApplicationId === undefined) {\n            throw new Error('Required parameter partnerApplicationId was null or undefined when calling tokensGetPartnerRewardHistory.');\n        }\n        if (targetBnetMembershipId === null || targetBnetMembershipId === undefined) {\n            throw new Error('Required parameter targetBnetMembershipId was null or undefined when calling tokensGetPartnerRewardHistory.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TokensGetPartnerRewardHistory200Response>(`${this.configuration.basePath}/Tokens/Partner/History/${encodeURIComponent(String(targetBnetMembershipId))}/Application/${encodeURIComponent(String(partnerApplicationId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { TrendingGetTrendingCategories200Response } from '../model/trendingGetTrendingCategories200Response';\n// @ts-ignore\nimport { TrendingGetTrendingCategory200Response } from '../model/trendingGetTrendingCategory200Response';\n// @ts-ignore\nimport { TrendingGetTrendingEntryDetail200Response } from '../model/trendingGetTrendingEntryDetail200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class TrendingService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Returns trending items for Bungie.net, collapsed into the first page of items per category. For pagination within a category, call GetTrendingCategory.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public trendingGetTrendingCategories(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TrendingGetTrendingCategories200Response>;\n    public trendingGetTrendingCategories(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TrendingGetTrendingCategories200Response>>;\n    public trendingGetTrendingCategories(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TrendingGetTrendingCategories200Response>>;\n    public trendingGetTrendingCategories(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TrendingGetTrendingCategories200Response>(`${this.configuration.basePath}/Trending/Categories/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns paginated lists of trending items for a category.\n     * @param categoryId The ID of the category for whom you want additional results.\n     * @param pageNumber The page # of results to return.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public trendingGetTrendingCategory(categoryId: string, pageNumber: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TrendingGetTrendingCategory200Response>;\n    public trendingGetTrendingCategory(categoryId: string, pageNumber: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TrendingGetTrendingCategory200Response>>;\n    public trendingGetTrendingCategory(categoryId: string, pageNumber: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TrendingGetTrendingCategory200Response>>;\n    public trendingGetTrendingCategory(categoryId: string, pageNumber: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (categoryId === null || categoryId === undefined) {\n            throw new Error('Required parameter categoryId was null or undefined when calling trendingGetTrendingCategory.');\n        }\n        if (pageNumber === null || pageNumber === undefined) {\n            throw new Error('Required parameter pageNumber was null or undefined when calling trendingGetTrendingCategory.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TrendingGetTrendingCategory200Response>(`${this.configuration.basePath}/Trending/Categories/${encodeURIComponent(String(categoryId))}/${encodeURIComponent(String(pageNumber))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns the detailed results for a specific trending entry. Note that trending entries are uniquely identified by a combination of *both* the TrendingEntryType *and* the identifier: the identifier alone is not guaranteed to be globally unique.\n     * @param identifier The identifier for the entity to be returned.\n     * @param trendingEntryType The type of entity to be returned.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public trendingGetTrendingEntryDetail(identifier: string, trendingEntryType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<TrendingGetTrendingEntryDetail200Response>;\n    public trendingGetTrendingEntryDetail(identifier: string, trendingEntryType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<TrendingGetTrendingEntryDetail200Response>>;\n    public trendingGetTrendingEntryDetail(identifier: string, trendingEntryType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<TrendingGetTrendingEntryDetail200Response>>;\n    public trendingGetTrendingEntryDetail(identifier: string, trendingEntryType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (identifier === null || identifier === undefined) {\n            throw new Error('Required parameter identifier was null or undefined when calling trendingGetTrendingEntryDetail.');\n        }\n        if (trendingEntryType === null || trendingEntryType === undefined) {\n            throw new Error('Required parameter trendingEntryType was null or undefined when calling trendingGetTrendingEntryDetail.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<TrendingGetTrendingEntryDetail200Response>(`${this.configuration.basePath}/Trending/Details/${encodeURIComponent(String(trendingEntryType))}/${encodeURIComponent(String(identifier))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/**\n * Bungie.Net API\n * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.\n *\n * The version of the OpenAPI document: 2.18.0\n * Contact: support@bungie.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional }                      from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n         HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n        }       from '@angular/common/http';\nimport { CustomHttpParameterCodec }                          from '../encoder';\nimport { Observable }                                        from 'rxjs';\n\n// @ts-ignore\nimport { UserGetAvailableThemes200Response } from '../model/userGetAvailableThemes200Response';\n// @ts-ignore\nimport { UserGetBungieNetUserById200Response } from '../model/userGetBungieNetUserById200Response';\n// @ts-ignore\nimport { UserGetCredentialTypesForTargetAccount200Response } from '../model/userGetCredentialTypesForTargetAccount200Response';\n// @ts-ignore\nimport { UserGetMembershipDataById200Response } from '../model/userGetMembershipDataById200Response';\n// @ts-ignore\nimport { UserGetMembershipFromHardLinkedCredential200Response } from '../model/userGetMembershipFromHardLinkedCredential200Response';\n// @ts-ignore\nimport { UserGetSanitizedPlatformDisplayNames200Response } from '../model/userGetSanitizedPlatformDisplayNames200Response';\n// @ts-ignore\nimport { UserSearchByGlobalNamePrefix200Response } from '../model/userSearchByGlobalNamePrefix200Response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS }                     from '../variables';\nimport { Configuration }                                     from '../configuration';\n\n\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class UserService {\n\n    protected basePath = 'https://www.bungie.net/Platform';\n    public defaultHeaders = new HttpHeaders();\n    public configuration = new Configuration();\n    public encoder: HttpParameterCodec;\n\n    constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string, @Optional() configuration: Configuration) {\n        if (configuration) {\n            this.configuration = configuration;\n        }\n        if (typeof this.configuration.basePath !== 'string') {\n            if (typeof basePath !== 'string') {\n                basePath = this.basePath;\n            }\n            this.configuration.basePath = basePath;\n        }\n        this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n    }\n\n\n    // @ts-ignore\n    private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n        if (typeof value === \"object\" && value instanceof Date === false) {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value);\n        } else {\n            httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n        }\n        return httpParams;\n    }\n\n    private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n        if (value == null) {\n            return httpParams;\n        }\n\n        if (typeof value === \"object\") {\n            if (Array.isArray(value)) {\n                (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n            } else if (value instanceof Date) {\n                if (key != null) {\n                    httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n                } else {\n                   throw Error(\"key may not be null if value is Date\");\n                }\n            } else {\n                Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n                    httpParams, value[k], key != null ? `${key}.${k}` : k));\n            }\n        } else if (key != null) {\n            httpParams = httpParams.append(key, value);\n        } else {\n            throw Error(\"key may not be null if value is not object or array\");\n        }\n        return httpParams;\n    }\n\n    /**\n     * Returns a list of all available user themes.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetAvailableThemes(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetAvailableThemes200Response>;\n    public userGetAvailableThemes(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetAvailableThemes200Response>>;\n    public userGetAvailableThemes(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetAvailableThemes200Response>>;\n    public userGetAvailableThemes(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetAvailableThemes200Response>(`${this.configuration.basePath}/User/GetAvailableThemes/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Loads a bungienet user by membership id.\n     * @param id The requested Bungie.net membership id.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetBungieNetUserById(id: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetBungieNetUserById200Response>;\n    public userGetBungieNetUserById(id: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetBungieNetUserById200Response>>;\n    public userGetBungieNetUserById(id: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetBungieNetUserById200Response>>;\n    public userGetBungieNetUserById(id: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (id === null || id === undefined) {\n            throw new Error('Required parameter id was null or undefined when calling userGetBungieNetUserById.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetBungieNetUserById200Response>(`${this.configuration.basePath}/User/GetBungieNetUserById/${encodeURIComponent(String(id))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a list of credential types attached to the requested account\n     * @param membershipId The user\\&#39;s membership id\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetCredentialTypesForTargetAccount(membershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetCredentialTypesForTargetAccount200Response>;\n    public userGetCredentialTypesForTargetAccount(membershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetCredentialTypesForTargetAccount200Response>>;\n    public userGetCredentialTypesForTargetAccount(membershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetCredentialTypesForTargetAccount200Response>>;\n    public userGetCredentialTypesForTargetAccount(membershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling userGetCredentialTypesForTargetAccount.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetCredentialTypesForTargetAccount200Response>(`${this.configuration.basePath}/User/GetCredentialTypesForTargetAccount/${encodeURIComponent(String(membershipId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a list of accounts associated with the supplied membership ID and membership type. This will include all linked accounts (even when hidden) if supplied credentials permit it.\n     * @param membershipId The membership ID of the target user.\n     * @param membershipType Type of the supplied membership ID.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetMembershipDataById(membershipId: number, membershipType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetMembershipDataById200Response>;\n    public userGetMembershipDataById(membershipId: number, membershipType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetMembershipDataById200Response>>;\n    public userGetMembershipDataById(membershipId: number, membershipType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetMembershipDataById200Response>>;\n    public userGetMembershipDataById(membershipId: number, membershipType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling userGetMembershipDataById.');\n        }\n        if (membershipType === null || membershipType === undefined) {\n            throw new Error('Required parameter membershipType was null or undefined when calling userGetMembershipDataById.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetMembershipDataById200Response>(`${this.configuration.basePath}/User/GetMembershipsById/${encodeURIComponent(String(membershipId))}/${encodeURIComponent(String(membershipType))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Returns a list of accounts associated with signed in user. This is useful for OAuth implementations that do not give you access to the token response.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetMembershipDataForCurrentUser(observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetMembershipDataById200Response>;\n    public userGetMembershipDataForCurrentUser(observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetMembershipDataById200Response>>;\n    public userGetMembershipDataForCurrentUser(observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetMembershipDataById200Response>>;\n    public userGetMembershipDataForCurrentUser(observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarCredential: string | undefined;\n        // authentication (oauth2) required\n        localVarCredential = this.configuration.lookupCredential('oauth2');\n        if (localVarCredential) {\n            localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);\n        }\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetMembershipDataById200Response>(`${this.configuration.basePath}/User/GetMembershipsForCurrentUser/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets any hard linked membership given a credential. Only works for credentials that are public (just SteamID64 right now). Cross Save aware.\n     * @param credential The credential to look up. Must be a valid SteamID64.\n     * @param crType The credential type. \\&#39;SteamId\\&#39; is the only valid value at present.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetMembershipFromHardLinkedCredential(credential: string, crType: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetMembershipFromHardLinkedCredential200Response>;\n    public userGetMembershipFromHardLinkedCredential(credential: string, crType: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetMembershipFromHardLinkedCredential200Response>>;\n    public userGetMembershipFromHardLinkedCredential(credential: string, crType: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetMembershipFromHardLinkedCredential200Response>>;\n    public userGetMembershipFromHardLinkedCredential(credential: string, crType: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (credential === null || credential === undefined) {\n            throw new Error('Required parameter credential was null or undefined when calling userGetMembershipFromHardLinkedCredential.');\n        }\n        if (crType === null || crType === undefined) {\n            throw new Error('Required parameter crType was null or undefined when calling userGetMembershipFromHardLinkedCredential.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetMembershipFromHardLinkedCredential200Response>(`${this.configuration.basePath}/User/GetMembershipFromHardLinkedCredential/${encodeURIComponent(String(crType))}/${encodeURIComponent(String(credential))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Gets a list of all display names linked to this membership id but sanitized (profanity filtered). Obeys all visibility rules of calling user and is heavily cached.\n     * @param membershipId The requested membership id to load.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userGetSanitizedPlatformDisplayNames(membershipId: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserGetSanitizedPlatformDisplayNames200Response>;\n    public userGetSanitizedPlatformDisplayNames(membershipId: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserGetSanitizedPlatformDisplayNames200Response>>;\n    public userGetSanitizedPlatformDisplayNames(membershipId: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserGetSanitizedPlatformDisplayNames200Response>>;\n    public userGetSanitizedPlatformDisplayNames(membershipId: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (membershipId === null || membershipId === undefined) {\n            throw new Error('Required parameter membershipId was null or undefined when calling userGetSanitizedPlatformDisplayNames.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserGetSanitizedPlatformDisplayNames200Response>(`${this.configuration.basePath}/User/GetSanitizedPlatformDisplayNames/${encodeURIComponent(String(membershipId))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * Given the prefix of a global display name, returns all users who share that name.\n     * @param page The zero-based page of results you desire.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userSearchByGlobalNamePost(page: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserSearchByGlobalNamePrefix200Response>;\n    public userSearchByGlobalNamePost(page: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserSearchByGlobalNamePrefix200Response>>;\n    public userSearchByGlobalNamePost(page: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserSearchByGlobalNamePrefix200Response>>;\n    public userSearchByGlobalNamePost(page: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling userSearchByGlobalNamePost.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.post<UserSearchByGlobalNamePrefix200Response>(`${this.configuration.basePath}/User/Search/GlobalName/${encodeURIComponent(String(page))}/`,\n            null,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n    /**\n     * [OBSOLETE] Do not use this to search users, use SearchByGlobalNamePost instead.\n     * @param displayNamePrefix The display name prefix you\\&#39;re looking for.\n     * @param page The zero-based page of results you desire.\n     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n     * @param reportProgress flag to report request and response progress.\n     */\n    public userSearchByGlobalNamePrefix(displayNamePrefix: string, page: number, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<UserSearchByGlobalNamePrefix200Response>;\n    public userSearchByGlobalNamePrefix(displayNamePrefix: string, page: number, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpResponse<UserSearchByGlobalNamePrefix200Response>>;\n    public userSearchByGlobalNamePrefix(displayNamePrefix: string, page: number, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<HttpEvent<UserSearchByGlobalNamePrefix200Response>>;\n    public userSearchByGlobalNamePrefix(displayNamePrefix: string, page: number, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: '*/*', context?: HttpContext}): Observable<any> {\n        if (displayNamePrefix === null || displayNamePrefix === undefined) {\n            throw new Error('Required parameter displayNamePrefix was null or undefined when calling userSearchByGlobalNamePrefix.');\n        }\n        if (page === null || page === undefined) {\n            throw new Error('Required parameter page was null or undefined when calling userSearchByGlobalNamePrefix.');\n        }\n\n        let localVarHeaders = this.defaultHeaders;\n\n        let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n        if (localVarHttpHeaderAcceptSelected === undefined) {\n            // to determine the Accept header\n            const httpHeaderAccepts: string[] = [\n                '*/*'\n            ];\n            localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n        }\n        if (localVarHttpHeaderAcceptSelected !== undefined) {\n            localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n        }\n\n        let localVarHttpContext: HttpContext | undefined = options && options.context;\n        if (localVarHttpContext === undefined) {\n            localVarHttpContext = new HttpContext();\n        }\n\n\n        let responseType_: 'text' | 'json' | 'blob' = 'json';\n        if (localVarHttpHeaderAcceptSelected) {\n            if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n                responseType_ = 'text';\n            } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n                responseType_ = 'json';\n            } else {\n                responseType_ = 'json';;\n            }\n        }\n\n        return this.httpClient.get<UserSearchByGlobalNamePrefix200Response>(`${this.configuration.basePath}/User/Search/Prefix/${encodeURIComponent(String(displayNamePrefix))}/${encodeURIComponent(String(page))}/`,\n            {\n                context: localVarHttpContext,\n                responseType: <any>responseType_,\n                withCredentials: this.configuration.withCredentials,\n                headers: localVarHeaders,\n                observe: observe,\n                reportProgress: reportProgress\n            }\n        );\n    }\n\n}\n","/*\r\n * Public API Surface of bungie-api-angular\r\n */\r\nexport * from './lib/api.module';\r\nexport * from './lib/model/models';\r\nexport * from './lib/configuration';\r\n\r\nexport * from './lib/api/app.service';\r\nexport * from './lib/api/communityContent.service';\r\nexport * from './lib/api/content.service';\r\nexport * from './lib/api/default.service';\r\nexport * from './lib/api/destiny2.service';\r\nexport * from './lib/api/fireteam.service';\r\nexport * from './lib/api/forum.service';\r\nexport * from './lib/api/groupV2.service';\r\nexport * from './lib/api/preview.service';\r\nexport * from './lib/api/tokens.service';\r\nexport * from './lib/api/trending.service';\r\nexport * from './lib/api/user.service';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.Configuration"],"mappings":"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,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;KAC9C,CAAC;AACN,CAAC,EAxFgB,2CAA2C,KAA3C,2CAA2C,GAwF3D,EAAA,CAAA,CAAA;;ACrOD;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;AA4BG,IAAW,wDAwFhB;AAxFD,CAAA,UAAiB,uDAAuD,EAAA;AAEvD,IAAA,uDAAA,CAAA,0BAA0B,GAAG;AACtC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,QAAQ,EAAE,CAA+B;AACzC,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;AAC3C,QAAA,SAAS,EAAE,EAAgC;A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S,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC;AAC5C,QAAA,SAAS,EAAE,EAAiC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D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;AACzE,IAAA,SAAS,EAAE,EAA8D;;;ACtG7E;;;;;;;;;;AAUG;AA6DG,IAAW,kEAOhB;AAPD,CAAA,UAAiB,iEAAiE,EAAA;AAEjE,IAAA,iEAAA,CAAA,eAAe,GAAG;AAC3B,QAAA,QAAQ,EAAE,CAAoB;AAC9B,QAAA,QAAQ,EAAE,CAAoB;AAC9B,QAAA,QAAQ,EAAE,CAAoB;KACjC,CAAC;AACN,CAAC,EAPgB,iEAAiE,KAAjE,iEAAiE,GAOjF,EAAA,CAAA,CAAA;;AC9ED;;;;;;;;;;AAUG;AAKU,MAAA,yDAAyD,GAAG;AACrE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,QAAQ,EAAE,CAA8D;AACxE,IAAA,SAAS,EAAE,EAA+D;AAC1E,IAAA,SAAS,EAAE,EAA+D;AAC1E,IAAA,SAAS,EAAE,EAA+D;AAC1E,IAAA,SAAS,EAAE,EAA+D;AAC1E,IAAA,SAAS,EAAE,EAA+D;AAC1E,IAAA,SAAS,EAAE,EAA+D;;;AC/B9E;;;;;;;;;;AAUG;AAQU,MAAA,sDAAsD,GAAG;AAClE,IAAA,QAAQ,EAAE,CAA2D;AACrE,IAAA,QAAQ,EAAE,CAA2D;AACrE,IAAA,QAAQ,EAAE,CAA2D;AACrE,IAAA,QAAQ,EAAE,CAA2D;AACrE,IAAA,UAAU,EAAE,GAA6D;AACzE,IAAA,UAAU,EAAE,GAA6D;AACzE,IAAA,UAAU,EAAE,GAA6D;AACzE,IAAA,UAAU,EAAE,GAA6D;AACzE,IAAA,UAAU,EAAE,GAA6D;;;AC3B7E;;;;;;;;;;AAUG;AAKU,MAAA,wDAAwD,GAAG;AACpE,IAAA,QAAQ,EAAE,CAA6D;AACvE,IAAA,QAAQ,EAAE,CAA6D;AACvE,IAAA,QAAQ,EAAE,CAA6D;;;AClB3E;;;;;;;;;;AAUG;AAKU,MAAA,2CAA2C,GAAG;AACvD,IAAA,QAAQ,EAAE,CAAgD;AAC1D,IAAA,QAAQ,EAAE,CAAgD;AAC1D,IAAA,QAAQ,EAAE,CAAgD;AAC1D,IAAA,QAAQ,EAAE,CAAgD;;;ACnB9D;;;;;;;;;;AAUG;AAKU,MAAA,yCAAyC,GAAG;AACrD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,QAAQ,EAAE,CAA8C;AACxD,IAAA,SAAS,EAAE,EAA+C;AAC1D,IAAA,SAAS,EAAE,EAA+C;AAC1D,IAAA,SAAS,EAAE,EAA+C;AAC1D,IAAA,SAAS,EAAE,EAA+C;;;AC7B9D;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;AAKU,MAAA,qBAAqB,GAAG;AACjC,IAAA,QAAQ,EAAE,CAA0B;AACpC,IAAA,QAAQ,EAAE,CAA0B;AACpC,IAAA,QAAQ,EAAE,CAA0B;AACpC,IAAA,QAAQ,EAAE,CAA0B;;;ACnBxC;;;;;;;;;;AAUG;AAKU,MAAA,mBAAmB,GAAG;AAC/B,IAAA,QAAQ,EAAE,CAAwB;AAClC,IAAA,QAAQ,EAAE,CAAwB;AAClC,IAAA,QAAQ,EAAE,CAAwB;AAClC,IAAA,QAAQ,EAAE,CAAwB;AAClC,IAAA,QAAQ,EAAE,CAAwB;;;ACpBtC;;;;;;;;;;AAUG;AAQU,MAAA,yBAAyB,GAAG;AACrC,IAAA,QAAQ,EAAE,CAA8B;AACxC,IAAA,QAAQ,EAAE,CAA8B;AACxC,IAAA,QAAQ,EAAE,CAA8B;;;ACrB5C;;;;;;;;;;AAUG;AAQU,MAAA,gBAAgB,GAAG;AAC5B,IAAA,QAAQ,EAAE,CAAqB;AAC/B,IAAA,QAAQ,EAAE,CAAqB;AAC/B,IAAA,QAAQ,EAAE,CAAqB;AAC/B,IAAA,QAAQ,EAAE,CAAqB;AAC/B,IAAA,QAAQ,EAAE,CAAqB;AAC/B,IAAA,SAAS,EAAE,EAAsB;;;ACe/B,IAAW,0CAwFhB;AAxFD,CAAA,UAAiB,yCAAyC,EAAA;AAEzC,IAAA,yCAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;KACxC,CAAC;AACN,CAAC,EAxFgB,yCAAyC,KAAzC,yCAAyC,GAwFzD,EAAA,CAAA,CAAA;;AC/HD;;;;;;;;;;AAUG;;ACsBG,IAAW,iDAwFhB;AAxFD,CAAA,UAAiB,gDAAgD,EAAA;AAEhD,IAAA,gDAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;KACxC,CAAC;AACN,CAAC,EAxFgB,gDAAgD,KAAhD,gDAAgD,GAwFhE,EAAA,CAAA,CAAA;;ACxHD;;;;;;;;;;AAUG;;AC8BG,IAAW,+CAwFhB;AAxFD,CAAA,UAAiB,8CAA8C,EAAA;AAE9C,IAAA,8CAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;KACxC,CAAC;AACN,CAAC,EAxFgB,8CAA8C,KAA9C,8CAA8C,GAwF9D,EAAA,CAAA,CAAA;;AChID;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;AC6BG,IAAW,gDAwFhB;AAxFD,CAAA,UAAiB,+CAA+C,EAAA;AAE/C,IAAA,+CAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;KACxC,CAAC;AACN,CAAC,EAxFgB,+CAA+C,KAA/C,+CAA+C,GAwF/D,EAAA,CAAA,CAAA;;AC/HD;;;;;;;;;;AAUG;AAoBG,IAAW,uDAwFhB;AAxFD,CAAA,UAAiB,sDAAsD,EAAA;AAEtD,IAAA,sDAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;KACxC,CAAC;AACN,CAAC,EAxFgB,sDAAsD,KAAtD,sDAAsD,GAwFtE,EAAA,CAAA,CAAA;;ACtHD;;;;;;;;;;AAUG;;ACVH;;;;;;;;;;AAUG;;AC8BG,IAAW,qDAwFhB;AAxFD,CAAA,UAAiB,oDAAoD,EAAA;AAEpD,IAAA,oDAAA,CAAA,oBAAoB,GAAG;AAChC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,QAAQ,EAAE,CAAyB;AACnC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACrC,QAAA,SAAS,EAAE,EAA0B;AACr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iC;AAC3C,IAAA,QAAQ,EAAE,CAAiC;AAC3C,IAAA,QAAQ,EAAE,CAAiC;AAC3C,IAAA,QAAQ,EAAE,CAAiC;AAC3C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,SAAS,EAAE,EAAkC;AAC7C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,UAAU,EAAE,GAAmC;AAC/C,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAAoC;AACjD,IAAA,WAAW,EAAE,IAA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"}