<commit_before>namespace Gu.State
{
    using System;
    using System.Collections;

    /// <summary>This is raised when an element was replaced in a notifying collection.</summary>
    public struct ReplaceEventArgs : IRootChangeEventArgs, IEquatable<ReplaceEventArgs>
    {
        internal ReplaceEventArgs(IList source, int index)
        {
            this.Index = index;
            this.Source = source;
        }

        /// <summary>Gets the collection that changed.</summary>
        public IList Source { get; }

        /// <inheritdoc />
        object IRootChangeEventArgs.Source => this.Source;

        public static bool operator ==(ReplaceEventArgs left, ReplaceEventArgs right)
        {
            return left.Equals(right);
        }

        public static bool operator !=(ReplaceEventArgs left, ReplaceEventArgs right)
        {
            return !left.Equals(right);
        }

        /// <summary>Gets the index at which an element was replaced. </summary>
        public int Index { get; }

        /// <inheritdoc />
        public bool Equals(ReplaceEventArgs other) => Equals(this.Source, other.Source) &&
                                                      this.Index == other.Index;

        /// <inheritdoc />
        public override bool Equals(object obj) => obj is ReplaceEventArgs other &&
                                                   this.Equals(other);

        /// <inheritdoc />
        public override int GetHashCode()
        {<commit_msg>Move property.<commit_after>namespace Gu.State
{
    using System;
    using System.Collections;

    /// <summary>This is raised when an element was replaced in a notifying collection.</summary>
    public struct ReplaceEventArgs : IRootChangeEventArgs, IEquatable<ReplaceEventArgs>
    {
        internal ReplaceEventArgs(IList source, int index)
        {
            this.Index = index;
            this.Source = source;
        }

        /// <summary>Gets the collection that changed.</summary>
        public IList Source { get; }

        /// <inheritdoc />
        object IRootChangeEventArgs.Source => this.Source;

        /// <summary>Gets the index at which an element was replaced. </summary>
        public int Index { get; }

        public static bool operator ==(ReplaceEventArgs left, ReplaceEventArgs right)
        {
            return left.Equals(right);
        }

        public static bool operator !=(ReplaceEventArgs left, ReplaceEventArgs right)
        {
            return !left.Equals(right);
        }

        /// <inheritdoc />
        public bool Equals(ReplaceEventArgs other) => Equals(this.Source, other.Source) &&
                                                      this.Index == other.Index;

        /// <inheritdoc />
        public override bool Equals(object obj) => obj is ReplaceEventArgs other &&
                                                   this.Equals(other);

        /// <inheritdoc />
        public override int GetHashCode()
        {
{'fraction_non_alphanumeric': 0.09261116683383484, 'fraction_numerical': 0.0, 'mean_word_length': 1.7729379054680259, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1688153', 'n_tokens_mistral': 698, 'n_tokens_neox': 669, 'n_words': 209}