//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//       LottieGen version:
//           8.1.240821.1+077322fa26
//       
//       Command:
//           LottieGen -Language CSharp -Public -WinUIVersion 3.0 -InputFile Scan.json
//       
//       Input file:
//           Scan.json (237808 bytes created 17:51+02:00 Nov 17 2024)
//       
//       LottieGen source:
//           http://aka.ms/Lottie
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// ____________________________________
// |       Object stats       | Count |
// |__________________________|_______|
// | All CompositionObjects   |    82 |
// |--------------------------+-------|
// | Expression animators     |     1 |
// | KeyFrame animators       |    13 |
// | Reference parameters     |     1 |
// | Expression operations    |     0 |
// |--------------------------+-------|
// | Animated brushes         |     2 |
// | Animated gradient stops  |     - |
// | ExpressionAnimations     |     1 |
// | PathKeyFrameAnimations   |     4 |
// |--------------------------+-------|
// | ContainerVisuals         |     1 |
// | ShapeVisuals             |     1 |
// |--------------------------+-------|
// | ContainerShapes          |     3 |
// | CompositionSpriteShapes  |     5 |
// |--------------------------+-------|
// | Brushes                  |     3 |
// | Gradient stops           |     - |
// | CompositionVisualSurface |     - |
// ------------------------------------
using Microsoft.Graphics;
using Microsoft.Graphics.Canvas.Geometry;
using Microsoft.UI.Composition;
using System;
using System.Collections.Generic;
using System.Numerics;
using Windows.UI;

namespace AnimatedVisuals
{
    // Name:        robux
    // Frame rate:  24 fps
    // Frame count: 28
    // Duration:    1166.7 mS
    // _____________________________________________________________________________________________
    // |           Marker           |           Constant           | Frame |   mS   |   Progress   |
    // |____________________________|______________________________|_______|________|______________|
    // | NormalToPressed_Start      | M_NormalToPressed_Start      |     0 |    0.0 | 0F           |
    // | NormalToPressed_End        | M_NormalToPressed_End        |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_Start | M_PointerOverToPressed_Start |     9 |  375.0 | 0.323214293F |
    // | PointerOverToPressed_End   | M_PointerOverToPressed_End   |    19 |  791.7 | 0.680357158F |
    // | PressedToNormal_Start      | M_PressedToNormal_Start      |    20 |  833.3 | 0.716071427F |
    // | PressedToNormal_End        | M_PressedToNormal_End        |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_Start | M_PressedToPointerOver_Start |    28 | 1166.7 | 1F           |
    // | PressedToPointerOver_End   | M_PressedToPointerOver_End   |    28 | 1166.7 | 1F           |
    // ---------------------------------------------------------------------------------------------
    sealed partial class Scan
        : Microsoft.UI.Xaml.Controls.IAnimatedVisualSource
        , Microsoft.UI.Xaml.Controls.IAnimatedVisualSource2
    {
        // Animation duration: 1.167 seconds.
        internal const long c_durationTicks = 11666666;

        // Marker: NormalToPressed_Start.
        internal const float M_NormalToPressed_Start = 0F;

        // Marker: NormalToPressed_End.
        internal const float M_NormalToPressed_End = 0.323214293F;

        // Marker: PointerOverToPressed_Start.
        internal const float M_PointerOverToPressed_Start = 0.323214293F;

        // Marker: PointerOverToPressed_End.
        internal const float M_PointerOverToPressed_End = 0.680357158F;

        // Marker: PressedToNormal_Start.
        internal const float M_PressedToNormal_Start = 0.716071427F;

        // Marker: PressedToNormal_End.
        internal const float M_PressedToNormal_End = 1F;

        // Marker: PressedToPointerOver_Start.
        internal const float M_PressedToPointerOver_Start = 1F;

        // Marker: PressedToPointerOver_End.
        internal const float M_PressedToPointerOver_End = 1F;

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor)
        {
            object ignored = null;
            return TryCreateAnimatedVisual(compositor, out ignored);
        }

        public Microsoft.UI.Xaml.Controls.IAnimatedVisual TryCreateAnimatedVisual(Compositor compositor, out object diagnostics)
        {
            diagnostics = null;

            var res = 
                new Scan_AnimatedVisual(
                    compositor
                    );
                res.CreateAnimations();
                return res;
        }

        /// <summary>
        /// Gets the number of frames in the animation.
        /// </summary>
        public double FrameCount => 28d;

        /// <summary>
        /// Gets the frame rate of the animation.
        /// </summary>
        public double Framerate => 24d;

        /// <summary>
        /// Gets the duration of the animation.
        /// </summary>
        public TimeSpan Duration => TimeSpan.FromTicks(11666666);

        /// <summary>
        /// Converts a zero-based frame number to the corresponding progress value denoting the
        /// start of the frame.
        /// </summary>
        public double FrameToProgress(double frameNumber)
        {
            return frameNumber / 28d;
        }

        /// <summary>
        /// Returns a map from marker names to corresponding progress values.
        /// </summary>
        public IReadOnlyDictionary<string, double> Markers =>
            new Dictionary<string, double>
            {
                { "NormalToPressed_Start", 0d },
                { "NormalToPressed_End", 0.323214285714286 },
                { "PointerOverToPressed_Start", 0.323214285714286 },
                { "PointerOverToPressed_End", 0.680357142857143 },
                { "PressedToNormal_Start", 0.716071428571429 },
                { "PressedToNormal_End", 1d },
                { "PressedToPointerOver_Start", 1d },
                { "PressedToPointerOver_End", 1d },
            };

        /// <summary>
        /// Sets the color property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetColorProperty(string propertyName, Color value)
        {
        }

        /// <summary>
        /// Sets the scalar property with the given name, or does nothing if no such property
        /// exists.
        /// </summary>
        public void SetScalarProperty(string propertyName, double value)
        {
        }

