//------------------------------------------------------------------------------
// <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 MDE.json
//       
//       Input file:
//           MDE.json (114476 bytes created 17:57+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   |   128 |
// |--------------------------+-------|
// | Expression animators     |     1 |
// | KeyFrame animators       |    21 |
// | Reference parameters     |     1 |
// | Expression operations    |     0 |
// |--------------------------+-------|
// | Animated brushes         |     4 |
// | Animated gradient stops  |     - |
// | ExpressionAnimations     |     1 |
// | PathKeyFrameAnimations   |     4 |
// |--------------------------+-------|
// | ContainerVisuals         |     1 |
// | ShapeVisuals             |     1 |
// |--------------------------+-------|
// | ContainerShapes          |     8 |
// | CompositionSpriteShapes  |    10 |
// |--------------------------+-------|
// | Brushes                  |     8 |
// | 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:        searching
    // 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 MDE
        : 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 MDE_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 MDE_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;
            CompositionColorBrush _animatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC;
            CompositionColorBrush _animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF;
            CompositionColorBrush _animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6;
            CompositionColorBrush _animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060;
            CompositionColorBrush _colorBrush_AlmostDarkSlateGray_FF37464F;
            CompositionColorBrush _colorBrush_AlmostDimGray_FF606060;
            CompositionContainerShape _containerShape_0;
            CompositionContainerShape _containerShape_1;
            CompositionContainerShape _containerShape_2;
            CompositionContainerShape _containerShape_3;
            CompositionContainerShape _containerShape_4;
            CompositionContainerShape _containerShape_5;
            CompositionContainerShape _containerShape_6;
            CompositionContainerShape _containerShape_7;
            CompositionPath _path_0;
            CompositionPath _path_1;
            CompositionPath _path_2;
            CompositionPath _path_3;
            CompositionPathGeometry _pathGeometry_0;
            CompositionPathGeometry _pathGeometry_1;
            CompositionPathGeometry _pathGeometry_2;
            CompositionPathGeometry _pathGeometry_3;
            CompositionPathGeometry _pathGeometry_5;
            CompositionPathGeometry _pathGeometry_6;
            CompositionPathGeometry _pathGeometry_7;
            CompositionSpriteShape _spriteShape_4;
            CompositionSpriteShape _spriteShape_9;
            ContainerVisual _root;
            CubicBezierEasingFunction _cubicBezierEasingFunction_0;
            StepEasingFunction _holdThenStepEasingFunction;
            StepEasingFunction _stepThenHoldEasingFunction;
            Vector2KeyFrameAnimation _shapeVisibilityAnimation_1;

            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;
            }

            CanvasGeometry Geometry_0()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-7.41499996F, -4.58500004F));
                    builder.AddCubicBezier(new Vector2(-7.41499996F, -4.58500004F), new Vector2(-4.58500004F, -7.41499996F), new Vector2(-4.58500004F, -7.41499996F));
                    builder.AddCubicBezier(new Vector2(-4.58500004F, -7.41499996F), new Vector2(7.41499996F, 4.58699989F), new Vector2(7.41499996F, 4.58699989F));
                    builder.AddCubicBezier(new Vector2(7.41499996F, 4.58699989F), new Vector2(4.58699989F, 7.41499996F), new Vector2(4.58699989F, 7.41499996F));
                    builder.AddCubicBezier(new Vector2(4.58699989F, 7.41499996F), new Vector2(-7.41499996F, -4.58500004F), new Vector2(-7.41499996F, -4.58500004F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_1()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-7.41499996F, -4.58500004F));
                    builder.AddCubicBezier(new Vector2(-7.41499996F, -4.58500004F), new Vector2(-4.58500004F, -7.41499996F), new Vector2(-4.58500004F, -7.41499996F));
                    builder.AddCubicBezier(new Vector2(-4.58500004F, -7.41499996F), new Vector2(-4.57800007F, -7.42500019F), new Vector2(-4.57800007F, -7.42500019F));
                    builder.AddCubicBezier(new Vector2(-4.57800007F, -7.42500019F), new Vector2(-7.40600014F, -4.59700012F), new Vector2(-7.40600014F, -4.59700012F));
                    builder.AddCubicBezier(new Vector2(-7.40600014F, -4.59700012F), new Vector2(-7.41499996F, -4.58500004F), new Vector2(-7.41499996F, -4.58500004F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_2()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-5.76000023F, -2.93199992F));
                    builder.AddCubicBezier(new Vector2(-5.76000023F, -2.93199992F), new Vector2(-2.93199992F, -5.76000023F), new Vector2(-2.93199992F, -5.76000023F));
                    builder.AddCubicBezier(new Vector2(-2.93199992F, -5.76000023F), new Vector2(5.76000023F, 2.93199992F), new Vector2(5.76000023F, 2.93199992F));
                    builder.AddCubicBezier(new Vector2(5.76000023F, 2.93199992F), new Vector2(2.93199992F, 5.76000023F), new Vector2(2.93199992F, 5.76000023F));
                    builder.AddCubicBezier(new Vector2(2.93199992F, 5.76000023F), new Vector2(-5.76000023F, -2.93199992F), new Vector2(-5.76000023F, -2.93199992F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_3()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-9.05700016F, -6.24900007F));
                    builder.AddCubicBezier(new Vector2(-9.05700016F, -6.24900007F), new Vector2(-6.22900009F, -9.07699966F), new Vector2(-6.22900009F, -9.07699966F));
                    builder.AddCubicBezier(new Vector2(-6.22900009F, -9.07699966F), new Vector2(-6.23199987F, -9.0710001F), new Vector2(-6.23199987F, -9.0710001F));
                    builder.AddCubicBezier(new Vector2(-6.23199987F, -9.0710001F), new Vector2(-9.06000042F, -6.24300003F), new Vector2(-9.06000042F, -6.24300003F));
                    builder.AddCubicBezier(new Vector2(-9.06000042F, -6.24300003F), new Vector2(-9.05700016F, -6.24900007F), new Vector2(-9.05700016F, -6.24900007F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_4()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(16F, 0F));
                    builder.AddCubicBezier(new Vector2(16F, 8.83699989F), new Vector2(8.83699989F, 16F), new Vector2(0F, 16F));
                    builder.AddCubicBezier(new Vector2(-8.83699989F, 16F), new Vector2(-16F, 8.83699989F), new Vector2(-16F, 0F));
                    builder.AddCubicBezier(new Vector2(-16F, -8.83699989F), new Vector2(-8.83699989F, -16F), new Vector2(0F, -16F));
                    builder.AddCubicBezier(new Vector2(8.83699989F, -16F), new Vector2(16F, -8.83699989F), new Vector2(16F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            CanvasGeometry Geometry_5()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(-13F, 0F));
                    builder.AddCubicBezier(new Vector2(-13F, -7.17999983F), new Vector2(-7.17999983F, -13F), new Vector2(0F, -13F));
                    builder.AddCubicBezier(new Vector2(7.17999983F, -13F), new Vector2(13F, -7.17999983F), new Vector2(13F, 0F));
                    builder.AddCubicBezier(new Vector2(13F, 7.17999983F), new Vector2(7.17999983F, 13F), new Vector2(0F, 13F));
                    builder.AddCubicBezier(new Vector2(-7.17999983F, 13F), new Vector2(-13F, 7.17999983F), new Vector2(-13F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Circle
            CanvasGeometry Geometry_6()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.SetFilledRegionDetermination(CanvasFilledRegionDetermination.Winding);
                    builder.BeginFigure(new Vector2(20F, 0F));
                    builder.AddCubicBezier(new Vector2(20F, 11.0450001F), new Vector2(11.0450001F, 20F), new Vector2(0F, 20F));
                    builder.AddCubicBezier(new Vector2(-11.0450001F, 20F), new Vector2(-20F, 11.0450001F), new Vector2(-20F, 0F));
                    builder.AddCubicBezier(new Vector2(-20F, -11.0450001F), new Vector2(-11.0450001F, -20F), new Vector2(0F, -20F));
                    builder.AddCubicBezier(new Vector2(11.0450001F, -20F), new Vector2(20F, -11.0450001F), new Vector2(20F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Green circle
            CanvasGeometry Geometry_7()
            {
                CanvasGeometry result;
                using (var builder = new CanvasPathBuilder(null))
                {
                    builder.BeginFigure(new Vector2(18F, 0F));
                    builder.AddCubicBezier(new Vector2(18F, 9.94099998F), new Vector2(9.94099998F, 18F), new Vector2(0F, 18F));
                    builder.AddCubicBezier(new Vector2(-9.94099998F, 18F), new Vector2(-18F, 9.94099998F), new Vector2(-18F, 0F));
                    builder.AddCubicBezier(new Vector2(-18F, -9.94099998F), new Vector2(-9.94099998F, -18F), new Vector2(0F, -18F));
                    builder.AddCubicBezier(new Vector2(9.94099998F, -18F), new Vector2(18F, -9.94099998F), new Vector2(18F, 0F));
                    builder.EndFigure(CanvasFigureLoop.Closed);
                    result = CanvasGeometry.CreatePath(builder);
                }
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 
            // - - Transforms: Glass 
            // - ShapeGroup: Group 1 Offset:<13.25, 13.25>
            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0x63, 0xB5, 0xF6), StepThenHoldEasingFunction());
                // Frame 3.
                // AlmostCornflowerBlue_FF63B5F6
                result.InsertKeyFrame(0.107142858F, Color.FromArgb(0xFF, 0x63, 0xB5, 0xF6), HoldThenStepEasingFunction());
                // Frame 8.
                // AlmostLightGray_FFCFD8DC
                result.InsertKeyFrame(0.285714298F, Color.FromArgb(0xFF, 0xCF, 0xD8, 0xDC), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 
            // - ShapeGroup: Group 1 Offset:<16.25, 16.25>
            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0x60, 0x60, 0x60), StepThenHoldEasingFunction());
                // Frame 3.
                // AlmostDimGray_FF606060
                result.InsertKeyFrame(0.107142858F, Color.FromArgb(0xFF, 0x60, 0x60, 0x60), HoldThenStepEasingFunction());
                // Frame 8.
                // AlmostLightGray_FFC4D4DF
                result.InsertKeyFrame(0.285714298F, Color.FromArgb(0xFF, 0xC4, 0xD4, 0xDF), _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.666999996F, 0.703999996F)));
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 2
            // - - Transforms: Glass 2
            // - ShapeGroup: Group 1 Offset:<13.25, 13.25>
            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0xCF, 0xD8, 0xDC), StepThenHoldEasingFunction());
                // Frame 20.
                // AlmostLightGray_FFCFD8DC
                result.InsertKeyFrame(0.714285731F, Color.FromArgb(0xFF, 0xCF, 0xD8, 0xDC), HoldThenStepEasingFunction());
                // Frame 25.
                // AlmostCornflowerBlue_FF63B5F6
                result.InsertKeyFrame(0.892857134F, Color.FromArgb(0xFF, 0x63, 0xB5, 0xF6), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 2
            // - ShapeGroup: Group 1 Offset:<16.25, 16.25>
            // Color
            ColorKeyFrameAnimation ColorAnimation_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060()
            {
                // Frame 0.
                var result = CreateColorKeyFrameAnimation(0F, Color.FromArgb(0xFF, 0x7C, 0xB3, 0x42), StepThenHoldEasingFunction());
                // Frame 20.
                // AlmostYellowGreen_FF7CB342
                result.InsertKeyFrame(0.714285731F, Color.FromArgb(0xFF, 0x7C, 0xB3, 0x42), HoldThenStepEasingFunction());
                // Frame 24.
                // AlmostDimGray_FF606060
                result.InsertKeyFrame(0.857142866F, Color.FromArgb(0xFF, 0x60, 0x60, 0x60), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 
            // - Transforms: Glass 
            // ShapeGroup: Group 1 Offset:<13.25, 13.25>
            CompositionColorBrush AnimatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC()
            {
                if (_animatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC != null) { return _animatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC; }
                var result = _animatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC = _c.CreateColorBrush();
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // ShapeGroup: Group 1 Offset:<16.25, 16.25>
            CompositionColorBrush AnimatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF()
            {
                if (_animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF != null) { return _animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF; }
                var result = _animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF = _c.CreateColorBrush();
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 2
            // - Transforms: Glass 2
            // ShapeGroup: Group 1 Offset:<13.25, 13.25>
            CompositionColorBrush AnimatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6()
            {
                if (_animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6 != null) { return _animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6; }
                var result = _animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6 = _c.CreateColorBrush();
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // ShapeGroup: Group 1 Offset:<16.25, 16.25>
            CompositionColorBrush AnimatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060()
            {
                if (_animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060 != null) { return _animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060; }
                var result = _animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060 = _c.CreateColorBrush();
                return result;
            }

            CompositionColorBrush ColorBrush_AlmostDarkSlateGray_FF37464F()
            {
                return (_colorBrush_AlmostDarkSlateGray_FF37464F == null)
                    ? _colorBrush_AlmostDarkSlateGray_FF37464F = _c.CreateColorBrush(Color.FromArgb(0xFF, 0x37, 0x46, 0x4F))
                    : _colorBrush_AlmostDarkSlateGray_FF37464F;
            }

            CompositionColorBrush ColorBrush_AlmostDimGray_FF606060()
            {
                return (_colorBrush_AlmostDimGray_FF606060 == null)
                    ? _colorBrush_AlmostDimGray_FF606060 = _c.CreateColorBrush(Color.FromArgb(0xFF, 0x60, 0x60, 0x60))
                    : _colorBrush_AlmostDimGray_FF606060;
            }

            // - Layer aggregator
            // Layer: Circle
            CompositionColorBrush ColorBrush_AlmostLightGray_FFCFD8DC()
            {
                return _c.CreateColorBrush(Color.FromArgb(0xFF, 0xCF, 0xD8, 0xDC));
            }

            // - Layer aggregator
            // Layer: Green circle
            CompositionColorBrush ColorBrush_AlmostYellowGreen_FF7BB342()
            {
                return _c.CreateColorBrush(Color.FromArgb(0xFF, 0x7B, 0xB3, 0x42));
            }

            // Layer aggregator
            // Layer: Handle
            CompositionContainerShape ContainerShape_0()
            {
                if (_containerShape_0 != null) { return _containerShape_0; }
                var result = _containerShape_0 = _c.CreateContainerShape();
                result.Shapes.Add(ContainerShape_1());
                return result;
            }

            // - Layer aggregator
            // Layer: Handle
            CompositionContainerShape ContainerShape_1()
            {
                if (_containerShape_1 != null) { return _containerShape_1; }
                var result = _containerShape_1 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(16.25F, 16.25F);
                var shapes = result.Shapes;
                // Transforms: Handle
                shapes.Add(ContainerShape_2());
                // ShapeGroup: Group 1 Offset:<16.25, 16.25>
                shapes.Add(SpriteShape_2());
                // Transforms: Glass
                shapes.Add(ContainerShape_3());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 
            // Transforms for Handle
            CompositionContainerShape ContainerShape_2()
            {
                if (_containerShape_2 != null) { return _containerShape_2; }
                var result = _containerShape_2 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(-8.92099953F, -8.92199993F);
                result.Offset = new Vector2(25.1709995F, 25.1720009F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 2 Offset:<7.665, 7.665>
                shapes.Add(SpriteShape_0());
                // ShapeGroup: Group 1 Offset:<9.316, 9.317>
                shapes.Add(SpriteShape_1());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 
            // Transforms for Glass
            CompositionContainerShape ContainerShape_3()
            {
                if (_containerShape_3 != null) { return _containerShape_3; }
                var result = _containerShape_3 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(13.25F, 13.25F);
                result.Offset = new Vector2(3F, 3F);
                // ShapeGroup: Group 1 Offset:<13.25, 13.25>
                result.Shapes.Add(SpriteShape_3());
                return result;
            }

            // Layer aggregator
            // Layer: Handle 2
            CompositionContainerShape ContainerShape_4()
            {
                if (_containerShape_4 != null) { return _containerShape_4; }
                var result = _containerShape_4 = _c.CreateContainerShape();
                result.Scale = new Vector2(0F, 0F);
                result.Shapes.Add(ContainerShape_5());
                return result;
            }

            // - Layer aggregator
            // Layer: Handle 2
            CompositionContainerShape ContainerShape_5()
            {
                if (_containerShape_5 != null) { return _containerShape_5; }
                var result = _containerShape_5 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(16.25F, 16.25F);
                var shapes = result.Shapes;
                // Transforms: Handle 2
                shapes.Add(ContainerShape_6());
                // ShapeGroup: Group 1 Offset:<16.25, 16.25>
                shapes.Add(SpriteShape_7());
                // Transforms: Glass 2
                shapes.Add(ContainerShape_7());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 2
            // Transforms for Handle 2
            CompositionContainerShape ContainerShape_6()
            {
                if (_containerShape_6 != null) { return _containerShape_6; }
                var result = _containerShape_6 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(-8.92099953F, -8.92199993F);
                result.Offset = new Vector2(25.1709995F, 25.1720009F);
                var shapes = result.Shapes;
                // ShapeGroup: Group 2 Offset:<7.665, 7.665>
                shapes.Add(SpriteShape_5());
                // ShapeGroup: Group 1 Offset:<9.316, 9.317>
                shapes.Add(SpriteShape_6());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 2
            // Transforms for Glass 2
            CompositionContainerShape ContainerShape_7()
            {
                if (_containerShape_7 != null) { return _containerShape_7; }
                var result = _containerShape_7 = _c.CreateContainerShape();
                result.CenterPoint = new Vector2(13.25F, 13.25F);
                result.Offset = new Vector2(3F, 3F);
                // ShapeGroup: Group 1 Offset:<13.25, 13.25>
                result.Shapes.Add(SpriteShape_8());
                return result;
            }

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

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

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

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

            // - - - - Layer aggregator
            // - - - Layer: Handle 
            // - Transforms: Handle 
            // ShapeGroup: Group 2 Offset:<7.665, 7.665>
            CompositionPathGeometry PathGeometry_0()
            {
                if (_pathGeometry_0 != null) { return _pathGeometry_0; }
                var result = _pathGeometry_0 = _c.CreatePathGeometry();
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 
            // - Transforms: Handle 
            // ShapeGroup: Group 1 Offset:<9.316, 9.317>
            CompositionPathGeometry PathGeometry_1()
            {
                if (_pathGeometry_1 != null) { return _pathGeometry_1; }
                var result = _pathGeometry_1 = _c.CreatePathGeometry();
                return result;
            }

            CompositionPathGeometry PathGeometry_2()
            {
                return (_pathGeometry_2 == null)
                    ? _pathGeometry_2 = _c.CreatePathGeometry(new CompositionPath(Geometry_4()))
                    : _pathGeometry_2;
            }

            CompositionPathGeometry PathGeometry_3()
            {
                return (_pathGeometry_3 == null)
                    ? _pathGeometry_3 = _c.CreatePathGeometry(new CompositionPath(Geometry_5()))
                    : _pathGeometry_3;
            }

            // - Layer aggregator
            // Layer: Circle
            CompositionPathGeometry PathGeometry_4()
            {
                return _c.CreatePathGeometry(new CompositionPath(Geometry_6()));
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 2
            // - Transforms: Handle 2
            // ShapeGroup: Group 2 Offset:<7.665, 7.665>
            CompositionPathGeometry PathGeometry_5()
            {
                if (_pathGeometry_5 != null) { return _pathGeometry_5; }
                var result = _pathGeometry_5 = _c.CreatePathGeometry();
                return result;
            }

            // - - - - Layer aggregator
            // - - - Layer: Handle 2
            // - Transforms: Handle 2
            // ShapeGroup: Group 1 Offset:<9.316, 9.317>
            CompositionPathGeometry PathGeometry_6()
            {
                if (_pathGeometry_6 != null) { return _pathGeometry_6; }
                var result = _pathGeometry_6 = _c.CreatePathGeometry();
                return result;
            }

            // - Layer aggregator
            // Layer: Green circle
            CompositionPathGeometry PathGeometry_7()
            {
                if (_pathGeometry_7 != null) { return _pathGeometry_7; }
                var result = _pathGeometry_7 = _c.CreatePathGeometry(new CompositionPath(Geometry_7()));
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // Transforms: Handle 
            // Path 1
            CompositionSpriteShape SpriteShape_0()
            {
                // Offset:<7.665, 7.665>
                var geometry = PathGeometry_0();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 7.66499996F, 7.66499996F), ColorBrush_AlmostDimGray_FF606060());;
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // Transforms: Handle 
            // Path 1
            CompositionSpriteShape SpriteShape_1()
            {
                // Offset:<9.316, 9.317>
                var geometry = PathGeometry_1();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 9.31599998F, 9.31700039F), ColorBrush_AlmostDarkSlateGray_FF37464F());;
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 
            // Path 1
            CompositionSpriteShape SpriteShape_2()
            {
                // Offset:<16.25, 16.25>
                var geometry = PathGeometry_2();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 16.25F, 16.25F), AnimatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF());;
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // Transforms: Glass 
            // Path 1
            CompositionSpriteShape SpriteShape_3()
            {
                // Offset:<13.25, 13.25>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 13.25F, 13.25F), AnimatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC());;
                return result;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_4()
            {
                // Offset:<24, 24>
                var geometry = PathGeometry_4();
                if (_spriteShape_4 != null) { return _spriteShape_4; }
                var result = _spriteShape_4 = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 24F, 24F), ColorBrush_AlmostLightGray_FFCFD8DC());;
                result.Scale = new Vector2(0F, 0F);
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // Transforms: Handle 2
            // Path 1
            CompositionSpriteShape SpriteShape_5()
            {
                // Offset:<7.665, 7.665>
                var geometry = PathGeometry_5();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 7.66499996F, 7.66499996F), ColorBrush_AlmostDimGray_FF606060());;
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // Transforms: Handle 2
            // Path 1
            CompositionSpriteShape SpriteShape_6()
            {
                // Offset:<9.316, 9.317>
                var geometry = PathGeometry_6();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 9.31599998F, 9.31700039F), ColorBrush_AlmostDarkSlateGray_FF37464F());;
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 2
            // Path 1
            CompositionSpriteShape SpriteShape_7()
            {
                // Offset:<16.25, 16.25>
                var geometry = PathGeometry_2();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 16.25F, 16.25F), AnimatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060());;
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // Transforms: Glass 2
            // Path 1
            CompositionSpriteShape SpriteShape_8()
            {
                // Offset:<13.25, 13.25>
                var geometry = PathGeometry_3();
                var result = CreateSpriteShape(geometry, new Matrix3x2(1F, 0F, 0F, 1F, 13.25F, 13.25F), AnimatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6());;
                return result;
            }

            // Layer aggregator
            // Path 1
            CompositionSpriteShape SpriteShape_9()
            {
                // Offset:<24, 24>, Rotation:-90 degrees
                if (_spriteShape_9 != null) { return _spriteShape_9; }
                var result = _spriteShape_9 = CreateSpriteShape(PathGeometry_7(), new Matrix3x2(0F, -1F, 1F, 0F, 24F, 24F));;
                result.Scale = new Vector2(0F, 0F);
                result.StrokeBrush = ColorBrush_AlmostYellowGreen_FF7BB342();
                result.StrokeMiterLimit = 5F;
                result.StrokeThickness = 4F;
                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.333000004F, 0F), new Vector2(0.666999996F, 1F))
                    : _cubicBezierEasingFunction_0;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 
            // - - Transforms: Handle 
            // - ShapeGroup: Group 2 Offset:<7.665, 7.665>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_0()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_0(), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, Path_0(), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, Path_1(), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 
            // - - Transforms: Handle 
            // - ShapeGroup: Group 1 Offset:<9.316, 9.317>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_1()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_2(), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, Path_2(), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, Path_3(), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 2
            // - - Transforms: Handle 2
            // - ShapeGroup: Group 2 Offset:<7.665, 7.665>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_2()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_1(), StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, Path_1(), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, Path_0(), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - - - Layer aggregator
            // - - - - Layer: Handle 2
            // - - Transforms: Handle 2
            // - ShapeGroup: Group 1 Offset:<9.316, 9.317>
            // Path
            PathKeyFrameAnimation PathKeyFrameAnimation_3()
            {
                // Frame 0.
                var result = CreatePathKeyFrameAnimation(0F, Path_3(), StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, Path_3(), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, Path_2(), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // Transforms: Handle 
            // Rotation
            ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_0_to_45()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, 0F, StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, 0F, HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, 45F, _c.CreateCubicBezierEasingFunction(new Vector2(0.333000004F, 0F), new Vector2(0.833000004F, 0.833000004F)));
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // Transforms: Handle 2
            // Rotation
            ScalarKeyFrameAnimation RotationAngleInDegreesScalarAnimation_m45_to_0()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, -45F, StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, -45F, HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, 0F, _c.CreateCubicBezierEasingFunction(new Vector2(0.166999996F, 0.166999996F), new Vector2(0.666999996F, 1F)));
                return result;
            }

            // - - Layer aggregator
            // - Layer: Green circle
            // TrimEnd
            ScalarKeyFrameAnimation TrimEndScalarAnimation_0_to_1()
            {
                // Frame 0.
                var result = CreateScalarKeyFrameAnimation(0F, 0F, StepThenHoldEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, 0F, HoldThenStepEasingFunction());
                // Frame 19.
                result.InsertKeyFrame(0.678571403F, 1F, CubicBezierEasingFunction_0());
                return result;
            }

            // Layer aggregator
            ShapeVisual ShapeVisual_0()
            {
                var result = _c.CreateShapeVisual();
                result.Size = new Vector2(48F, 48F);
                var shapes = result.Shapes;
                // Layer: Handle
                shapes.Add(ContainerShape_0());
                // Layer: Circle
                shapes.Add(SpriteShape_4());
                // Layer: Handle 2
                shapes.Add(ContainerShape_4());
                // Layer: Green circle
                shapes.Add(SpriteShape_9());
                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: Handle 
            // Offset
            Vector2KeyFrameAnimation OffsetVector2Animation_0()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(3.75F, 3.75F), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, new Vector2(3.75F, 3.75F), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, new Vector2(7.75F, 7.75F), CubicBezierEasingFunction_0());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 2
            // Offset
            Vector2KeyFrameAnimation OffsetVector2Animation_1()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(7.75F, 7.75F), StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, new Vector2(7.75F, 7.75F), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, new Vector2(3.75F, 3.75F), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 
            // Transforms: Glass 
            // Scale
            Vector2KeyFrameAnimation ScaleVector2Animation_0()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(1F, 1F), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, new Vector2(0.985000014F, 0.985000014F), CubicBezierEasingFunction_0());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 
            // Scale
            Vector2KeyFrameAnimation ScaleVector2Animation_1()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(1F, 1F), StepThenHoldEasingFunction());
                // Frame 3.
                result.InsertKeyFrame(0.107142858F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, new Vector2(1.25F, 1.25F), CubicBezierEasingFunction_0());
                return result;
            }

            // - - - Layer aggregator
            // - - Layer: Handle 2
            // Transforms: Glass 2
            // Scale
            Vector2KeyFrameAnimation ScaleVector2Animation_2()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(0.985000014F, 0.985000014F), StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, new Vector2(0.985000014F, 0.985000014F), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, new Vector2(1F, 1F), CubicBezierEasingFunction_0());
                return result;
            }

            // - - Layer aggregator
            // - Layer: Handle 2
            // Scale
            Vector2KeyFrameAnimation ScaleVector2Animation_3()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(1.25F, 1.25F), StepThenHoldEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, new Vector2(1.25F, 1.25F), HoldThenStepEasingFunction());
                // Frame 25.
                result.InsertKeyFrame(0.892857134F, new Vector2(1F, 1F), CubicBezierEasingFunction_0());
                return result;
            }

            // - Layer aggregator
            // Layer: Handle
            Vector2KeyFrameAnimation ShapeVisibilityAnimation_0()
            {
                // Frame 0.
                var result = CreateVector2KeyFrameAnimation(0F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                return result;
            }

            Vector2KeyFrameAnimation ShapeVisibilityAnimation_1()
            {
                // Frame 0.
                if (_shapeVisibilityAnimation_1 != null) { return _shapeVisibilityAnimation_1; }
                var result = _shapeVisibilityAnimation_1 = CreateVector2KeyFrameAnimation(0F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                // Frame 8.
                result.InsertKeyFrame(0.285714298F, new Vector2(1F, 1F), HoldThenStepEasingFunction());
                // Frame 20.
                result.InsertKeyFrame(0.714285731F, new Vector2(0F, 0F), HoldThenStepEasingFunction());
                return result;
            }

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

            internal MDE_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_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC.StartAnimation("Color", ColorAnimation_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC(), AnimationController_0());
                _animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF.StartAnimation("Color", ColorAnimation_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF(), AnimationController_0());
                _animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6.StartAnimation("Color", ColorAnimation_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6(), AnimationController_0());
                _animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060.StartAnimation("Color", ColorAnimation_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060(), AnimationController_0());
                _containerShape_0.StartAnimation("Scale", ShapeVisibilityAnimation_0(), AnimationController_0());
                _containerShape_1.StartAnimation("Scale", ScaleVector2Animation_1(), AnimationController_0());
                _containerShape_1.StartAnimation("Offset", OffsetVector2Animation_0(), AnimationController_0());
                _containerShape_2.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_0_to_45(), AnimationController_0());
                _containerShape_3.StartAnimation("Scale", ScaleVector2Animation_0(), AnimationController_0());
                _containerShape_4.StartAnimation("Scale", ShapeVisibilityAnimation_2(), AnimationController_0());
                _containerShape_5.StartAnimation("Scale", ScaleVector2Animation_3(), AnimationController_0());
                _containerShape_5.StartAnimation("Offset", OffsetVector2Animation_1(), AnimationController_0());
                _containerShape_6.StartAnimation("RotationAngleInDegrees", RotationAngleInDegreesScalarAnimation_m45_to_0(), AnimationController_0());
                _containerShape_7.StartAnimation("Scale", ScaleVector2Animation_2(), AnimationController_0());
                _pathGeometry_0.StartAnimation("Path", PathKeyFrameAnimation_0(), AnimationController_0());
                _pathGeometry_1.StartAnimation("Path", PathKeyFrameAnimation_1(), AnimationController_0());
                _pathGeometry_5.StartAnimation("Path", PathKeyFrameAnimation_2(), AnimationController_0());
                _pathGeometry_6.StartAnimation("Path", PathKeyFrameAnimation_3(), AnimationController_0());
                _pathGeometry_7.StartAnimation("TrimEnd", TrimEndScalarAnimation_0_to_1(), AnimationController_0());
                _spriteShape_4.StartAnimation("Scale", ShapeVisibilityAnimation_1(), AnimationController_0());
                _spriteShape_9.StartAnimation("Scale", ShapeVisibilityAnimation_1(), AnimationController_0());
            }

            public void DestroyAnimations()
            {
                _animatedColorBrush_AlmostCornflowerBlue_FF63B5F6_to_AlmostLightGray_FFCFD8DC.StopAnimation("Color");
                _animatedColorBrush_AlmostDimGray_FF606060_to_AlmostLightGray_FFC4D4DF.StopAnimation("Color");
                _animatedColorBrush_AlmostLightGray_FFCFD8DC_to_AlmostCornflowerBlue_FF63B5F6.StopAnimation("Color");
                _animatedColorBrush_AlmostYellowGreen_FF7CB342_to_AlmostDimGray_FF606060.StopAnimation("Color");
                _containerShape_0.StopAnimation("Scale");
                _containerShape_1.StopAnimation("Scale");
                _containerShape_1.StopAnimation("Offset");
                _containerShape_2.StopAnimation("RotationAngleInDegrees");
                _containerShape_3.StopAnimation("Scale");
                _containerShape_4.StopAnimation("Scale");
                _containerShape_5.StopAnimation("Scale");
                _containerShape_5.StopAnimation("Offset");
                _containerShape_6.StopAnimation("RotationAngleInDegrees");
                _containerShape_7.StopAnimation("Scale");
                _pathGeometry_0.StopAnimation("Path");
                _pathGeometry_1.StopAnimation("Path");
                _pathGeometry_5.StopAnimation("Path");
                _pathGeometry_6.StopAnimation("Path");
                _pathGeometry_7.StopAnimation("TrimEnd");
                _spriteShape_4.StopAnimation("Scale");
                _spriteShape_9.StopAnimation("Scale");
            }

        }
    }
}
