public bool Equals(DestinyActivityDefinition input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     DisplayProperties == input.DisplayProperties ||
                     (DisplayProperties != null && DisplayProperties.Equals(input.DisplayProperties))
                     ) &&
                 (
                     OriginalDisplayProperties == input.OriginalDisplayProperties ||
                     (OriginalDisplayProperties != null && OriginalDisplayProperties.Equals(input.OriginalDisplayProperties))
                 ) &&
                 (
                     SelectionScreenDisplayProperties == input.SelectionScreenDisplayProperties ||
                     (SelectionScreenDisplayProperties != null && SelectionScreenDisplayProperties.Equals(input.SelectionScreenDisplayProperties))
                 ) &&
                 (
                     ReleaseIcon == input.ReleaseIcon ||
                     (ReleaseIcon != null && ReleaseIcon.Equals(input.ReleaseIcon))
                 ) &&
                 (
                     ReleaseTime == input.ReleaseTime ||
                     (ReleaseTime.Equals(input.ReleaseTime))
                 ) &&
                 (
                     ActivityLightLevel == input.ActivityLightLevel ||
                     (ActivityLightLevel.Equals(input.ActivityLightLevel))
                 ) &&
                 (
                     DestinationHash == input.DestinationHash ||
                     (DestinationHash.Equals(input.DestinationHash))
                 ) &&
                 (
                     PlaceHash == input.PlaceHash ||
                     (PlaceHash.Equals(input.PlaceHash))
                 ) &&
                 (
                     ActivityTypeHash == input.ActivityTypeHash ||
                     (ActivityTypeHash.Equals(input.ActivityTypeHash))
                 ) &&
                 (
                     Tier == input.Tier ||
                     (Tier.Equals(input.Tier))
                 ) &&
                 (
                     PgcrImage == input.PgcrImage ||
                     (PgcrImage != null && PgcrImage.Equals(input.PgcrImage))
                 ) &&
                 (
                     Rewards == input.Rewards ||
                     (Rewards != null && Rewards.SequenceEqual(input.Rewards))
                 ) &&
                 (
                     Modifiers == input.Modifiers ||
                     (Modifiers != null && Modifiers.SequenceEqual(input.Modifiers))
                 ) &&
                 (
                     IsPlaylist == input.IsPlaylist ||
                     (IsPlaylist != null && IsPlaylist.Equals(input.IsPlaylist))
                 ) &&
                 (
                     Challenges == input.Challenges ||
                     (Challenges != null && Challenges.SequenceEqual(input.Challenges))
                 ) &&
                 (
                     OptionalUnlockStrings == input.OptionalUnlockStrings ||
                     (OptionalUnlockStrings != null && OptionalUnlockStrings.SequenceEqual(input.OptionalUnlockStrings))
                 ) &&
                 (
                     PlaylistItems == input.PlaylistItems ||
                     (PlaylistItems != null && PlaylistItems.SequenceEqual(input.PlaylistItems))
                 ) &&
                 (
                     ActivityGraphList == input.ActivityGraphList ||
                     (ActivityGraphList != null && ActivityGraphList.SequenceEqual(input.ActivityGraphList))
                 ) &&
                 (
                     Matchmaking == input.Matchmaking ||
                     (Matchmaking != null && Matchmaking.Equals(input.Matchmaking))
                 ) &&
                 (
                     GuidedGame == input.GuidedGame ||
                     (GuidedGame != null && GuidedGame.Equals(input.GuidedGame))
                 ) &&
                 (
                     DirectActivityModeHash == input.DirectActivityModeHash ||
                     (DirectActivityModeHash.Equals(input.DirectActivityModeHash))
                 ) &&
                 (
                     DirectActivityModeType == input.DirectActivityModeType ||
                     (DirectActivityModeType.Equals(input.DirectActivityModeType))
                 ) &&
                 (
                     Loadouts == input.Loadouts ||
                     (Loadouts != null && Loadouts.SequenceEqual(input.Loadouts))
                 ) &&
                 (
                     ActivityModeHashes == input.ActivityModeHashes ||
                     (ActivityModeHashes != null && ActivityModeHashes.SequenceEqual(input.ActivityModeHashes))
                 ) &&
                 (
                     ActivityModeTypes == input.ActivityModeTypes ||
                     (ActivityModeTypes != null && ActivityModeTypes.SequenceEqual(input.ActivityModeTypes))
                 ) &&
                 (
                     IsPvP == input.IsPvP ||
                     (IsPvP != null && IsPvP.Equals(input.IsPvP))
                 ) &&
                 (
                     InsertionPoints == input.InsertionPoints ||
                     (InsertionPoints != null && InsertionPoints.SequenceEqual(input.InsertionPoints))
                 ) &&
                 (
                     ActivityLocationMappings == input.ActivityLocationMappings ||
                     (ActivityLocationMappings != null && ActivityLocationMappings.SequenceEqual(input.ActivityLocationMappings))
                 ) &&
                 (
                     Hash == input.Hash ||
                     (Hash.Equals(input.Hash))
                 ) &&
                 (
                     Index == input.Index ||
                     (Index.Equals(input.Index))
                 ) &&
                 (
                     Redacted == input.Redacted ||
                     (Redacted != null && Redacted.Equals(input.Redacted))
                 ));
        }