(Int32 From:, Int32 March !!!:, Int32 Step:, Int32 Count:, Int32 To:, Boolean Closed Loop?, INode Pick Curve:, Single Start angle:, Single End angle:, TriMesh mesh, Int32 Align Axis:, Matrix modifierTransform) => 
  {
    Int32 _0One;// 30:MinusOne->2:One 294836
    Int32 _1Subtract;// 30:MinusOne->1:Subtract 294837
    Int32 _2Modulo;// 20:Modulo 294840
    Int32 _3Add;// 17:Add 294841
    Int32 _4One;// 26:MinusOne->2:One 294844
    Int32 _5Subtract;// 26:MinusOne->1:Subtract 294845
    Int32 _6One;// 15:MinusOne->2:One 294848
    Int32 _7Subtract;// 15:MinusOne->1:Subtract 294849
    Int32 _8Add;// 19:Add 294850
    Int32 _9Subtract;// 36:Subtract 294851
    Boolean _10LessThanOrEqual;// 31:Lesser->0:LessThanOrEqual 294854
    Int32 _11Pass-through: Int32;// 0:Pass-through: Int32 294857
    IArray[Int32] _12Generate;// 7:ArrayFromToStep->3:Generate 294861
    IArray[TriMesh] _71Pass-through: array;// 0:Pass-through: array 294970
    IArray[TriMesh] _72Map;// 6:SelectByIndex->2:Map 294972
    TriMesh _73CombineAllMeshes;// 12:CombineAllMeshes 294973
    _0One = One();
    _1Subtract = Subtract(From:, _0One);
    _2Modulo = Modulo(March !!!:, Step:);
    _3Add = Add(_1Subtract, _2Modulo);
    _4One = One();
    _5Subtract = Subtract(Count:, _4One);
    _6One = One();
    _7Subtract = Subtract(To:, _6One);
    _8Add = Add(_7Subtract, _2Modulo);
    _9Subtract = Subtract(_8Add, Step:);
    _10LessThanOrEqual = LessThanOrEqual(_5Subtract, _9Subtract);
    _11Pass-through: Int32 = if (_10LessThanOrEqual)
      {
        _5Subtract;
        }else
      {
        _9Subtract;
        };
    _12Generate = Generate(_3Add, (Int32 x0) => 
      {
        Boolean _0LessThanOrEqual;// 7:ArrayFromToStep->4:LessThanOrEqual 294859
        _0LessThanOrEqual = LessThanOrEqual(x0, _11Pass-through: Int32);
        _0LessThanOrEqual;
        }, (Int32 x0) => 
      {
        Int32 _0Add;// 7:ArrayFromToStep->5:Add 294860
        _0Add = Add(x0, Step:);
        _0Add;
        });
    _71Pass-through: array = if (Closed Loop?)
      {
        Int32 _15Pass-through: Int32;// 0:Pass-through: Int32 294873
        IArray[Single] _16RangeInclusiveFloat;// 4:SampleLerp->2:RangeInclusiveFloat 294909
        Single _17ToRadians;// 9:ToRadians 294870
        Single _18ToRadians;// 10:ToRadians 294872
        Func[Single, Matrix] _19Pass-through: function1;// 0:Pass-through: function1 294908
        IArray[Matrix] _20Map;// 4:SampleLerp->3:Map 294910
        IArray[Vector3] _21MeshVertices;// 2:DeformMeshPoints->0:MeshVertices 294932
        Vector3 _22XAxis;// 39:ChooseAxis->3:XAxis 294914
        IArray[Vector3] _23Unit;// 2:Array3->2:Unit 294920
        Vector3 _24YAxis;// 39:ChooseAxis->4:YAxis 294915
        IArray[Vector3] _25Append;// 2:Array3->3:Append 294921
        Vector3 _26ZAxis;// 39:ChooseAxis->5:ZAxis 294916
        IArray[Vector3] _27Append;// 2:Array3->6:Append 294922
        Vector3 _28At;// 39:ChooseAxis->1:At 294923
        Single _29Constant;// 0:Constant 294924
        Single _30ToRadians;// 43:ToRadians 294925
        Quaternion _31QuaternionFromDirectionAngle;// 40:QuaternionFromDirectionAngle 294926
        Func[Vector3, Vector3] _32Pass-through: function1;// 0:Pass-through: function1 294931
        IArray[Vector3] _33Map;// 2:DeformMeshPoints->1:Map 294933
        TriMesh _34SetMeshVertices;// 2:DeformMeshPoints->4:SetMeshVertices 294934
        Matrix _35ObjectTransformBeforeWSM;// 1:NodeTMInLocalSpace->3:ObjectTransformBeforeWSM 294948
        Matrix _36InvertMatrix;// 1:NodeTMInLocalSpace->2:InvertMatrix 294949
        Matrix _37Multiply;// 1:NodeTMInLocalSpace->4:Multiply 294950
        Vector3 _38GetMatrixTranslation;// 25:NodePositionInLocalSpace->3:GetMatrixTranslation 294951
        IArray[TriMesh] _39Map;// 21:Map 294960
        Int32 _40Count;// 3:LastIndex->2:Count 294963
        Int32 _41One;// 3:MinusOne->2:One 294965
        Int32 _42Subtract;// 3:MinusOne->1:Subtract 294966
        IArray[TriMesh] _43Take;// 34:DropLast->2:Take 294967
        _15Pass-through: Int32 = if (Closed Loop?)
          {
            Int32 _13One;// 35:PlusOne->1:One 294865
            Int32 _14Add;// 35:PlusOne->0:Add 294866
            _13One = One();
            _14Add = Add(Count:, _13One);
            _14Add;
            }else
          {
            Count:;
            };
        _16RangeInclusiveFloat = RangeInclusiveFloat(_15Pass-through: Int32);
        _17ToRadians = ToRadians(Start angle:);
        _18ToRadians = ToRadians(End angle:);
        _19Pass-through: function1 = (Single x0) => 
          {
            Vector3 _0YAxis;// 11:TransformOnCurve->15:YAxis 294881
            ShapeObject _1ShapeFromNode;// 3:LerpTangentOnCurve->3:ShapeFromNode 294884
            Single _2Constant;// 3:LerpTangentOnCurve->0:Constant 294885
            Single _3Add;// 3:LerpTangentOnCurve->2:Add 294886
            Vector3 _4LerpOnCurve;// 3:LerpTangentOnCurve->4:LerpOnCurve 294887
            Matrix _5ObjectTransform;// 3:LerpTangentOnCurve->6:ObjectTransform 294888
            Vector3 _6Transform;// 3:LerpTangentOnCurve->5:Transform 294889
            Single _7Subtract;// 3:LerpTangentOnCurve->8:Subtract 294890
            Vector3 _8LerpOnCurve;// 3:LerpTangentOnCurve->9:LerpOnCurve 294891
            Vector3 _9Transform;// 3:LerpTangentOnCurve->10:Transform 294892
            Vector3 _10Subtract;// 3:LerpTangentOnCurve->7:Subtract 294893
            Vector3 _11Cross;// 11:TransformOnCurve->17:Cross 294894
            Vector3 _12Normalize;// 11:TransformOnCurve->18:Normalize 294895
            Single _13AngleOfVectors;// 11:TransformOnCurve->16:AngleOfVectors 294896
            Quaternion _14QuaternionFromDirectionAngle;// 11:TransformOnCurve->11:QuaternionFromDirectionAngle 294897
            Matrix _15MatrixFromQuaternion;// 11:TransformOnCurve->22:MatrixFromQuaternion 294898
            Vector3 _16Normalize;// 11:TransformOnCurve->19:Normalize 294899
            Single _17FloatLerp;// 11:TransformOnCurve->14:FloatLerp 294900
            Quaternion _18QuaternionFromDirectionAngle;// 11:TransformOnCurve->0:QuaternionFromDirectionAngle 294901
            Matrix _19MatrixFromQuaternion;// 11:TransformOnCurve->20:MatrixFromQuaternion 294902
            Matrix _20Multiply;// 11:TransformOnCurve->21:Multiply 294903
            ShapeObject _21ShapeFromNode;// 11:TransformOnCurve->10:ShapeFromNode 294904
            Vector3 _22LerpOnCurve;// 11:TransformOnCurve->24:LerpOnCurve 294905
            Matrix _23SetMatrixTranslation;// 11:TransformOnCurve->4:SetMatrixTranslation 294906
            _0YAxis = YAxis();
            _1ShapeFromNode = ShapeFromNode(Pick Curve:);
            _2Constant = 0.001;
            _3Add = Add(x0, _2Constant);
            _4LerpOnCurve = LerpOnCurve(_1ShapeFromNode, _3Add);
            _5ObjectTransform = ObjectTransform(Pick Curve:);
            _6Transform = Transform(_4LerpOnCurve, _5ObjectTransform);
            _7Subtract = Subtract(x0, _2Constant);
            _8LerpOnCurve = LerpOnCurve(_1ShapeFromNode, _7Subtract);
            _9Transform = Transform(_8LerpOnCurve, _5ObjectTransform);
            _10Subtract = Subtract(_6Transform, _9Transform);
            _11Cross = Cross(_0YAxis, _10Subtract);
            _12Normalize = Normalize(_11Cross);
            _13AngleOfVectors = AngleOfVectors(_0YAxis, _10Subtract);
            _14QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_12Normalize, _13AngleOfVectors);
            _15MatrixFromQuaternion = MatrixFromQuaternion(_14QuaternionFromDirectionAngle);
            _16Normalize = Normalize(_10Subtract);
            _17FloatLerp = FloatLerp(_17ToRadians, _18ToRadians, x0);
            _18QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_16Normalize, _17FloatLerp);
            _19MatrixFromQuaternion = MatrixFromQuaternion(_18QuaternionFromDirectionAngle);
            _20Multiply = Multiply(_15MatrixFromQuaternion, _19MatrixFromQuaternion);
            _21ShapeFromNode = ShapeFromNode(Pick Curve:);
            _22LerpOnCurve = LerpOnCurve(_21ShapeFromNode, x0);
            _23SetMatrixTranslation = SetMatrixTranslation(_20Multiply, _22LerpOnCurve);
            _23SetMatrixTranslation;
            };
        _20Map = Map(_16RangeInclusiveFloat, _19Pass-through: function1);
        _21MeshVertices = MeshVertices(mesh);
        _22XAxis = XAxis();
        _23Unit = Unit(_22XAxis);
        _24YAxis = YAxis();
        _25Append = Append(_23Unit, _24YAxis);
        _26ZAxis = ZAxis();
        _27Append = Append(_25Append, _26ZAxis);
        _28At = At(_27Append, Align Axis:);
        _29Constant = 90;
        _30ToRadians = ToRadians(_29Constant);
        _31QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_28At, _30ToRadians);
        _32Pass-through: function1 = (Vector3 x0) => 
          {
            Vector3 _0Rotate;// 38:RotateMesh->3:Rotate 294929
            _0Rotate = Rotate(x0, _31QuaternionFromDirectionAngle);
            _0Rotate;
            };
        _33Map = Map(_21MeshVertices, _32Pass-through: function1);
        _34SetMeshVertices = SetMeshVertices(mesh, _33Map);
        _35ObjectTransformBeforeWSM = ObjectTransformBeforeWSM(Pick Curve:);
        _36InvertMatrix = InvertMatrix(modifierTransform);
        _37Multiply = Multiply(_35ObjectTransformBeforeWSM, _36InvertMatrix);
        _38GetMatrixTranslation = GetMatrixTranslation(_37Multiply);
        _39Map = Map(_20Map, (Matrix x0) => 
          {
            IArray[Vector3] _0MeshVertices;// 2:DeformMeshPoints->0:MeshVertices 294940
            Func[Vector3, Vector3] _1Pass-through: function1;// 0:Pass-through: function1 294939
            IArray[Vector3] _2Map;// 2:DeformMeshPoints->1:Map 294941
            TriMesh _3SetMeshVertices;// 2:DeformMeshPoints->4:SetMeshVertices 294942
            IArray[Vector3] _4MeshVertices;// 0:DeformMeshPoints->0:MeshVertices 294957
            Func[Vector3, Vector3] _5Pass-through: function1;// 0:Pass-through: function1 294956
            IArray[Vector3] _6Map;// 0:DeformMeshPoints->1:Map 294958
            TriMesh _7SetMeshVertices;// 0:DeformMeshPoints->4:SetMeshVertices 294959
            _0MeshVertices = MeshVertices(_34SetMeshVertices);
            _1Pass-through: function1 = (Vector3 x0) => 
              {
                Vector3 _0Transform;// 22:TransformMesh->0:Transform 294937
                _0Transform = Transform(x0, x0);
                _0Transform;
                };
            _2Map = Map(_0MeshVertices, _1Pass-through: function1);
            _3SetMeshVertices = SetMeshVertices(_34SetMeshVertices, _2Map);
            _4MeshVertices = MeshVertices(_3SetMeshVertices);
            _5Pass-through: function1 = (Vector3 x0) => 
              {
                Vector3 _0Add;// 27:OffsetMesh->2:Add 294954
                _0Add = Add(x0, _38GetMatrixTranslation);
                _0Add;
                };
            _6Map = Map(_4MeshVertices, _5Pass-through: function1);
            _7SetMeshVertices = SetMeshVertices(_3SetMeshVertices, _6Map);
            _7SetMeshVertices;
            });
        _40Count = Count(_39Map);
        _41One = One();
        _42Subtract = Subtract(_40Count, _41One);
        _43Take = Take(_39Map, _42Subtract);
        _43Take;
        }else
      {
        Int32 _46Pass-through: Int32;// 0:Pass-through: Int32 294873
        IArray[Single] _47RangeInclusiveFloat;// 4:SampleLerp->2:RangeInclusiveFloat 294909
        Single _48ToRadians;// 9:ToRadians 294870
        Single _49ToRadians;// 10:ToRadians 294872
        Func[Single, Matrix] _50Pass-through: function1;// 0:Pass-through: function1 294908
        IArray[Matrix] _51Map;// 4:SampleLerp->3:Map 294910
        IArray[Vector3] _52MeshVertices;// 2:DeformMeshPoints->0:MeshVertices 294932
        Vector3 _53XAxis;// 39:ChooseAxis->3:XAxis 294914
        IArray[Vector3] _54Unit;// 2:Array3->2:Unit 294920
        Vector3 _55YAxis;// 39:ChooseAxis->4:YAxis 294915
        IArray[Vector3] _56Append;// 2:Array3->3:Append 294921
        Vector3 _57ZAxis;// 39:ChooseAxis->5:ZAxis 294916
        IArray[Vector3] _58Append;// 2:Array3->6:Append 294922
        Vector3 _59At;// 39:ChooseAxis->1:At 294923
        Single _60Constant;// 0:Constant 294924
        Single _61ToRadians;// 43:ToRadians 294925
        Quaternion _62QuaternionFromDirectionAngle;// 40:QuaternionFromDirectionAngle 294926
        Func[Vector3, Vector3] _63Pass-through: function1;// 0:Pass-through: function1 294931
        IArray[Vector3] _64Map;// 2:DeformMeshPoints->1:Map 294933
        TriMesh _65SetMeshVertices;// 2:DeformMeshPoints->4:SetMeshVertices 294934
        Matrix _66ObjectTransformBeforeWSM;// 1:NodeTMInLocalSpace->3:ObjectTransformBeforeWSM 294948
        Matrix _67InvertMatrix;// 1:NodeTMInLocalSpace->2:InvertMatrix 294949
        Matrix _68Multiply;// 1:NodeTMInLocalSpace->4:Multiply 294950
        Vector3 _69GetMatrixTranslation;// 25:NodePositionInLocalSpace->3:GetMatrixTranslation 294951
        IArray[TriMesh] _70Map;// 21:Map 294960
        _46Pass-through: Int32 = if (Closed Loop?)
          {
            Int32 _44One;// 35:PlusOne->1:One 294865
            Int32 _45Add;// 35:PlusOne->0:Add 294866
            _44One = One();
            _45Add = Add(Count:, _44One);
            _45Add;
            }else
          {
            Count:;
            };
        _47RangeInclusiveFloat = RangeInclusiveFloat(_46Pass-through: Int32);
        _48ToRadians = ToRadians(Start angle:);
        _49ToRadians = ToRadians(End angle:);
        _50Pass-through: function1 = (Single x0) => 
          {
            Vector3 _0YAxis;// 11:TransformOnCurve->15:YAxis 294881
            ShapeObject _1ShapeFromNode;// 3:LerpTangentOnCurve->3:ShapeFromNode 294884
            Single _2Constant;// 3:LerpTangentOnCurve->0:Constant 294885
            Single _3Add;// 3:LerpTangentOnCurve->2:Add 294886
            Vector3 _4LerpOnCurve;// 3:LerpTangentOnCurve->4:LerpOnCurve 294887
            Matrix _5ObjectTransform;// 3:LerpTangentOnCurve->6:ObjectTransform 294888
            Vector3 _6Transform;// 3:LerpTangentOnCurve->5:Transform 294889
            Single _7Subtract;// 3:LerpTangentOnCurve->8:Subtract 294890
            Vector3 _8LerpOnCurve;// 3:LerpTangentOnCurve->9:LerpOnCurve 294891
            Vector3 _9Transform;// 3:LerpTangentOnCurve->10:Transform 294892
            Vector3 _10Subtract;// 3:LerpTangentOnCurve->7:Subtract 294893
            Vector3 _11Cross;// 11:TransformOnCurve->17:Cross 294894
            Vector3 _12Normalize;// 11:TransformOnCurve->18:Normalize 294895
            Single _13AngleOfVectors;// 11:TransformOnCurve->16:AngleOfVectors 294896
            Quaternion _14QuaternionFromDirectionAngle;// 11:TransformOnCurve->11:QuaternionFromDirectionAngle 294897
            Matrix _15MatrixFromQuaternion;// 11:TransformOnCurve->22:MatrixFromQuaternion 294898
            Vector3 _16Normalize;// 11:TransformOnCurve->19:Normalize 294899
            Single _17FloatLerp;// 11:TransformOnCurve->14:FloatLerp 294900
            Quaternion _18QuaternionFromDirectionAngle;// 11:TransformOnCurve->0:QuaternionFromDirectionAngle 294901
            Matrix _19MatrixFromQuaternion;// 11:TransformOnCurve->20:MatrixFromQuaternion 294902
            Matrix _20Multiply;// 11:TransformOnCurve->21:Multiply 294903
            ShapeObject _21ShapeFromNode;// 11:TransformOnCurve->10:ShapeFromNode 294904
            Vector3 _22LerpOnCurve;// 11:TransformOnCurve->24:LerpOnCurve 294905
            Matrix _23SetMatrixTranslation;// 11:TransformOnCurve->4:SetMatrixTranslation 294906
            _0YAxis = YAxis();
            _1ShapeFromNode = ShapeFromNode(Pick Curve:);
            _2Constant = 0.001;
            _3Add = Add(x0, _2Constant);
            _4LerpOnCurve = LerpOnCurve(_1ShapeFromNode, _3Add);
            _5ObjectTransform = ObjectTransform(Pick Curve:);
            _6Transform = Transform(_4LerpOnCurve, _5ObjectTransform);
            _7Subtract = Subtract(x0, _2Constant);
            _8LerpOnCurve = LerpOnCurve(_1ShapeFromNode, _7Subtract);
            _9Transform = Transform(_8LerpOnCurve, _5ObjectTransform);
            _10Subtract = Subtract(_6Transform, _9Transform);
            _11Cross = Cross(_0YAxis, _10Subtract);
            _12Normalize = Normalize(_11Cross);
            _13AngleOfVectors = AngleOfVectors(_0YAxis, _10Subtract);
            _14QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_12Normalize, _13AngleOfVectors);
            _15MatrixFromQuaternion = MatrixFromQuaternion(_14QuaternionFromDirectionAngle);
            _16Normalize = Normalize(_10Subtract);
            _17FloatLerp = FloatLerp(_48ToRadians, _49ToRadians, x0);
            _18QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_16Normalize, _17FloatLerp);
            _19MatrixFromQuaternion = MatrixFromQuaternion(_18QuaternionFromDirectionAngle);
            _20Multiply = Multiply(_15MatrixFromQuaternion, _19MatrixFromQuaternion);
            _21ShapeFromNode = ShapeFromNode(Pick Curve:);
            _22LerpOnCurve = LerpOnCurve(_21ShapeFromNode, x0);
            _23SetMatrixTranslation = SetMatrixTranslation(_20Multiply, _22LerpOnCurve);
            _23SetMatrixTranslation;
            };
        _51Map = Map(_47RangeInclusiveFloat, _50Pass-through: function1);
        _52MeshVertices = MeshVertices(mesh);
        _53XAxis = XAxis();
        _54Unit = Unit(_53XAxis);
        _55YAxis = YAxis();
        _56Append = Append(_54Unit, _55YAxis);
        _57ZAxis = ZAxis();
        _58Append = Append(_56Append, _57ZAxis);
        _59At = At(_58Append, Align Axis:);
        _60Constant = 90;
        _61ToRadians = ToRadians(_60Constant);
        _62QuaternionFromDirectionAngle = QuaternionFromDirectionAngle(_59At, _61ToRadians);
        _63Pass-through: function1 = (Vector3 x0) => 
          {
            Vector3 _0Rotate;// 38:RotateMesh->3:Rotate 294929
            _0Rotate = Rotate(x0, _62QuaternionFromDirectionAngle);
            _0Rotate;
            };
        _64Map = Map(_52MeshVertices, _63Pass-through: function1);
        _65SetMeshVertices = SetMeshVertices(mesh, _64Map);
        _66ObjectTransformBeforeWSM = ObjectTransformBeforeWSM(Pick Curve:);
        _67InvertMatrix = InvertMatrix(modifierTransform);
        _68Multiply = Multiply(_66ObjectTransformBeforeWSM, _67InvertMatrix);
        _69GetMatrixTranslation = GetMatrixTranslation(_68Multiply);
        _70Map = Map(_51Map, (Matrix x0) => 
          {
            IArray[Vector3] _0MeshVertices;// 2:DeformMeshPoints->0:MeshVertices 294940
            Func[Vector3, Vector3] _1Pass-through: function1;// 0:Pass-through: function1 294939
            IArray[Vector3] _2Map;// 2:DeformMeshPoints->1:Map 294941
            TriMesh _3SetMeshVertices;// 2:DeformMeshPoints->4:SetMeshVertices 294942
            IArray[Vector3] _4MeshVertices;// 0:DeformMeshPoints->0:MeshVertices 294957
            Func[Vector3, Vector3] _5Pass-through: function1;// 0:Pass-through: function1 294956
            IArray[Vector3] _6Map;// 0:DeformMeshPoints->1:Map 294958
            TriMesh _7SetMeshVertices;// 0:DeformMeshPoints->4:SetMeshVertices 294959
            _0MeshVertices = MeshVertices(_65SetMeshVertices);
            _1Pass-through: function1 = (Vector3 x0) => 
              {
                Vector3 _0Transform;// 22:TransformMesh->0:Transform 294937
                _0Transform = Transform(x0, x0);
                _0Transform;
                };
            _2Map = Map(_0MeshVertices, _1Pass-through: function1);
            _3SetMeshVertices = SetMeshVertices(_65SetMeshVertices, _2Map);
            _4MeshVertices = MeshVertices(_3SetMeshVertices);
            _5Pass-through: function1 = (Vector3 x0) => 
              {
                Vector3 _0Add;// 27:OffsetMesh->2:Add 294954
                _0Add = Add(x0, _69GetMatrixTranslation);
                _0Add;
                };
            _6Map = Map(_4MeshVertices, _5Pass-through: function1);
            _7SetMeshVertices = SetMeshVertices(_3SetMeshVertices, _6Map);
            _7SetMeshVertices;
            });
        _70Map;
        };
    _72Map = Map(_12Generate, (Int32 x0) => 
      {
        TriMesh _0At;// 6:SelectByIndex->3:At 294971
        _0At = At(_71Pass-through: array, x0);
        _0At;
        });
    _73CombineAllMeshes = CombineAllMeshes(_72Map);
    _73CombineAllMeshes;
    }