        sealed partial class Scan_AnimatedVisual
            : Microsoft.UI.Xaml.Controls.IAnimatedVisual
            , Microsoft.UI.Xaml.Controls.IAnimatedVisual2
        {
            const long c_durationTicks = 11666666;
            readonly Compositor _c;
            readonly ExpressionAnimation _reusableExpressionAnimation;
            AnimationController _animationController_0;
            CanvasGeometry _geometry_08;
            CompositionColorBrush _animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D;
            CompositionColorBrush _animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A;
            CompositionContainerShape _containerShape_0;
            CompositionContainerShape _containerShape_1;
            CompositionContainerShape _containerShape_2;
            CompositionPath _path_0;
            CompositionPath _path_1;
            CompositionPath _path_2;
            CompositionPath _path_3;
            CompositionPath _path_4;
            CompositionPath _path_5;
            CompositionPath _path_6;
            CompositionPath _path_7;
            CompositionPath _path_8;
            CompositionPathGeometry _pathGeometry_1;
            CompositionPathGeometry _pathGeometry_2;
            CompositionPathGeometry _pathGeometry_3;
            CompositionPathGeometry _pathGeometry_4;
            CompositionSpriteShape _spriteShape_0;
            CompositionSpriteShape _spriteShape_2;
            CompositionSpriteShape _spriteShape_4;
            ContainerVisual _root;
            CubicBezierEasingFunction _cubicBezierEasingFunction_0;
            CubicBezierEasingFunction _cubicBezierEasingFunction_1;
            CubicBezierEasingFunction _cubicBezierEasingFunction_2;
            CubicBezierEasingFunction _cubicBezierEasingFunction_3;
            CubicBezierEasingFunction _cubicBezierEasingFunction_4;
            CubicBezierEasingFunction _cubicBezierEasingFunction_5;
            ScalarKeyFrameAnimation _scalarAnimation_1_to_1;
            StepEasingFunction _holdThenStepEasingFunction;
            StepEasingFunction _stepThenHoldEasingFunction;

            void BindProperty(
                CompositionObject target,
                string animatedPropertyName,
                string expression,
                string referenceParameterName,
                CompositionObject referencedObject)
            {
                _reusableExpressionAnimation.ClearAllParameters();
                _reusableExpressionAnimation.Expression = expression;
                _reusableExpressionAnimation.SetReferenceParameter(referenceParameterName, referencedObject);
                target.StartAnimation(animatedPropertyName, _reusableExpressionAnimation);
            }

            ColorKeyFrameAnimation CreateColorKeyFrameAnimation(float initialProgress, Color initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateColorKeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InterpolationColorSpace = CompositionColorSpace.Rgb;
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            PathKeyFrameAnimation CreatePathKeyFrameAnimation(float initialProgress, CompositionPath initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreatePathKeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            ScalarKeyFrameAnimation CreateScalarKeyFrameAnimation(float initialProgress, float initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateScalarKeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            Vector2KeyFrameAnimation CreateVector2KeyFrameAnimation(float initialProgress, Vector2 initialValue, CompositionEasingFunction initialEasingFunction)
            {
                var result = _c.CreateVector2KeyFrameAnimation();
                result.Duration = TimeSpan.FromTicks(c_durationTicks);
                result.InsertKeyFrame(initialProgress, initialValue, initialEasingFunction);
                return result;
            }

            CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry, Matrix3x2 transformMatrix)
            {
                var result = _c.CreateSpriteShape(geometry);
                result.TransformMatrix = transformMatrix;
                return result;
            }

            CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry, Matrix3x2 transformMatrix, CompositionBrush fillBrush)
            {
                var result = _c.CreateSpriteShape(geometry);
                result.TransformMatrix = transformMatrix;
                result.FillBrush = fillBrush;
                return result;
            }

            AnimationController AnimationController_0()
            {
                if (_animationController_0 != null) { return _animationController_0; }
                var result = _animationController_0 = _c.CreateAnimationController();
                result.Pause();
                BindProperty(_animationController_0, "Progress", "_.Progress", "_", _root);
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: roblox
            // - - ShapeGroup: roblox
            // - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_00()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_01(), Geometry_02() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: roblox
            // - - - ShapeGroup: roblox
            // - - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_01()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-12.7709999F, -22.0200005F));
                    builder.AddLine(new Vector2(-22.0200005F, 12.7709999F));
                    builder.AddLine(new Vector2(12.7720003F, 22.0200005F));
                    builder.AddLine(new Vector2(22.0209999F, -12.7720003F));
                    builder.AddLine(new Vector2(-12.7709999F, -22.0200005F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: roblox
            // - - - ShapeGroup: roblox
            // - - Path 2+Path 1.PathGeometry
            CanvasGeometry Geometry_02()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(2.83800006F, 4.89300013F));
                    builder.AddLine(new Vector2(-4.89300013F, 2.83800006F));
                    builder.AddLine(new Vector2(-2.83800006F, -4.89300013F));
                    builder.AddLine(new Vector2(4.89300013F, -2.83800006F));
                    builder.AddLine(new Vector2(2.83800006F, 4.89300013F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_03()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_04(), Geometry_05() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_04()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(22.0230007F, -12.8339996F));
                    builder.AddCubicBezier(new Vector2(22.0230007F, -12.8339996F), new Vector2(7.38500023F, -16.7169991F), new Vector2(7.38500023F, -16.7169991F));
                    builder.AddCubicBezier(new Vector2(6.21400023F, -17.0450001F), new Vector2(4.41300011F, -17.5580006F), new Vector2(3.0079999F, -17.8990002F));
                    builder.AddCubicBezier(new Vector2(3.0079999F, -17.8990002F), new Vector2(-12.7550001F, -22.1089993F), new Vector2(-12.7550001F, -22.1089993F));
                    builder.AddCubicBezier(new Vector2(-12.7849998F, -22.0249996F), new Vector2(-12.8039999F, -21.9370003F), new Vector2(-12.8179998F, -21.8700008F));
                    builder.AddCubicBezier(new Vector2(-12.8179998F, -21.8700008F), new Vector2(-21.8530006F, 12.2139997F), new Vector2(-21.8530006F, 12.2139997F));
                    builder.AddCubicBezier(new Vector2(-21.8770008F, 12.3210001F), new Vector2(-21.9629993F, 12.6149998F), new Vector2(-21.9829998F, 12.7049999F));
                    builder.AddCubicBezier(new Vector2(-21.9829998F, 12.7049999F), new Vector2(-6.13600016F, 16.8869991F), new Vector2(-6.13600016F, 16.8869991F));
                    builder.AddCubicBezier(new Vector2(-5.10300016F, 17.1809998F), new Vector2(-3.42400002F, 17.684F), new Vector2(-2.44700003F, 17.9120007F));
                    builder.AddCubicBezier(new Vector2(-2.44700003F, 17.9120007F), new Vector2(12.7740002F, 21.9309998F), new Vector2(12.7740002F, 21.9309998F));
                    builder.AddCubicBezier(new Vector2(12.8240004F, 21.7369995F), new Vector2(12.8579998F, 21.6459999F), new Vector2(12.8809996F, 21.5310001F));
                    builder.AddCubicBezier(new Vector2(12.8809996F, 21.5310001F), new Vector2(21.9860001F, -12.6730003F), new Vector2(21.9860001F, -12.6730003F));
                    builder.AddCubicBezier(new Vector2(21.9899998F, -12.7189999F), new Vector2(21.9990005F, -12.7519999F), new Vector2(22.0230007F, -12.8339996F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_05()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(2.88100004F, 4.829F));
                    builder.AddCubicBezier(new Vector2(2.88100004F, 4.829F), new Vector2(-4.90600014F, 2.8039999F), new Vector2(-4.90600014F, 2.8039999F));
                    builder.AddCubicBezier(new Vector2(-4.90600014F, 2.8039999F), new Vector2(-2.88100004F, -4.98400021F), new Vector2(-2.88100004F, -4.98400021F));
                    builder.AddCubicBezier(new Vector2(-2.88100004F, -4.98400021F), new Vector2(4.90600014F, -2.95799994F), new Vector2(4.90600014F, -2.95799994F));
                    builder.AddCubicBezier(new Vector2(4.90600014F, -2.95799994F), new Vector2(2.88100004F, 4.829F), new Vector2(2.88100004F, 4.829F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_06()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_07(), Geometry_08() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_07()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(17.6200008F, -15.6669998F));
                    builder.AddCubicBezier(new Vector2(17.6200008F, -15.6669998F), new Vector2(1.82099998F, -15.6470003F), new Vector2(1.82099998F, -15.6470003F));
                    builder.AddCubicBezier(new Vector2(0.638000011F, -15.6700001F), new Vector2(-0.433999985F, -15.6700001F), new Vector2(-1.84099996F, -15.6470003F));
                    builder.AddCubicBezier(new Vector2(-1.84099996F, -15.6470003F), new Vector2(-17.4909992F, -15.566F), new Vector2(-17.4909992F, -15.566F));
                    builder.AddCubicBezier(new Vector2(-17.4829998F, -15.4829998F), new Vector2(-17.4880009F, -15.4370003F), new Vector2(-17.4880009F, -15.3760004F));
                    builder.AddCubicBezier(new Vector2(-17.4880009F, -15.3760004F), new Vector2(-17.5200005F, 15.8290005F), new Vector2(-17.5200005F, 15.8290005F));
                    builder.AddCubicBezier(new Vector2(-17.5160007F, 15.9359999F), new Vector2(-17.5160007F, 15.9910002F), new Vector2(-17.5130005F, 16.0799999F));
                    builder.AddCubicBezier(new Vector2(-17.5130005F, 16.0799999F), new Vector2(-1.68799996F, 16.1429996F), new Vector2(-1.68799996F, 16.1429996F));
                    builder.AddCubicBezier(new Vector2(-0.643000007F, 16.1669998F), new Vector2(0.999000013F, 16.1669998F), new Vector2(1.97399998F, 16.1429996F));
                    builder.AddCubicBezier(new Vector2(1.97399998F, 16.1429996F), new Vector2(17.4939995F, 16.0939999F), new Vector2(17.4939995F, 16.0939999F));
                    builder.AddCubicBezier(new Vector2(17.493F, 15.8990002F), new Vector2(17.4939995F, 15.8079996F), new Vector2(17.4869995F, 15.6940002F));
                    builder.AddCubicBezier(new Vector2(17.4869995F, 15.6940002F), new Vector2(17.625F, -15.5059996F), new Vector2(17.625F, -15.5059996F));
                    builder.AddCubicBezier(new Vector2(17.6170006F, -15.5500002F), new Vector2(17.618F, -15.5839996F), new Vector2(17.6200008F, -15.6669998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_08()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(5F, 4.92299986F));
                    builder.AddCubicBezier(new Vector2(5F, 4.92299986F), new Vector2(-5F, 4.92299986F), new Vector2(-5F, 4.92299986F));
                    builder.AddCubicBezier(new Vector2(-5F, 4.92299986F), new Vector2(-5F, -5.07700014F), new Vector2(-5F, -5.07700014F));
                    builder.AddCubicBezier(new Vector2(-5F, -5.07700014F), new Vector2(5F, -5.07700014F), new Vector2(5F, -5.07700014F));
                    builder.AddCubicBezier(new Vector2(5F, -5.07700014F), new Vector2(5F, 4.92299986F), new Vector2(5F, 4.92299986F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = _geometry_08 = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_09()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_10(), Geometry_08() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_10()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(16.4400005F, -14.6000004F));
                    builder.AddCubicBezier(new Vector2(16.4400005F, -14.6000004F), new Vector2(1.70200002F, -14.5819998F), new Vector2(1.70200002F, -14.5819998F));
                    builder.AddCubicBezier(new Vector2(0.598999977F, -14.6029997F), new Vector2(-0.400999993F, -14.6029997F), new Vector2(-1.71300006F, -14.5819998F));
                    builder.AddCubicBezier(new Vector2(-1.71300006F, -14.5819998F), new Vector2(-16.3120003F, -14.5059996F), new Vector2(-16.3120003F, -14.5059996F));
                    builder.AddCubicBezier(new Vector2(-16.3050003F, -14.4289999F), new Vector2(-16.309F, -14.3859997F), new Vector2(-16.309F, -14.3290005F));
                    builder.AddCubicBezier(new Vector2(-16.309F, -14.3290005F), new Vector2(-16.3239994F, 14.776F), new Vector2(-16.3239994F, 14.776F));
                    builder.AddCubicBezier(new Vector2(-16.3199997F, 14.8760004F), new Vector2(-16.3279991F, 14.8760004F), new Vector2(-16.3250008F, 14.9589996F));
                    builder.AddCubicBezier(new Vector2(-16.3250008F, 14.9589996F), new Vector2(-1.57099998F, 15F), new Vector2(-1.57099998F, 15F));
                    builder.AddCubicBezier(new Vector2(-0.596000016F, 15.0229998F), new Vector2(0.935000002F, 15.0229998F), new Vector2(1.84500003F, 15F));
                    builder.AddCubicBezier(new Vector2(1.84500003F, 15F), new Vector2(16.3439999F, 14.9899998F), new Vector2(16.3439999F, 14.9899998F));
                    builder.AddCubicBezier(new Vector2(16.3430004F, 14.8079996F), new Vector2(16.3439999F, 14.6569996F), new Vector2(16.3379993F, 14.5509996F));
                    builder.AddCubicBezier(new Vector2(16.3379993F, 14.5509996F), new Vector2(16.4449997F, -14.4499998F), new Vector2(16.4449997F, -14.4499998F));
                    builder.AddCubicBezier(new Vector2(16.4379997F, -14.4910002F), new Vector2(16.4379997F, -14.5220003F), new Vector2(16.4400005F, -14.6000004F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_11()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_12(), Geometry_08() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_12()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(10.7189999F, -7.3579998F));
                    builder.AddCubicBezier(new Vector2(10.7189999F, -7.3579998F), new Vector2(1.68599999F, -7.4000001F), new Vector2(1.68599999F, -7.4000001F));
                    builder.AddCubicBezier(new Vector2(0.583000004F, -7.421F), new Vector2(-0.416999996F, -7.421F), new Vector2(-1.72899997F, -7.4000001F));
                    builder.AddCubicBezier(new Vector2(-1.72899997F, -7.4000001F), new Vector2(-10.4589996F, -7.3670001F), new Vector2(-10.4589996F, -7.3670001F));
                    builder.AddCubicBezier(new Vector2(-12.1359997F, -7.32800007F), new Vector2(-12.9790001F, -5.62799978F), new Vector2(-12.9790001F, -4.40799999F));
                    builder.AddCubicBezier(new Vector2(-12.9790001F, -4.40799999F), new Vector2(-12.9650002F, 5.31500006F), new Vector2(-12.9650002F, 5.31500006F));
                    builder.AddCubicBezier(new Vector2(-12.9650002F, 6.53499985F), new Vector2(-12.434F, 7.29699993F), new Vector2(-11.2880001F, 7.3039999F));
                    builder.AddCubicBezier(new Vector2(-11.2880001F, 7.3039999F), new Vector2(-1.65900004F, 7.33699989F), new Vector2(-1.65900004F, 7.33699989F));
                    builder.AddCubicBezier(new Vector2(-0.684000015F, 7.36000013F), new Vector2(0.847000003F, 7.36000013F), new Vector2(1.75699997F, 7.33699989F));
                    builder.AddCubicBezier(new Vector2(1.75699997F, 7.33699989F), new Vector2(11.2959995F, 7.3039999F), new Vector2(11.2959995F, 7.3039999F));
                    builder.AddCubicBezier(new Vector2(12.3479996F, 7.204F), new Vector2(13.0039997F, 6.5170002F), new Vector2(13.0039997F, 5.09600019F));
                    builder.AddCubicBezier(new Vector2(13.0039997F, 5.09600019F), new Vector2(13.0209999F, -4.40799999F), new Vector2(13.0209999F, -4.40799999F));
                    builder.AddCubicBezier(new Vector2(13.0209999F, -5.62799978F), new Vector2(12.427F, -7.3579998F), new Vector2(10.7189999F, -7.3579998F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_13()
            {
                var result = CanvasGeometry.CreateGroup(
                    null,
                    new CanvasGeometry[] { Geometry_14(), Geometry_08() },
                    CanvasFilledRegionDetermination.Winding);
                return result;
            }

            CanvasGeometry Geometry_14()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(11.2919998F, -8.49199963F));
                    builder.AddCubicBezier(new Vector2(11.2919998F, -8.49199963F), new Vector2(1.70799994F, -14.0249996F), new Vector2(1.70799994F, -14.0249996F));
                    builder.AddCubicBezier(new Vector2(0.651000023F, -14.6350002F), new Vector2(-0.651000023F, -14.6350002F), new Vector2(-1.70799994F, -14.0249996F));
                    builder.AddCubicBezier(new Vector2(-1.70799994F, -14.0249996F), new Vector2(-11.2919998F, -8.49199963F), new Vector2(-11.2919998F, -8.49199963F));
                    builder.AddCubicBezier(new Vector2(-12.349F, -7.88199997F), new Vector2(-13F, -6.75299978F), new Vector2(-13F, -5.53299999F));
                    builder.AddCubicBezier(new Vector2(-13F, -5.53299999F), new Vector2(-13F, 5.53299999F), new Vector2(-13F, 5.53299999F));
                    builder.AddCubicBezier(new Vector2(-13F, 6.75299978F), new Vector2(-12.349F, 7.88199997F), new Vector2(-11.2919998F, 8.49199963F));
                    builder.AddCubicBezier(new Vector2(-11.2919998F, 8.49199963F), new Vector2(-1.70799994F, 14.0249996F), new Vector2(-1.70799994F, 14.0249996F));
                    builder.AddCubicBezier(new Vector2(-0.651000023F, 14.6350002F), new Vector2(0.651000023F, 14.6350002F), new Vector2(1.70799994F, 14.0249996F));
                    builder.AddCubicBezier(new Vector2(1.70799994F, 14.0249996F), new Vector2(11.2919998F, 8.49199963F), new Vector2(11.2919998F, 8.49199963F));
                    builder.AddCubicBezier(new Vector2(12.349F, 7.88199997F), new Vector2(13F, 6.75299978F), new Vector2(13F, 5.53299999F));
                    builder.AddCubicBezier(new Vector2(13F, 5.53299999F), new Vector2(13F, -5.53299999F), new Vector2(13F, -5.53299999F));
                    builder.AddCubicBezier(new Vector2(13F, -6.75299978F), new Vector2(12.349F, -7.88199997F), new Vector2(11.2919998F, -8.49199963F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_15()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.BeginFigure(new Vector2(12.8800001F, 21.5340004F));
                    builder.AddCubicBezier(new Vector2(12.8800001F, 21.5340004F), new Vector2(21.9580002F, -12.5930004F), new Vector2(21.9580002F, -12.5930004F));
                    builder.AddCubicBezier(new Vector2(21.9810009F, -12.6899996F), new Vector2(21.9909992F, -12.7270002F), new Vector2(22.0209999F, -12.8439999F));
                    builder.AddCubicBezier(new Vector2(22.0209999F, -12.8439999F), new Vector2(7.68100023F, -16.6539993F), new Vector2(7.68100023F, -16.6539993F));
                    builder.AddCubicBezier(new Vector2(5.50400019F, -17.2290001F), new Vector2(3.86400008F, -17.6499996F), new Vector2(1.91799998F, -18.1809998F));
                    builder.AddCubicBezier(new Vector2(1.91799998F, -18.1809998F), new Vector2(-12.7550001F, -22.1130009F), new Vector2(-12.7550001F, -22.1130009F));
                    builder.AddCubicBezier(new Vector2(-12.7720003F, -22.0650005F), new Vector2(-12.7959995F, -21.9799995F), new Vector2(-12.8059998F, -21.9430008F));
                    builder.AddCubicBezier(new Vector2(-12.8059998F, -21.9430008F), new Vector2(-21.9169998F, 12.4090004F), new Vector2(-21.9169998F, 12.4090004F));
                    builder.AddCubicBezier(new Vector2(-21.9279995F, 12.4519997F), new Vector2(-21.9969997F, 12.6289997F), new Vector2(-22.0119991F, 12.6759996F));
                    builder.AddCubicBezier(new Vector2(-22.0119991F, 12.6759996F), new Vector2(-6.99900007F, 16.6609993F), new Vector2(-6.99900007F, 16.6609993F));
                    builder.AddCubicBezier(new Vector2(-5.07600021F, 17.1879997F), new Vector2(-3.31399989F, 17.6690006F), new Vector2(-1.579F, 18.1259995F));
                    builder.AddCubicBezier(new Vector2(-1.579F, 18.1259995F), new Vector2(12.7720003F, 21.9230003F), new Vector2(12.7720003F, 21.9230003F));
                    builder.AddCubicBezier(new Vector2(12.8009996F, 21.7999992F), new Vector2(12.8389997F, 21.6889992F), new Vector2(12.8800001F, 21.5340004F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_16()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.BeginFigure(new Vector2(17.4860001F, 15.6960001F));
                    builder.AddCubicBezier(new Vector2(17.4860001F, 15.6960001F), new Vector2(17.5330009F, -15.4729996F), new Vector2(17.5330009F, -15.4729996F));
                    builder.AddCubicBezier(new Vector2(17.5310001F, -15.5699997F), new Vector2(17.5319996F, -15.6079998F), new Vector2(17.5310001F, -15.7250004F));
                    builder.AddCubicBezier(new Vector2(17.5310001F, -15.7250004F), new Vector2(2.89499998F, -15.6899996F), new Vector2(2.89499998F, -15.6899996F));
                    builder.AddCubicBezier(new Vector2(0.703999996F, -15.698F), new Vector2(-0.984000027F, -15.6669998F), new Vector2(-2.94700003F, -15.6899996F));
                    builder.AddCubicBezier(new Vector2(-2.94700003F, -15.6899996F), new Vector2(-17.4990005F, -15.7110004F), new Vector2(-17.4990005F, -15.7110004F));
                    builder.AddCubicBezier(new Vector2(-17.5F, -15.625F), new Vector2(-17.5F, -15.5380001F), new Vector2(-17.4969997F, -15.4729996F));
                    builder.AddCubicBezier(new Vector2(-17.4969997F, -15.4729996F), new Vector2(-17.5149994F, 15.9619999F), new Vector2(-17.5149994F, 15.9619999F));
                    builder.AddCubicBezier(new Vector2(-17.5149994F, 16.0049992F), new Vector2(-17.5160007F, 16.0259991F), new Vector2(-17.5189991F, 16.0739994F));
                    builder.AddCubicBezier(new Vector2(-17.5189991F, 16.0739994F), new Vector2(-2.81900001F, 16.132F), new Vector2(-2.81900001F, 16.132F));
                    builder.AddCubicBezier(new Vector2(-0.879000008F, 16.1580009F), new Vector2(1.278F, 16.1259995F), new Vector2(3.023F, 16.132F));
                    builder.AddCubicBezier(new Vector2(3.023F, 16.132F), new Vector2(17.4869995F, 16.0839996F), new Vector2(17.4869995F, 16.0839996F));
                    builder.AddCubicBezier(new Vector2(17.4839993F, 15.9610004F), new Vector2(17.4860001F, 15.8520002F), new Vector2(17.4860001F, 15.6960001F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_17()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.BeginFigure(new Vector2(17.5F, 6.75F));
                    builder.AddCubicBezier(new Vector2(17.5F, 6.75F), new Vector2(17.5F, -6.75F), new Vector2(17.5F, -6.75F));
                    builder.AddCubicBezier(new Vector2(17.5F, -8.83399963F), new Vector2(16.3120003F, -11.71F), new Vector2(13.3660002F, -11.802F));
                    builder.AddCubicBezier(new Vector2(13.3660002F, -11.802F), new Vector2(2.87899995F, -11.7959995F), new Vector2(2.87899995F, -11.7959995F));
                    builder.AddCubicBezier(new Vector2(0.688000023F, -11.8039999F), new Vector2(-1F, -11.7729998F), new Vector2(-2.96300006F, -11.7959995F));
                    builder.AddCubicBezier(new Vector2(-2.96300006F, -11.7959995F), new Vector2(-12.4289999F, -11.802F), new Vector2(-12.4289999F, -11.802F));
                    builder.AddCubicBezier(new Vector2(-16.0310001F, -11.71F), new Vector2(-17.5F, -8.83399963F), new Vector2(-17.5F, -6.75F));
                    builder.AddCubicBezier(new Vector2(-17.5F, -6.75F), new Vector2(-17.5F, 7.5630002F), new Vector2(-17.5F, 7.5630002F));
                    builder.AddCubicBezier(new Vector2(-17.5F, 9.64700031F), new Vector2(-16.5939999F, 11.79F), new Vector2(-13.835F, 11.7919998F));
                    builder.AddCubicBezier(new Vector2(-13.835F, 11.7919998F), new Vector2(-2.81500006F, 11.8269997F), new Vector2(-2.81500006F, 11.8269997F));
                    builder.AddCubicBezier(new Vector2(-0.875F, 11.8529997F), new Vector2(1.28199995F, 11.8210001F), new Vector2(3.02699995F, 11.8269997F));
                    builder.AddCubicBezier(new Vector2(3.02699995F, 11.8269997F), new Vector2(13.5229998F, 11.7919998F), new Vector2(13.5229998F, 11.7919998F));
                    builder.AddCubicBezier(new Vector2(16.9379997F, 11.7589998F), new Vector2(17.5F, 8.83399963F), new Vector2(17.5F, 6.75F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_18()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.BeginFigure(new Vector2(17.5F, 6.75F));
                    builder.AddCubicBezier(new Vector2(17.5F, 6.75F), new Vector2(17.5F, -6.75F), new Vector2(17.5F, -6.75F));
                    builder.AddCubicBezier(new Vector2(17.5F, -8.83399963F), new Vector2(16.3889999F, -10.7589998F), new Vector2(14.585F, -11.802F));
                    builder.AddCubicBezier(new Vector2(14.585F, -11.802F), new Vector2(2.921F, -18.5459995F), new Vector2(2.921F, -18.5459995F));
                    builder.AddCubicBezier(new Vector2(1.11399996F, -19.5909996F), new Vector2(-1.11399996F, -19.5909996F), new Vector2(-2.921F, -18.5459995F));
                    builder.AddCubicBezier(new Vector2(-2.921F, -18.5459995F), new Vector2(-14.585F, -11.802F), new Vector2(-14.585F, -11.802F));
                    builder.AddCubicBezier(new Vector2(-16.3889999F, -10.7589998F), new Vector2(-17.5F, -8.83399963F), new Vector2(-17.5F, -6.75F));
                    builder.AddCubicBezier(new Vector2(-17.5F, -6.75F), new Vector2(-17.5F, 6.75F), new Vector2(-17.5F, 6.75F));
                    builder.AddCubicBezier(new Vector2(-17.5F, 8.83399963F), new Vector2(-16.3889999F, 10.7589998F), new Vector2(-14.585F, 11.802F));
                    builder.AddCubicBezier(new Vector2(-14.585F, 11.802F), new Vector2(-2.921F, 18.5459995F), new Vector2(-2.921F, 18.5459995F));
                    builder.AddCubicBezier(new Vector2(-1.11399996F, 19.5909996F), new Vector2(1.11399996F, 19.5909996F), new Vector2(2.921F, 18.5459995F));
                    builder.AddCubicBezier(new Vector2(2.921F, 18.5459995F), new Vector2(14.585F, 11.802F), new Vector2(14.585F, 11.802F));
                    builder.AddCubicBezier(new Vector2(16.3889999F, 10.7589998F), new Vector2(17.5F, 8.83399963F), new Vector2(17.5F, 6.75F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0xE2, 0x23, 0x1A), StepThenHoldEasingFunction());
                // Frame 17.
                // AlmostCrimson_FFE2231A
                result.InsertKeyFrame(0.607142866F, Color.FromArgb(0xFF, 0xE2, 0x23, 0x1A), HoldThenStepEasingFunction());
                // Frame 18.
                // AlmostGoldenrod_FFFBC02D
                result.InsertKeyFrame(0.642857134F, Color.FromArgb(0xFF, 0xFB, 0xC0, 0x2D), CubicBezierEasingFunction_2());
                return result;
            }

            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0xFB, 0xC0, 0x2D), StepThenHoldEasingFunction());
                // Frame 10.
                // AlmostGoldenrod_FFFBC02D
                result.InsertKeyFrame(0.357142866F, Color.FromArgb(0xFF, 0xFB, 0xC0, 0x2D), HoldThenStepEasingFunction());
                // Frame 11.
                // AlmostCrimson_FFE2231A
                result.InsertKeyFrame(0.392857134F, Color.FromArgb(0xFF, 0xE2, 0x23, 0x1A), CubicBezierEasingFunction_2());
                return result;
            }

            CompositionColorBrush AnimatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D()
            {
                if (_animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D != null) { return _animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D; }
                var result = _animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D = _c.CreateColorBrush();
                return result;
            }

            CompositionColorBrush AnimatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A()
            {
                if (_animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A != null) { return _animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A; }
                var result = _animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A = _c.CreateColorBrush();
                return result;
            }

            // - - Layer aggregator
            // - Layer: roblox
            // ShapeGroup: roblox
            CompositionColorBrush ColorBrush_AlmostCrimson_FFE2231A()
            {
                return _c.CreateColorBrush(Color.FromArgb(0xFF, 0xE2, 0x23, 0x1A));
            }

            // Layer aggregator
            // Layer: roblox
            CompositionContainerShape ContainerShape_0()
            {
                if (_containerShape_0 != null) { return _containerShape_0; }
                var result = _containerShape_0 = _c.CreateContainerShape();
                result.Scale = new Vector2(0F, 0F);
                // ShapeGroup: roblox
                result.Shapes.Add(SpriteShape_0());
                return result;
            }

            // Layer aggregator
            // Layer: robux 3
            CompositionContainerShape ContainerShape_1()
            {
                if (_containerShape_1 != null) { return _containerShape_1; }
                var result = _containerShape_1 = _c.CreateContainerShape();
                result.Scale = new Vector2(0F, 0F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 2 Offset:<24, 24.077>
                shapes.Add(SpriteShape_1());
                // ShapeGroup: Group 1 Offset:<24, 24.085>
                shapes.Add(SpriteShape_2());
                return result;
            }

            // Layer aggregator
            // Layer: robux 2
            CompositionContainerShape ContainerShape_2()
            {
                if (_containerShape_2 != null) { return _containerShape_2; }
                var result = _containerShape_2 = _c.CreateContainerShape();
                var shapes = result.Shapes;
                // ShapeGroup: Group 2 Offset:<24, 24.077>
                shapes.Add(SpriteShape_3());
                // ShapeGroup: Group 1 Offset:<24, 24.085>
                shapes.Add(SpriteShape_4());
                return result;
            }

            CompositionPath Path_0()
            {
                if (_path_0 != null) { return _path_0; }
                var result = _path_0 = new CompositionPath(Geometry_03());
                return result;
            }

            CompositionPath Path_1()
            {
                if (_path_1 != null) { return _path_1; }
                var result = _path_1 = new CompositionPath(Geometry_06());
                return result;
            }

            CompositionPath Path_2()
            {
                if (_path_2 != null) { return _path_2; }
                var result = _path_2 = new CompositionPath(Geometry_09());
                return result;
            }

            CompositionPath Path_3()
            {
                if (_path_3 != null) { return _path_3; }
                var result = _path_3 = new CompositionPath(Geometry_11());
                return result;
            }

            CompositionPath Path_4()
            {
                if (_path_4 != null) { return _path_4; }
                var result = _path_4 = new CompositionPath(Geometry_13());
                return result;
            }

            CompositionPath Path_5()
            {
                if (_path_5 != null) { return _path_5; }
                var result = _path_5 = new CompositionPath(Geometry_15());
                return result;
            }

            CompositionPath Path_6()
            {
                if (_path_6 != null) { return _path_6; }
                var result = _path_6 = new CompositionPath(Geometry_16());
                return result;
            }

            CompositionPath Path_7()
            {
                if (_path_7 != null) { return _path_7; }
                var result = _path_7 = new CompositionPath(Geometry_17());
                return result;
            }

            CompositionPath Path_8()
            {
                if (_path_8 != null) { return _path_8; }
                var result = _path_8 = new CompositionPath(Geometry_18());
                return result;
            }

            // - - Layer aggregator
            // - Layer: roblox
            // ShapeGroup: roblox
            // Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_0()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_00()));
            }

            // - - Layer aggregator
            // - Layer: robux 3
            // ShapeGroup: Group 2 Offset:<24, 24.077>
            // Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_1()
            {
                if (_pathGeometry_1 != null) { return _pathGeometry_1; }
                var result = _pathGeometry_1 = _c.CreatePathGeometry();
                return result;
            }

            // - - Layer aggregator
            // - Layer: robux 3
            // ShapeGroup: Group 1 Offset:<24, 24.085>
            CompositionPathGeometry PathGeometry_2()
            {
                if (_pathGeometry_2 != null) { return _pathGeometry_2; }
                var result = _pathGeometry_2 = _c.CreatePathGeometry();
                return result;
            }

            // - - Layer aggregator
            // - Layer: robux 2
            // ShapeGroup: Group 2 Offset:<24, 24.077>
            // Path 2+Path 1.PathGeometry
            CompositionPathGeometry PathGeometry_3()
            {
                if (_pathGeometry_3 != null) { return _pathGeometry_3; }
                var result = _pathGeometry_3 = _c.CreatePathGeometry();
                return result;
            }

            // - - Layer aggregator
            // - Layer: robux 2
            // ShapeGroup: Group 1 Offset:<24, 24.085>
            CompositionPathGeometry PathGeometry_4()
            {
                if (_pathGeometry_4 != null) { return _pathGeometry_4; }
                var result = _pathGeometry_4 = _c.CreatePathGeometry();
                return result;
            }

            // - Layer aggregator
            // Layer: roblox
            // Path 2+Path 1
            CompositionSpriteShape SpriteShape_0()
            {
                if (_spriteShape_0 != null) { return _spriteShape_0; }
                var result = _spriteShape_0 = _c.CreateSpriteShape(PathGeometry_0());
                result.CenterPoint = new Vector2(-0.187999994F, 0.187999994F);
                result.Offset = new Vector2(24F, 24F);
                result.FillBrush = ColorBrush_AlmostCrimson_FFE2231A();
                return result;
            }

            // - Layer aggregator
            // Layer: robux 3
            // Path 2+Path 1
            CompositionSpriteShape SpriteShape_1()
            {
                // Offset:<24, 24.077>
                var geometry = PathGeometry_1();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24.0769997F), AnimatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D());;
                return result;
            }

            // - Layer aggregator
            // Layer: robux 3
            // Path 1
            CompositionSpriteShape SpriteShape_2()
            {
                // Offset:<24, 24.085>
                if (_spriteShape_2 != null) { return _spriteShape_2; }
                var result = _spriteShape_2 = CreateSpriteShape(PathGeometry_2(), new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24.0849991F));;
                result.StrokeBrush = AnimatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D();
                result.StrokeMiterLimit = 146F;
                return result;
            }

            // - Layer aggregator
            // Layer: robux 2
            // Path 2+Path 1
            CompositionSpriteShape SpriteShape_3()
            {
                // Offset:<24, 24.077>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24.0769997F), AnimatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A());;
                return result;
            }

            // - Layer aggregator
            // Layer: robux 2
            // Path 1
            CompositionSpriteShape SpriteShape_4()
            {
                // Offset:<24, 24.085>
                if (_spriteShape_4 != null) { return _spriteShape_4; }
                var result = _spriteShape_4 = CreateSpriteShape(PathGeometry_4(), new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24.0849991F));;
                result.StrokeBrush = AnimatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A();
                result.StrokeMiterLimit = 146F;
                return result;
            }

            // The root of the composition.
            ContainerVisual Root()
            {
                if (_root != null) { return _root; }
                var result = _root = _c.CreateContainerVisual();
                var propertySet = result.Properties;
                propertySet.InsertScalar("Progress", 0F);
                // Layer aggregator
                result.Children.InsertAtTop(ShapeVisual_0());
                return result;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_0()
            {
                return (_cubicBezierEasingFunction_0 == null)
                    ? _cubicBezierEasingFunction_0 = _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0.166999996F), new Vector2(0.833000004F, 1F))
                    : _cubicBezierEasingFunction_0;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_1()
            {
                return (_cubicBezierEasingFunction_1 == null)
                    ? _cubicBezierEasingFunction_1 = _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0F), new Vector2(0.833000004F, 0.833000004F))
                    : _cubicBezierEasingFunction_1;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_2()
            {
                return (_cubicBezierEasingFunction_2 == null)
                    ? _cubicBezierEasingFunction_2 = _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0F), new Vector2(0.833000004F, 1F))
                    : _cubicBezierEasingFunction_2;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_3()
            {
                return (_cubicBezierEasingFunction_3 == null)
                    ? _cubicBezierEasingFunction_3 = _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0.166999996F), new Vector2(0.666999996F, 1F))
                    : _cubicBezierEasingFunction_3;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_4()
            {
                return (_cubicBezierEasingFunction_4 == null)
                    ? _cubicBezierEasingFunction_4 = _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.666999996F, 1F))
                    : _cubicBezierEasingFunction_4;
            }

            CubicBezierEasingFunction CubicBezierEasingFunction_5()
            {
                return (_cubicBezierEasingFunction_5 == null)
                    ? _cubicBezierEasingFunction_5 = _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.833000004F, 0.833000004F))
                    : _cubicBezierEasingFunction_5;
            }

            // - - - Layer aggregator
            // - - Layer: robux 3
            // - ShapeGroup: Group 2 Offset:<24, 24.077>
            // Path 2+Path 1.PathGeometry
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_0()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_0(), StepThenHoldEasingFunction());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, Path_0(), HoldThenStepEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, Path_1(), CubicBezierEasingFunction_2());
                // Frame 21.
                result.InsertKeyFrame(0.75F, Path_2(), CubicBezierEasingFunction_1());
                // Frame 23.
                result.InsertKeyFrame(0.821428597F, Path_3(), CubicBezierEasingFunction_3());
                // Frame 26.
                result.InsertKeyFrame(0.928571403F, Path_4(), CubicBezierEasingFunction_4());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: robux 3
            // - ShapeGroup: Group 1 Offset:<24, 24.085>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_1()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_5(), StepThenHoldEasingFunction());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, Path_5(), HoldThenStepEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, Path_6(), CubicBezierEasingFunction_1());
                // Frame 23.
                result.InsertKeyFrame(0.821428597F, Path_7(), CubicBezierEasingFunction_3());
                // Frame 26.
                result.InsertKeyFrame(0.928571403F, Path_8(), CubicBezierEasingFunction_4());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: robux 2
            // - ShapeGroup: Group 2 Offset:<24, 24.077>
            // Path 2+Path 1.PathGeometry
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_2()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_4(), StepThenHoldEasingFunction());
                // Frame 2.
                result.InsertKeyFrame(0.0714285746F, Path_4(), HoldThenStepEasingFunction());
                // Frame 5.
                result.InsertKeyFrame(0.178571433F, Path_3(), CubicBezierEasingFunction_4());
                // Frame 7.
                result.InsertKeyFrame(0.25F, Path_2(), CubicBezierEasingFunction_5());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, Path_1(), CubicBezierEasingFunction_0());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, Path_0(), CubicBezierEasingFunction_2());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: robux 2
            // - ShapeGroup: Group 1 Offset:<24, 24.085>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_3()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_8(), StepThenHoldEasingFunction());
                // Frame 2.
                result.InsertKeyFrame(0.0714285746F, Path_8(), HoldThenStepEasingFunction());
                // Frame 5.
                result.InsertKeyFrame(0.178571433F, Path_7(), CubicBezierEasingFunction_4());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, Path_6(), CubicBezierEasingFunction_5());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, Path_5(), CubicBezierEasingFunction_0());
                return result;
            }

            // Scale
            ScalarKeyFrameAnimation ScalarAnimation_1_to_1()
            {
                // Frame 0.
                if (_scalarAnimation_1_to_1 != null) { return _scalarAnimation_1_to_1; }
                var result = _scalarAnimation_1_to_1 = CreateScalarKeyFrameAnimation(0F, 1F, StepThenHoldEasingFunction());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, 1F, HoldThenStepEasingFunction());
                // Frame 14.
                result.InsertKeyFrame(0.5F, 1.07000005F, CubicBezierEasingFunction_0());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, 1F, CubicBezierEasingFunction_1());
                return result;
            }

            // - - Layer aggregator
            // - Layer: robux 3
            // ShapeGroup: Group 1 Offset:<24, 24.085>
            // StrokeThickness
            ScalarKeyFrameAnimation StrokeThicknessScalarAnimation_0_to_3()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, 0F, StepThenHoldEasingFunction());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, 0F, HoldThenStepEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, 3F, CubicBezierEasingFunction_2());
                return result;
            }

            // - - Layer aggregator
            // - Layer: robux 2
            // ShapeGroup: Group 1 Offset:<24, 24.085>
            // StrokeThickness
            ScalarKeyFrameAnimation StrokeThicknessScalarAnimation_3_to_0()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, 3F, StepThenHoldEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, 3F, HoldThenStepEasingFunction());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, 0F, _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.833000004F, 1F)));
                return result;
            }

            // Layer aggregator
            ShapeVisual ShapeVisual_0()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(48F, 48F);
                var shapes = result.Shapes;
                // Layer: roblox
                shapes.Add(ContainerShape_0());
                // Layer: robux 3
                shapes.Add(ContainerShape_1());
                // Layer: robux 2
                shapes.Add(ContainerShape_2());
                return result;
            }

            StepEasingFunction HoldThenStepEasingFunction()
            {
                if (_holdThenStepEasingFunction != null) { return _holdThenStepEasingFunction; }
                var result = _holdThenStepEasingFunction = _c.CreateStepEasingFunction();
                result.IsFinalStepSingleFrame = true;
                return result;
            }

            StepEasingFunction StepThenHoldEasingFunction()
            {
                if (_stepThenHoldEasingFunction != null) { return _stepThenHoldEasingFunction; }
                var result = _stepThenHoldEasingFunction = _c.CreateStepEasingFunction();
                result.IsInitialStepSingleFrame = true;
                return result;
            }

            // - Layer aggregator
            // Layer: roblox
            Vector2KeyFrameAnimation ShapeVisibilityAnimation_0()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                return result;
            }

            // - Layer aggregator
            // Layer: robux 3
            Vector2KeyFrameAnimation ShapeVisibilityAnimation_1()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                // Frame 17.
                result.InsertKeyFrame(0.607142866F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                return result;
            }

            // - Layer aggregator
            // Layer: robux 2
            Vector2KeyFrameAnimation ShapeVisibilityAnimation_2()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 11.
                result.InsertKeyFrame(0.392857134F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                return result;
            }

            internal Scan_AnimatedVisual(
                Compositor compositor
                )
            {
                _c = compositor;
                _reusableExpressionAnimation = compositor.CreateExpressionAnimation();
                Root();
            }

            public Visual RootVisual => _root;
            public TimeSpan Duration => TimeSpan.FromTicks(c_durationTicks);
            public Vector2 Size => new Vector2(48F, 48F);
            void IDisposable.Dispose() => _root?.Dispose();

            public void CreateAnimations()
            {
                _animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D.StartAnimation("Color", ColorAnimation_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D(), AnimationController_0());
                _animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A.StartAnimation("Color", ColorAnimation_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A(), AnimationController_0());
                _containerShape_0.StartAnimation("Scale", ShapeVisibilityAnimation_0(), AnimationController_0());
                _containerShape_1.StartAnimation("Scale", ShapeVisibilityAnimation_1(), AnimationController_0());
                _containerShape_2.StartAnimation("Scale", ShapeVisibilityAnimation_2(), AnimationController_0());
                _pathGeometry_1.StartAnimation("Path", PathKeyFrameAnimation_0(), AnimationController_0());
                _pathGeometry_2.StartAnimation("Path", PathKeyFrameAnimation_1(), AnimationController_0());
                _pathGeometry_3.StartAnimation("Path", PathKeyFrameAnimation_2(), AnimationController_0());
                _pathGeometry_4.StartAnimation("Path", PathKeyFrameAnimation_3(), AnimationController_0());
                _spriteShape_0.StartAnimation("Scale.X", ScalarAnimation_1_to_1(), AnimationController_0());
                _spriteShape_0.StartAnimation("Scale.Y", ScalarAnimation_1_to_1(), AnimationController_0());
                _spriteShape_2.StartAnimation("StrokeThickness", StrokeThicknessScalarAnimation_0_to_3(), AnimationController_0());
                _spriteShape_4.StartAnimation("StrokeThickness", StrokeThicknessScalarAnimation_3_to_0(), AnimationController_0());
            }

            public void DestroyAnimations()
            {
                _animatedColorBrush_AlmostCrimson_FFE2231A_to_AlmostGoldenrod_FFFBC02D.StopAnimation("Color");
                _animatedColorBrush_AlmostGoldenrod_FFFBC02D_to_AlmostCrimson_FFE2231A.StopAnimation("Color");
                _containerShape_0.StopAnimation("Scale");
                _containerShape_1.StopAnimation("Scale");
                _containerShape_2.StopAnimation("Scale");
                _pathGeometry_1.StopAnimation("Path");
                _pathGeometry_2.StopAnimation("Path");
                _pathGeometry_3.StopAnimation("Path");
                _pathGeometry_4.StopAnimation("Path");
                _spriteShape_0.StopAnimation("Scale.X");
                _spriteShape_0.StopAnimation("Scale.Y");
                _spriteShape_2.StopAnimation("StrokeThickness");
                _spriteShape_4.StopAnimation("StrokeThickness");
            }

        }
    }
}
