--// Local auxiliary functions - - - - - - - - - - - - - - - - - - - - - - - -

--// 1.	rename:					" -> '
--// 2. comment root compositions routines:
--//	"createComposition23_Near_sacrifice_place_B1 = function()", 
--//	"createComposition23_Near_sacrifice_place_B2 = function()",
--//	"createComposition23_Near_sacrifice_place_B1 = function()"
--// 2.1. remove dynamite sprite from exploding composition (with texture "dinamit_pl.png")
--// 3. add auxiliaru routines for managing animations: 
--		auxPlayAtSacrificePlaceAnimation(), 
--		auxGetAtSacrificePlaceAnimation(), 
--		auxCreateAtSacrificePlaceAnimations()
--// 4. replace CreateCompositionElement() with auxCreateCompositionElement() for some corrections ...
--// 5. extend following compositions duration: AntGroup1, AntGroup2

------------------------------------------------------------------------------
--
function auxPlayAtSacrificePlaceAnimation(compositionName)
    local composition = auxGetAtSacrificePlaceAnimation(compositionName);
    composition:SetVisible(true);
    composition:Play();
end

------------------------------------------------------------------------------
--
function auxHideAtSacrificePlaceAnimation(compositionName)
    local composition = auxGetAtSacrificePlaceAnimation(compositionName);
    composition:Stop();
    composition:SetVisible(false);
end

------------------------------------------------------------------------------
--
function auxGetAtSacrificePlaceAnimation(compositionName)
    assert(atSacrificePlaceCompositions ~= nil and compositionName ~= nil);
	assert(atSacrificePlaceCompositions[compositionName] ~= nil and 'Composition with specified name not exists !');

    return atSacrificePlaceCompositions[compositionName];
end

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
--

function CreateComposition(parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic)
    assert(parent ~= nil and compositionRoutine ~= nil and name ~= nil and z ~= nil and duration ~= nil);

    local element = compositionRoutine();
    element:SetName(name);
    element:SetHotSpot(hotSpotX,hotSpotY);
    element:SetXY(x, y);
    assert(z - parent:GetZ());
    element:SetZ(z - parent:GetZ());
    element:AttachTo(parent);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);
    
    if (isCyclic == true) then
        element:SetDuration(duration);
        element:SetCyclic(true);
	else
		element:SetDestroysOnEnd(false);
    end
	element:Stop();
    element:SetVisible(false);
    element:AssignClippingRect(parent);
	element:SetConsiderParentOpacity(true);

	return element;
end

-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
function auxCreateCompositionElement(resourceName)
	local element = CreateCompositionElement(resourceName);
    local texName = string.sub(resourceName, string.len('data/Texture/Scenes/24_AtSacrificePlace/Animations/') + 1);

    --// set up movign chains animation
	if (texName == 'MechanismZoom/Chain_[0000-0005].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 32,32);
		anim:SetFrames(6);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end
	--// set up binding chains animation
	if (texName == 'MechanismZoom/Rotate_[0000-0011].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 107,53);
		anim:SetFrames(12);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end


	--// set up flies animation
	if (texName == 'Env/Bug_fly[01-02].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 19,18);
		anim:SetFrames(2);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end
	--// set up a dragon fly animation
	if (texName == 'Env/DF1_[0000-0004].png') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 128,96);
		anim:SetFrames(5);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end
	--// set up ants animation
	if (texName == 'Env/Ant_comp') then
		local anim = element:GetTexture();
		anim:Stop();
		anim:SetTextureRect(0,0, 40,40);
		anim:SetFrames(4);
		anim:SetFrame(0);
		anim:SetSpeed(30.0);
		anim:SetMode(HGEANIM_FWD + HGEANIM_LOOP);
		anim:Play();
    end

    --// set additive alpha blending mode for light & flare objects without alpha chanel (*.jpg)
    if (texName == 'Env/EF_Dust_01.jpg' or
		texName == 'Env/EF_light02.jpg') then

        element:GetTexture():SetBlendMode(0);
    end
	return element;
end

------------------------------------------------------------------------------
--
function auxCreateAtSacrificePlaceAnimations(parent1, parent2, parent3)
    assert(parent1 ~= nil and parent2 ~= nil and parent3 ~= nil);

    atSacrificePlaceCompositions = {};
    local CreateAndRegisterComposition = function (parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic)
        local element = CreateComposition(parent, compositionRoutine, name, x,y,z, hotSpotX,hotSpotY, duration, isCyclic);
        atSacrificePlaceCompositions[element:GetName()] = element;
    end

	--// mechanism zoom
    CreateAndRegisterComposition(parent1, createCompositionMechanismAnimation,	'MechanismAnimation',	0,0,308, 320,240, 4, true);
	--// Env1
    CreateAndRegisterComposition(parent2, createCompositionEnvLight,	'EnvLight',		0,0,108, 512,384, 10, true);
    CreateAndRegisterComposition(parent2, createCompositionFly2,		'Fly2',			0,0,107, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionFly1,		'Fly1',			0,0,107, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionAntGroup2,	'AntGroup2',	0,0,106, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionAntGroup1,	'AntGroup1',	0,0,106, 512,384, 10, false);
    CreateAndRegisterComposition(parent2, createCompositionDragonfly,	'Dragonfly',	0,0,107, 512,384, 10, false);
	--// Env2
    CreateAndRegisterComposition(parent3, createCompositionL2Env2Light,	'L2Env2Light',	0,0,207, 512,384, 10, true);
    CreateAndRegisterComposition(parent3, createCompositionL2Fly1,		'L2Fly1',		0,0,207, 512,384, 10, false);
    CreateAndRegisterComposition(parent3, createCompositionL2Fly2,		'L2Fly2',		0,0,207, 512,384, 10, false);
end

------------------------------------------------------------------------------
-- mechanism zoom
--createCompositionRoot = function()
--
--    local compositionRoot = CreateCompositionSequence();
--    local compositionDuration = 4;
--    compositionRoot:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionMechanismAnimation();
--    element:SetName('Layer_1');
--    compositionRoot:AddElement(element);
--    element:SetHotSpot(320, 240);
--    element:SetParentElement(compositionRoot);
--    element:SetXY(320, 240);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 4);
--
--
--    effector:Play();
--
--    compositionRoot:Play();
--
--    return compositionRoot;
--end

createCompositionChain01 = function()

    local compositionChain01 = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionChain01:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_1');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, -6.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_2');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 25);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_3');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 56.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_4');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 88);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_5
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_5');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 120);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_6
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_6');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 152);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_7
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_7');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 183.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_8
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_8');
    compositionChain01:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain01);
    element:SetXY(439, 215);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();

    compositionChain01:Play();

    return compositionChain01;
end

createCompositionChain2 = function()

    local compositionChain2 = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionChain2:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_1');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(328.5, 5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.0236894343213);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_2');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(327.5, 36.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.0236894343213);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_3');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(325.5, 68);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.11427921813314);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_4');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(313.5, 90);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.98552814038063);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_5
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_5');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(285.5, 106);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(1.1339063919588);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_6
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_6');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(260.5, 122);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.87307136036043);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_7
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Chain_[0000-0005].png');
    element:SetName('Layer_7');
    compositionChain2:AddElement(element);
    element:SetHotSpot(16, 16);
    element:SetParentElement(compositionChain2);
    element:SetXY(251, 141);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0.07408292246438);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();

    compositionChain2:Play();

    return compositionChain2;
end

createCompositionGears = function()

    local compositionGears = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionGears:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear9.png');
    element:SetName('Layer_1');
    compositionGears:AddElement(element);
    element:SetHotSpot(33, 31);
    element:SetParentElement(compositionGears);
    element:SetXY(350, 363);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, -18.8495559);

    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear8.png');
    element:SetName('Layer_2');
    compositionGears:AddElement(element);
    element:SetHotSpot(53.5, 49);
    element:SetParentElement(compositionGears);
    element:SetXY(447, 333.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, 6.2831853);

    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear7.png');
    element:SetName('Layer_3');
    compositionGears:AddElement(element);
    element:SetHotSpot(40, 39);
    element:SetParentElement(compositionGears);
    element:SetXY(359, 330.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, 12.5663706);

    effector:Play();


    -- Layer Layer_4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear6.png');
    element:SetName('Layer_4');
    compositionGears:AddElement(element);
    element:SetHotSpot(48.5, 48.5);
    element:SetParentElement(compositionGears);
    element:SetXY(272.5, 187);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, -12.5663706);

    effector:Play();


    -- Layer Layer_5
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear5.png');
    element:SetName('Layer_5');
    compositionGears:AddElement(element);
    element:SetHotSpot(37, 34.5);
    element:SetParentElement(compositionGears);
    element:SetXY(397.5, 318);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, -12.5663706);

    effector:Play();


    -- Layer Layer_6
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear4.png');
    element:SetName('Layer_6');
    compositionGears:AddElement(element);
    element:SetHotSpot(52.5, 55);
    element:SetParentElement(compositionGears);
    element:SetXY(303, 253);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, 6.2831853);

    effector:Play();


    -- Layer Layer_7
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear3.png');
    element:SetName('Layer_7');
    compositionGears:AddElement(element);
    element:SetHotSpot(29, 28);
    element:SetParentElement(compositionGears);
    element:SetXY(272, 138);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, 12.5663706);

    effector:Play();


    -- Layer Layer_8
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear2.png');
    element:SetName('Layer_8');
    compositionGears:AddElement(element);
    element:SetHotSpot(34, 32);
    element:SetParentElement(compositionGears);
    element:SetXY(305.25, 73);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, -12.5663706);

    effector:Play();


    -- Layer Layer_9
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Gear1.png');
    element:SetName('Layer_9');
    compositionGears:AddElement(element);
    element:SetHotSpot(43.9375, 42.25);
    element:SetParentElement(compositionGears);
    element:SetXY(392, 364);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 3.96, -12.5663706);

    effector:Play();

    compositionGears:Play();

    return compositionGears;
end

createCompositionLeaver_turn = function()

    local compositionLeaver_turn = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionLeaver_turn:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Leaver.png');
    element:SetName('Layer_1');
    compositionLeaver_turn:AddElement(element);
    element:SetHotSpot(179, 48);
    element:SetParentElement(compositionLeaver_turn);
    element:SetXY(236.5, 256.5);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);

    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 0.36, -0.73519726421306);
    effector:SetKey(_TRACK_A, 0.44, -0.61898111340376);
    effector:SetKey(_TRACK_A, 0.52, -0.73519726421306);

    effector:Play();

    compositionLeaver_turn:Play();

    return compositionLeaver_turn;
end

createCompositionMechanismAnimation = function()

    local compositionMechanismAnimation = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionMechanismAnimation:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = createCompositionLeaver_turn();
    element:SetName('Layer_1');
    compositionMechanismAnimation:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionMechanismAnimation);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/LayerZ_01.png');
    element:SetName('Layer_2');
    compositionMechanismAnimation:AddElement(element);
    element:SetHotSpot(67.5, 93.5);
    element:SetParentElement(compositionMechanismAnimation);
    element:SetXY(317, 261);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);


    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/LayerZ_02.png');
    element:SetName('Layer_3');
    compositionMechanismAnimation:AddElement(element);
    element:SetHotSpot(105.5, 83);
    element:SetParentElement(compositionMechanismAnimation);
    element:SetXY(402.5, 338);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);


    effector:Play();


    -- Layer Layer_4
    local element = createCompositionPinionsAnim();
    element:SetName('Layer_4');
    compositionMechanismAnimation:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionMechanismAnimation);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_5
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/BG_zoom1.jpg');
    element:SetName('Layer_5');
    compositionMechanismAnimation:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionMechanismAnimation);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();

    compositionMechanismAnimation:Play();

    return compositionMechanismAnimation;
end

createCompositionPinionsAnim = function()

    local compositionPinionsAnim = CreateCompositionSequence();
    local compositionDuration = 4;
    compositionPinionsAnim:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = createCompositionChain01();
    element:SetName('Layer_1');
    compositionPinionsAnim:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionPinionsAnim);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/MechanismZoom/Rotate_[0000-0011].png');
    element:SetName('Layer_2');
    compositionPinionsAnim:AddElement(element);
    element:SetHotSpot(53.5, 26.5);
    element:SetParentElement(compositionPinionsAnim);
    element:SetXY(412, 251);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_3
    local element = createCompositionGears();
    element:SetName('Layer_3');
    compositionPinionsAnim:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionPinionsAnim);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();


    -- Layer Layer_4
    local element = createCompositionChain2();
    element:SetName('Layer_4');
    compositionPinionsAnim:AddElement(element);
    element:SetHotSpot(320, 240);
    element:SetParentElement(compositionPinionsAnim);
    element:SetXY(320, 240);

    element:SetScaleX(1);
    element:SetScaleY(1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 4);


    effector:Play();

    compositionPinionsAnim:Play();

    return compositionPinionsAnim;
end


------------------------------------------------------------------------------
-- Env1
--createCompositionzone_24_predm = function()
--
--    local compositionzone_24_predm = CreateCompositionSequence();
--    local compositionDuration = 10;
--    compositionzone_24_predm:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionFly2();
--    element:SetName('Layer_1');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_2
--    local element = createCompositionFly1();
--    element:SetName('Layer_2');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_3
--    local element = createCompositionAntGroup2();
--    element:SetName('Layer_3');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_4
--    local element = createCompositionAntGroup1();
--    element:SetName('Layer_4');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_5
--    local element = createCompositionEnvLight();
--    element:SetName('Layer_5');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_6
--    local element = createCompositionDragonfly();
--    element:SetName('Layer_6');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_7
--    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/zone_24_predm.jpg');
--    element:SetName('Layer_7');
--    compositionzone_24_predm:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_predm);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--    compositionzone_24_predm:Play();
--
--    return compositionzone_24_predm;
--end

createCompositionAntGroup1 = function()

    local compositionAntGroup1 = CreateCompositionSequence();
    local compositionDuration = 11.44; --10;
    compositionAntGroup1:SetDuration(compositionDuration);


    -- Layer Ant1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant1');
    compositionAntGroup1:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup1);

    effector = element:GetEffector();
    effector:SetLifeTime(1.44, 11.44);

    effector:SetKey(_TRACK_X, 1.44, 716.188110351563);
    effector:SetKey(_TRACK_Y, 1.44, 790.981185913086);
    effector:SetKey(_TRACK_X, 1.72, 716.188110351563);
    effector:SetKey(_TRACK_Y, 1.72, 739.481185913086);
    effector:SetKey(_TRACK_X, 2, 732.688110351563);
    effector:SetKey(_TRACK_Y, 2, 711.481185913086);
    effector:SetKey(_TRACK_X, 2.28, 755.188110351563);
    effector:SetKey(_TRACK_Y, 2.28, 695.981185913086);
    effector:SetKey(_TRACK_X, 2.56, 786.688110351563);
    effector:SetKey(_TRACK_Y, 2.56, 693.981185913086);
    effector:SetKey(_TRACK_X, 2.84, 830.688110351563);
    effector:SetKey(_TRACK_Y, 2.84, 703.981185913086);
    effector:SetKey(_TRACK_X, 3.12, 876.188110351563);
    effector:SetKey(_TRACK_Y, 3.12, 710.481185913086);
    effector:SetKey(_TRACK_X, 3.4, 919.188110351563);
    effector:SetKey(_TRACK_Y, 3.4, 707.981185913086);
    effector:SetKey(_TRACK_X, 3.68, 955.188110351563);
    effector:SetKey(_TRACK_Y, 3.68, 703.981185913086);
    effector:SetKey(_TRACK_X, 3.88, 961.188110351563);
    effector:SetKey(_TRACK_Y, 3.88, 680.981185913086);
    effector:SetKey(_TRACK_X, 4.12, 961.688110351563);
    effector:SetKey(_TRACK_Y, 4.12, 655.481185913086);
    effector:SetKey(_TRACK_X, 4.36, 945.688110351563);
    effector:SetKey(_TRACK_Y, 4.36, 636.981185913086);
    effector:SetKey(_TRACK_X, 4.6, 922.188110351563);
    effector:SetKey(_TRACK_Y, 4.6, 628.481185913086);
    effector:SetKey(_TRACK_X, 4.84, 906.188110351563);
    effector:SetKey(_TRACK_Y, 4.84, 608.481185913086);
    effector:SetKey(_TRACK_X, 5.08, 893.188110351563);
    effector:SetKey(_TRACK_Y, 5.08, 589.481185913086);
    effector:SetKey(_TRACK_X, 5.36, 875.188110351563);
    effector:SetKey(_TRACK_Y, 5.36, 575.481185913086);
    effector:SetKey(_TRACK_X, 5.6, 854.688110351563);
    effector:SetKey(_TRACK_Y, 5.6, 570.481185913086);
    effector:SetKey(_TRACK_X, 5.88, 839.188110351563);
    effector:SetKey(_TRACK_Y, 5.88, 555.481185913086);
    effector:SetKey(_TRACK_X, 6.12, 833.188110351563);
    effector:SetKey(_TRACK_Y, 6.12, 534.481185913086);
    effector:SetKey(_TRACK_X, 6.36, 818.688110351563);
    effector:SetKey(_TRACK_Y, 6.36, 517.481185913086);
    effector:SetKey(_TRACK_X, 6.56, 804.188110351563);
    effector:SetKey(_TRACK_Y, 6.56, 512.481185913086);
    effector:SetKey(_TRACK_X, 6.76, 794.938110351563);
    effector:SetKey(_TRACK_Y, 6.76, 503.481185913086);
    effector:SetKey(_TRACK_X, 7, 789.188110351563);
    effector:SetKey(_TRACK_Y, 7, 491.981185913086);
    effector:SetKey(_TRACK_X, 7.2, 782.938110351563);
    effector:SetKey(_TRACK_Y, 7.2, 482.481185913086);
    effector:SetKey(_TRACK_X, 7.44, 773.688110351563);
    effector:SetKey(_TRACK_Y, 7.44, 472.731185913086);
    effector:SetKey(_TRACK_X, 7.76, 773.688110351563);
    effector:SetKey(_TRACK_Y, 7.76, 472.731185913086);
    effector:SetKey(_TRACK_X, 7.96, 776.188110351563);
    effector:SetKey(_TRACK_Y, 7.96, 463.481185913086);
    effector:SetKey(_TRACK_X, 8.16, 787.938110351563);
    effector:SetKey(_TRACK_Y, 8.16, 459.981185913086);
    effector:SetKey(_TRACK_X, 8.32, 801.438110351563);
    effector:SetKey(_TRACK_Y, 8.32, 460.231185913086);
    effector:SetKey(_TRACK_X, 8.56, 816.438110351563);
    effector:SetKey(_TRACK_Y, 8.56, 453.231185913086);
    effector:SetKey(_TRACK_X, 8.84, 828.938110351563);
    effector:SetKey(_TRACK_Y, 8.84, 440.981185913086);
    effector:SetKey(_TRACK_X, 9.16, 839.188110351563);
    effector:SetKey(_TRACK_Y, 9.16, 430.731185913086);
    effector:SetKey(_TRACK_X, 9.4, 851.188110351563);
    effector:SetKey(_TRACK_Y, 9.4, 424.981185913086);
    effector:SetKey(_TRACK_X, 9.68, 869.188110351563);
    effector:SetKey(_TRACK_Y, 9.68, 422.731185913086);
    effector:SetKey(_TRACK_X, 9.92, 886.438110351563);
    effector:SetKey(_TRACK_Y, 9.92, 421.981185913086);
    effector:SetKey(_TRACK_X, 10.16, 903.938110351563);
    effector:SetKey(_TRACK_Y, 10.16, 421.981185913086);
    effector:SetKey(_TRACK_X, 10.4, 924.188110351563);
    effector:SetKey(_TRACK_Y, 10.4, 422.981185913086);
    effector:SetKey(_TRACK_X, 10.68, 946.938110351563);
    effector:SetKey(_TRACK_Y, 10.68, 424.731185913086);
    effector:SetKey(_TRACK_X, 10.92, 966.688110351563);
    effector:SetKey(_TRACK_Y, 10.92, 427.981185913086);
    effector:SetKey(_TRACK_X, 11.12, 985.688110351563);
    effector:SetKey(_TRACK_Y, 11.12, 432.731185913086);
    effector:SetKey(_TRACK_X, 11.32, 998.438110351563);
    effector:SetKey(_TRACK_Y, 11.32, 437.231185913086);
    effector:SetKey(_TRACK_SX, 1.44, 1);
    effector:SetKey(_TRACK_SY, 1.44, 1);
    effector:SetKey(_TRACK_SX, 7.44, 0.6);
    effector:SetKey(_TRACK_SY, 7.44, 0.6);
    effector:SetKey(_TRACK_SX, 7.76, 0.6);
    effector:SetKey(_TRACK_SY, 7.76, 0.6);
    effector:SetKey(_TRACK_A, 1.44, 0);
    effector:SetKey(_TRACK_A, 1.84, 0.52640295075483);
    effector:SetKey(_TRACK_A, 2.04, 0.87988497129581);
    effector:SetKey(_TRACK_A, 2.28, 1.32021381044466);
    effector:SetKey(_TRACK_A, 2.52, 1.65217222782945);
    effector:SetKey(_TRACK_A, 2.8, 1.82927676827317);
    effector:SetKey(_TRACK_A, 3.04, 1.73477494591995);
    effector:SetKey(_TRACK_A, 3.28, 1.58593341653394);
    effector:SetKey(_TRACK_A, 3.64, 1.32563148407006);
    effector:SetKey(_TRACK_A, 3.8, 0.29956875342401);
    effector:SetKey(_TRACK_A, 4, -0.10014444997691);
    effector:SetKey(_TRACK_A, 4.2, -0.72893931146291);
    effector:SetKey(_TRACK_A, 4.4, -1.16803629449082);
    effector:SetKey(_TRACK_A, 4.64, -0.886055299054);
    effector:SetKey(_TRACK_A, 4.88, -0.64458611398709);
    effector:SetKey(_TRACK_A, 5.2, -0.87387703077514);
    effector:SetKey(_TRACK_A, 5.4, -1.23370281025924);
    effector:SetKey(_TRACK_A, 5.68, -0.83010644005588);
    effector:SetKey(_TRACK_A, 5.96, -0.3755180570287);
    effector:SetKey(_TRACK_A, 6.24, -0.70712482733069);
    effector:SetKey(_TRACK_A, 6.48, -1.13914846903058);
    effector:SetKey(_TRACK_A, 6.76, -0.7102695202803);
    effector:SetKey(_TRACK_A, 7.12, -0.61451053696795);
    effector:SetKey(_TRACK_A, 7.52, -0.72510996175521);
    effector:SetKey(_TRACK_A, 7.76, -0.72510996175521);
    effector:SetKey(_TRACK_A, 7.96, 0.37199613824464);
    effector:SetKey(_TRACK_A, 8.16, 1.31850897092444);
    effector:SetKey(_TRACK_A, 8.48, 1.04125059141202);
    effector:SetKey(_TRACK_A, 8.68, 0.85599911808501);
    effector:SetKey(_TRACK_A, 9.24, 1.13476880870577);
    effector:SetKey(_TRACK_A, 9.6, 1.37710122336992);
    effector:SetKey(_TRACK_A, 10, 1.59104581589966);
    effector:SetKey(_TRACK_A, 10.72, 1.67955137841257);
    effector:SetKey(_TRACK_A, 11.2, 1.84924082497965);
    effector:SetKey(_TRACK_O, 1.44, 1);
    effector:SetKey(_TRACK_O, 11.28, 1);
    effector:SetKey(_TRACK_O, 11.36, 0);

    effector:Play();


    -- Layer Ant2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant2');
    compositionAntGroup1:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup1);

    effector = element:GetEffector();
    effector:SetLifeTime(1.04, 11.04);

    effector:SetKey(_TRACK_X, 1.04, 716.188110351563);
    effector:SetKey(_TRACK_Y, 1.04, 790.981185913086);
    effector:SetKey(_TRACK_X, 1.32, 716.188110351563);
    effector:SetKey(_TRACK_Y, 1.32, 739.481185913086);
    effector:SetKey(_TRACK_X, 1.6, 732.688110351563);
    effector:SetKey(_TRACK_Y, 1.6, 711.481185913086);
    effector:SetKey(_TRACK_X, 1.88, 755.188110351563);
    effector:SetKey(_TRACK_Y, 1.88, 695.981185913086);
    effector:SetKey(_TRACK_X, 2.16, 786.688110351563);
    effector:SetKey(_TRACK_Y, 2.16, 693.981185913086);
    effector:SetKey(_TRACK_X, 2.44, 830.688110351563);
    effector:SetKey(_TRACK_Y, 2.44, 703.981185913086);
    effector:SetKey(_TRACK_X, 2.72, 876.188110351563);
    effector:SetKey(_TRACK_Y, 2.72, 710.481185913086);
    effector:SetKey(_TRACK_X, 3, 919.188110351563);
    effector:SetKey(_TRACK_Y, 3, 707.981185913086);
    effector:SetKey(_TRACK_X, 3.28, 955.188110351563);
    effector:SetKey(_TRACK_Y, 3.28, 703.981185913086);
    effector:SetKey(_TRACK_X, 3.48, 961.188110351563);
    effector:SetKey(_TRACK_Y, 3.48, 680.981185913086);
    effector:SetKey(_TRACK_X, 3.72, 961.688110351563);
    effector:SetKey(_TRACK_Y, 3.72, 655.481185913086);
    effector:SetKey(_TRACK_X, 3.96, 945.688110351563);
    effector:SetKey(_TRACK_Y, 3.96, 636.981185913086);
    effector:SetKey(_TRACK_X, 4.2, 922.188110351563);
    effector:SetKey(_TRACK_Y, 4.2, 628.481185913086);
    effector:SetKey(_TRACK_X, 4.44, 906.188110351563);
    effector:SetKey(_TRACK_Y, 4.44, 608.481185913086);
    effector:SetKey(_TRACK_X, 4.68, 893.188110351563);
    effector:SetKey(_TRACK_Y, 4.68, 589.481185913086);
    effector:SetKey(_TRACK_X, 4.96, 875.188110351563);
    effector:SetKey(_TRACK_Y, 4.96, 575.481185913086);
    effector:SetKey(_TRACK_X, 5.2, 854.688110351563);
    effector:SetKey(_TRACK_Y, 5.2, 570.481185913086);
    effector:SetKey(_TRACK_X, 5.48, 839.188110351563);
    effector:SetKey(_TRACK_Y, 5.48, 555.481185913086);
    effector:SetKey(_TRACK_X, 5.72, 833.188110351563);
    effector:SetKey(_TRACK_Y, 5.72, 534.481185913086);
    effector:SetKey(_TRACK_X, 5.96, 818.688110351563);
    effector:SetKey(_TRACK_Y, 5.96, 517.481185913086);
    effector:SetKey(_TRACK_X, 6.16, 804.188110351563);
    effector:SetKey(_TRACK_Y, 6.16, 512.481185913086);
    effector:SetKey(_TRACK_X, 6.36, 794.938110351563);
    effector:SetKey(_TRACK_Y, 6.36, 503.481185913086);
    effector:SetKey(_TRACK_X, 6.6, 789.188110351563);
    effector:SetKey(_TRACK_Y, 6.6, 491.981185913086);
    effector:SetKey(_TRACK_X, 6.8, 782.938110351563);
    effector:SetKey(_TRACK_Y, 6.8, 482.481185913086);
    effector:SetKey(_TRACK_X, 7.04, 773.688110351563);
    effector:SetKey(_TRACK_Y, 7.04, 472.731185913086);
    effector:SetKey(_TRACK_X, 7.36, 773.688110351563);
    effector:SetKey(_TRACK_Y, 7.36, 472.731185913086);
    effector:SetKey(_TRACK_X, 7.56, 776.188110351563);
    effector:SetKey(_TRACK_Y, 7.56, 463.481185913086);
    effector:SetKey(_TRACK_X, 7.76, 787.938110351563);
    effector:SetKey(_TRACK_Y, 7.76, 459.981185913086);
    effector:SetKey(_TRACK_X, 7.92, 801.438110351563);
    effector:SetKey(_TRACK_Y, 7.92, 460.231185913086);
    effector:SetKey(_TRACK_X, 8.16, 816.438110351563);
    effector:SetKey(_TRACK_Y, 8.16, 453.231185913086);
    effector:SetKey(_TRACK_X, 8.44, 828.938110351563);
    effector:SetKey(_TRACK_Y, 8.44, 440.981185913086);
    effector:SetKey(_TRACK_X, 8.76, 839.188110351563);
    effector:SetKey(_TRACK_Y, 8.76, 430.731185913086);
    effector:SetKey(_TRACK_X, 9, 851.188110351563);
    effector:SetKey(_TRACK_Y, 9, 424.981185913086);
    effector:SetKey(_TRACK_X, 9.28, 869.188110351563);
    effector:SetKey(_TRACK_Y, 9.28, 422.731185913086);
    effector:SetKey(_TRACK_X, 9.52, 886.438110351563);
    effector:SetKey(_TRACK_Y, 9.52, 421.981185913086);
    effector:SetKey(_TRACK_X, 9.76, 903.938110351563);
    effector:SetKey(_TRACK_Y, 9.76, 421.981185913086);
    effector:SetKey(_TRACK_X, 10, 924.188110351563);
    effector:SetKey(_TRACK_Y, 10, 422.981185913086);
    effector:SetKey(_TRACK_X, 10.28, 946.938110351563);
    effector:SetKey(_TRACK_Y, 10.28, 424.731185913086);
    effector:SetKey(_TRACK_X, 10.52, 966.688110351563);
    effector:SetKey(_TRACK_Y, 10.52, 427.981185913086);
    effector:SetKey(_TRACK_X, 10.72, 985.688110351563);
    effector:SetKey(_TRACK_Y, 10.72, 432.731185913086);
    effector:SetKey(_TRACK_X, 10.92, 998.438110351563);
    effector:SetKey(_TRACK_Y, 10.92, 437.231185913086);
    effector:SetKey(_TRACK_SX, 1.04, 1);
    effector:SetKey(_TRACK_SY, 1.04, 1);
    effector:SetKey(_TRACK_SX, 7.04, 0.6);
    effector:SetKey(_TRACK_SY, 7.04, 0.6);
    effector:SetKey(_TRACK_SX, 7.36, 0.6);
    effector:SetKey(_TRACK_SY, 7.36, 0.6);
    effector:SetKey(_TRACK_A, 1.04, 0);
    effector:SetKey(_TRACK_A, 1.44, 0.52640295075483);
    effector:SetKey(_TRACK_A, 1.64, 0.87988497129581);
    effector:SetKey(_TRACK_A, 1.88, 1.32021381044466);
    effector:SetKey(_TRACK_A, 2.12, 1.65217222782945);
    effector:SetKey(_TRACK_A, 2.4, 1.82927676827317);
    effector:SetKey(_TRACK_A, 2.64, 1.73477494591995);
    effector:SetKey(_TRACK_A, 2.88, 1.58593341653394);
    effector:SetKey(_TRACK_A, 3.24, 1.32563148407006);
    effector:SetKey(_TRACK_A, 3.4, 0.29956875342401);
    effector:SetKey(_TRACK_A, 3.6, -0.10014444997691);
    effector:SetKey(_TRACK_A, 3.8, -0.72893931146291);
    effector:SetKey(_TRACK_A, 4, -1.16803629449082);
    effector:SetKey(_TRACK_A, 4.24, -0.886055299054);
    effector:SetKey(_TRACK_A, 4.48, -0.64458611398709);
    effector:SetKey(_TRACK_A, 4.8, -0.87387703077514);
    effector:SetKey(_TRACK_A, 5, -1.23370281025924);
    effector:SetKey(_TRACK_A, 5.28, -0.83010644005588);
    effector:SetKey(_TRACK_A, 5.56, -0.3755180570287);
    effector:SetKey(_TRACK_A, 5.84, -0.70712482733069);
    effector:SetKey(_TRACK_A, 6.08, -1.13914846903058);
    effector:SetKey(_TRACK_A, 6.36, -0.7102695202803);
    effector:SetKey(_TRACK_A, 6.72, -0.61451053696795);
    effector:SetKey(_TRACK_A, 7.12, -0.72510996175521);
    effector:SetKey(_TRACK_A, 7.36, -0.72510996175521);
    effector:SetKey(_TRACK_A, 7.56, 0.37199613824464);
    effector:SetKey(_TRACK_A, 7.76, 1.31850897092444);
    effector:SetKey(_TRACK_A, 8.08, 1.04125059141202);
    effector:SetKey(_TRACK_A, 8.28, 0.85599911808501);
    effector:SetKey(_TRACK_A, 8.84, 1.13476880870577);
    effector:SetKey(_TRACK_A, 9.2, 1.37710122336992);
    effector:SetKey(_TRACK_A, 9.6, 1.59104581589966);
    effector:SetKey(_TRACK_A, 10.32, 1.67955137841257);
    effector:SetKey(_TRACK_A, 10.8, 1.84924082497965);
    effector:SetKey(_TRACK_O, 1.04, 1);
    effector:SetKey(_TRACK_O, 10.88, 1);
    effector:SetKey(_TRACK_O, 10.96, 0);

    effector:Play();


    -- Layer Ant3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant3');
    compositionAntGroup1:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup1);

    effector = element:GetEffector();
    effector:SetLifeTime(0.64, 10.64);

    effector:SetKey(_TRACK_X, 0.64, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0.64, 790.981185913086);
    effector:SetKey(_TRACK_X, 0.92, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0.92, 739.481185913086);
    effector:SetKey(_TRACK_X, 1.2, 732.688110351563);
    effector:SetKey(_TRACK_Y, 1.2, 711.481185913086);
    effector:SetKey(_TRACK_X, 1.48, 755.188110351563);
    effector:SetKey(_TRACK_Y, 1.48, 695.981185913086);
    effector:SetKey(_TRACK_X, 1.76, 786.688110351563);
    effector:SetKey(_TRACK_Y, 1.76, 693.981185913086);
    effector:SetKey(_TRACK_X, 2.04, 830.688110351563);
    effector:SetKey(_TRACK_Y, 2.04, 703.981185913086);
    effector:SetKey(_TRACK_X, 2.32, 876.188110351563);
    effector:SetKey(_TRACK_Y, 2.32, 710.481185913086);
    effector:SetKey(_TRACK_X, 2.6, 919.188110351563);
    effector:SetKey(_TRACK_Y, 2.6, 707.981185913086);
    effector:SetKey(_TRACK_X, 2.88, 955.188110351563);
    effector:SetKey(_TRACK_Y, 2.88, 703.981185913086);
    effector:SetKey(_TRACK_X, 3.08, 961.188110351563);
    effector:SetKey(_TRACK_Y, 3.08, 680.981185913086);
    effector:SetKey(_TRACK_X, 3.32, 961.688110351563);
    effector:SetKey(_TRACK_Y, 3.32, 655.481185913086);
    effector:SetKey(_TRACK_X, 3.56, 945.688110351563);
    effector:SetKey(_TRACK_Y, 3.56, 636.981185913086);
    effector:SetKey(_TRACK_X, 3.8, 922.188110351563);
    effector:SetKey(_TRACK_Y, 3.8, 628.481185913086);
    effector:SetKey(_TRACK_X, 4.04, 906.188110351563);
    effector:SetKey(_TRACK_Y, 4.04, 608.481185913086);
    effector:SetKey(_TRACK_X, 4.28, 893.188110351563);
    effector:SetKey(_TRACK_Y, 4.28, 589.481185913086);
    effector:SetKey(_TRACK_X, 4.56, 875.188110351563);
    effector:SetKey(_TRACK_Y, 4.56, 575.481185913086);
    effector:SetKey(_TRACK_X, 4.8, 854.688110351563);
    effector:SetKey(_TRACK_Y, 4.8, 570.481185913086);
    effector:SetKey(_TRACK_X, 5.08, 839.188110351563);
    effector:SetKey(_TRACK_Y, 5.08, 555.481185913086);
    effector:SetKey(_TRACK_X, 5.32, 833.188110351563);
    effector:SetKey(_TRACK_Y, 5.32, 534.481185913086);
    effector:SetKey(_TRACK_X, 5.56, 818.688110351563);
    effector:SetKey(_TRACK_Y, 5.56, 517.481185913086);
    effector:SetKey(_TRACK_X, 5.76, 804.188110351563);
    effector:SetKey(_TRACK_Y, 5.76, 512.481185913086);
    effector:SetKey(_TRACK_X, 5.96, 794.938110351563);
    effector:SetKey(_TRACK_Y, 5.96, 503.481185913086);
    effector:SetKey(_TRACK_X, 6.2, 789.188110351563);
    effector:SetKey(_TRACK_Y, 6.2, 491.981185913086);
    effector:SetKey(_TRACK_X, 6.4, 782.938110351563);
    effector:SetKey(_TRACK_Y, 6.4, 482.481185913086);
    effector:SetKey(_TRACK_X, 6.64, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6.64, 472.731185913086);
    effector:SetKey(_TRACK_X, 6.96, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6.96, 472.731185913086);
    effector:SetKey(_TRACK_X, 7.16, 776.188110351563);
    effector:SetKey(_TRACK_Y, 7.16, 463.481185913086);
    effector:SetKey(_TRACK_X, 7.36, 787.938110351563);
    effector:SetKey(_TRACK_Y, 7.36, 459.981185913086);
    effector:SetKey(_TRACK_X, 7.52, 801.438110351563);
    effector:SetKey(_TRACK_Y, 7.52, 460.231185913086);
    effector:SetKey(_TRACK_X, 7.76, 816.438110351563);
    effector:SetKey(_TRACK_Y, 7.76, 453.231185913086);
    effector:SetKey(_TRACK_X, 8.04, 828.938110351563);
    effector:SetKey(_TRACK_Y, 8.04, 440.981185913086);
    effector:SetKey(_TRACK_X, 8.36, 839.188110351563);
    effector:SetKey(_TRACK_Y, 8.36, 430.731185913086);
    effector:SetKey(_TRACK_X, 8.6, 851.188110351563);
    effector:SetKey(_TRACK_Y, 8.6, 424.981185913086);
    effector:SetKey(_TRACK_X, 8.88, 869.188110351563);
    effector:SetKey(_TRACK_Y, 8.88, 422.731185913086);
    effector:SetKey(_TRACK_X, 9.12, 886.438110351563);
    effector:SetKey(_TRACK_Y, 9.12, 421.981185913086);
    effector:SetKey(_TRACK_X, 9.36, 903.938110351563);
    effector:SetKey(_TRACK_Y, 9.36, 421.981185913086);
    effector:SetKey(_TRACK_X, 9.6, 924.188110351563);
    effector:SetKey(_TRACK_Y, 9.6, 422.981185913086);
    effector:SetKey(_TRACK_X, 9.88, 946.938110351563);
    effector:SetKey(_TRACK_Y, 9.88, 424.731185913086);
    effector:SetKey(_TRACK_X, 10.12, 966.688110351563);
    effector:SetKey(_TRACK_Y, 10.12, 427.981185913086);
    effector:SetKey(_TRACK_X, 10.32, 985.688110351563);
    effector:SetKey(_TRACK_Y, 10.32, 432.731185913086);
    effector:SetKey(_TRACK_X, 10.52, 998.438110351563);
    effector:SetKey(_TRACK_Y, 10.52, 437.231185913086);
    effector:SetKey(_TRACK_SX, 0.64, 1);
    effector:SetKey(_TRACK_SY, 0.64, 1);
    effector:SetKey(_TRACK_SX, 6.64, 0.6);
    effector:SetKey(_TRACK_SY, 6.64, 0.6);
    effector:SetKey(_TRACK_SX, 6.96, 0.6);
    effector:SetKey(_TRACK_SY, 6.96, 0.6);
    effector:SetKey(_TRACK_A, 0.64, 0);
    effector:SetKey(_TRACK_A, 1.04, 0.52640295075483);
    effector:SetKey(_TRACK_A, 1.24, 0.87988497129581);
    effector:SetKey(_TRACK_A, 1.48, 1.32021381044466);
    effector:SetKey(_TRACK_A, 1.72, 1.65217222782945);
    effector:SetKey(_TRACK_A, 2, 1.82927676827317);
    effector:SetKey(_TRACK_A, 2.24, 1.73477494591995);
    effector:SetKey(_TRACK_A, 2.48, 1.58593341653394);
    effector:SetKey(_TRACK_A, 2.84, 1.32563148407006);
    effector:SetKey(_TRACK_A, 3, 0.29956875342401);
    effector:SetKey(_TRACK_A, 3.2, -0.10014444997691);
    effector:SetKey(_TRACK_A, 3.4, -0.72893931146291);
    effector:SetKey(_TRACK_A, 3.6, -1.16803629449082);
    effector:SetKey(_TRACK_A, 3.84, -0.886055299054);
    effector:SetKey(_TRACK_A, 4.08, -0.64458611398709);
    effector:SetKey(_TRACK_A, 4.4, -0.87387703077514);
    effector:SetKey(_TRACK_A, 4.6, -1.23370281025924);
    effector:SetKey(_TRACK_A, 4.88, -0.83010644005588);
    effector:SetKey(_TRACK_A, 5.16, -0.3755180570287);
    effector:SetKey(_TRACK_A, 5.44, -0.70712482733069);
    effector:SetKey(_TRACK_A, 5.68, -1.13914846903058);
    effector:SetKey(_TRACK_A, 5.96, -0.7102695202803);
    effector:SetKey(_TRACK_A, 6.32, -0.61451053696795);
    effector:SetKey(_TRACK_A, 6.72, -0.72510996175521);
    effector:SetKey(_TRACK_A, 6.96, -0.72510996175521);
    effector:SetKey(_TRACK_A, 7.16, 0.37199613824464);
    effector:SetKey(_TRACK_A, 7.36, 1.31850897092444);
    effector:SetKey(_TRACK_A, 7.68, 1.04125059141202);
    effector:SetKey(_TRACK_A, 7.88, 0.85599911808501);
    effector:SetKey(_TRACK_A, 8.44, 1.13476880870577);
    effector:SetKey(_TRACK_A, 8.8, 1.37710122336992);
    effector:SetKey(_TRACK_A, 9.2, 1.59104581589966);
    effector:SetKey(_TRACK_A, 9.92, 1.67955137841257);
    effector:SetKey(_TRACK_A, 10.4, 1.84924082497965);
    effector:SetKey(_TRACK_O, 0.64, 1);
    effector:SetKey(_TRACK_O, 10.48, 1);
    effector:SetKey(_TRACK_O, 10.56, 0);

    effector:Play();


    -- Layer Ant4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant4');
    compositionAntGroup1:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup1);

    effector = element:GetEffector();
    effector:SetLifeTime(0.24, 10.24);

    effector:SetKey(_TRACK_X, 0.24, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0.24, 790.981185913086);
    effector:SetKey(_TRACK_X, 0.52, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0.52, 739.481185913086);
    effector:SetKey(_TRACK_X, 0.8, 732.688110351563);
    effector:SetKey(_TRACK_Y, 0.8, 711.481185913086);
    effector:SetKey(_TRACK_X, 1.08, 755.188110351563);
    effector:SetKey(_TRACK_Y, 1.08, 695.981185913086);
    effector:SetKey(_TRACK_X, 1.36, 786.688110351563);
    effector:SetKey(_TRACK_Y, 1.36, 693.981185913086);
    effector:SetKey(_TRACK_X, 1.64, 830.688110351563);
    effector:SetKey(_TRACK_Y, 1.64, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.92, 876.188110351563);
    effector:SetKey(_TRACK_Y, 1.92, 710.481185913086);
    effector:SetKey(_TRACK_X, 2.2, 919.188110351563);
    effector:SetKey(_TRACK_Y, 2.2, 707.981185913086);
    effector:SetKey(_TRACK_X, 2.48, 955.188110351563);
    effector:SetKey(_TRACK_Y, 2.48, 703.981185913086);
    effector:SetKey(_TRACK_X, 2.68, 961.188110351563);
    effector:SetKey(_TRACK_Y, 2.68, 680.981185913086);
    effector:SetKey(_TRACK_X, 2.92, 961.688110351563);
    effector:SetKey(_TRACK_Y, 2.92, 655.481185913086);
    effector:SetKey(_TRACK_X, 3.16, 945.688110351563);
    effector:SetKey(_TRACK_Y, 3.16, 636.981185913086);
    effector:SetKey(_TRACK_X, 3.4, 922.188110351563);
    effector:SetKey(_TRACK_Y, 3.4, 628.481185913086);
    effector:SetKey(_TRACK_X, 3.64, 906.188110351563);
    effector:SetKey(_TRACK_Y, 3.64, 608.481185913086);
    effector:SetKey(_TRACK_X, 3.88, 893.188110351563);
    effector:SetKey(_TRACK_Y, 3.88, 589.481185913086);
    effector:SetKey(_TRACK_X, 4.16, 875.188110351563);
    effector:SetKey(_TRACK_Y, 4.16, 575.481185913086);
    effector:SetKey(_TRACK_X, 4.4, 854.688110351563);
    effector:SetKey(_TRACK_Y, 4.4, 570.481185913086);
    effector:SetKey(_TRACK_X, 4.68, 839.188110351563);
    effector:SetKey(_TRACK_Y, 4.68, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.92, 833.188110351563);
    effector:SetKey(_TRACK_Y, 4.92, 534.481185913086);
    effector:SetKey(_TRACK_X, 5.16, 818.688110351563);
    effector:SetKey(_TRACK_Y, 5.16, 517.481185913086);
    effector:SetKey(_TRACK_X, 5.36, 804.188110351563);
    effector:SetKey(_TRACK_Y, 5.36, 512.481185913086);
    effector:SetKey(_TRACK_X, 5.56, 794.938110351563);
    effector:SetKey(_TRACK_Y, 5.56, 503.481185913086);
    effector:SetKey(_TRACK_X, 5.8, 789.188110351563);
    effector:SetKey(_TRACK_Y, 5.8, 491.981185913086);
    effector:SetKey(_TRACK_X, 6, 782.938110351563);
    effector:SetKey(_TRACK_Y, 6, 482.481185913086);
    effector:SetKey(_TRACK_X, 6.24, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6.24, 472.731185913086);
    effector:SetKey(_TRACK_X, 6.56, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6.56, 472.731185913086);
    effector:SetKey(_TRACK_X, 6.76, 776.188110351563);
    effector:SetKey(_TRACK_Y, 6.76, 463.481185913086);
    effector:SetKey(_TRACK_X, 6.96, 787.938110351563);
    effector:SetKey(_TRACK_Y, 6.96, 459.981185913086);
    effector:SetKey(_TRACK_X, 7.12, 801.438110351563);
    effector:SetKey(_TRACK_Y, 7.12, 460.231185913086);
    effector:SetKey(_TRACK_X, 7.36, 816.438110351563);
    effector:SetKey(_TRACK_Y, 7.36, 453.231185913086);
    effector:SetKey(_TRACK_X, 7.64, 828.938110351563);
    effector:SetKey(_TRACK_Y, 7.64, 440.981185913086);
    effector:SetKey(_TRACK_X, 7.96, 839.188110351563);
    effector:SetKey(_TRACK_Y, 7.96, 430.731185913086);
    effector:SetKey(_TRACK_X, 8.2, 851.188110351563);
    effector:SetKey(_TRACK_Y, 8.2, 424.981185913086);
    effector:SetKey(_TRACK_X, 8.48, 869.188110351563);
    effector:SetKey(_TRACK_Y, 8.48, 422.731185913086);
    effector:SetKey(_TRACK_X, 8.72, 886.438110351563);
    effector:SetKey(_TRACK_Y, 8.72, 421.981185913086);
    effector:SetKey(_TRACK_X, 8.96, 903.938110351563);
    effector:SetKey(_TRACK_Y, 8.96, 421.981185913086);
    effector:SetKey(_TRACK_X, 9.2, 924.188110351563);
    effector:SetKey(_TRACK_Y, 9.2, 422.981185913086);
    effector:SetKey(_TRACK_X, 9.48, 946.938110351563);
    effector:SetKey(_TRACK_Y, 9.48, 424.731185913086);
    effector:SetKey(_TRACK_X, 9.72, 966.688110351563);
    effector:SetKey(_TRACK_Y, 9.72, 427.981185913086);
    effector:SetKey(_TRACK_X, 9.92, 985.688110351563);
    effector:SetKey(_TRACK_Y, 9.92, 432.731185913086);
    effector:SetKey(_TRACK_X, 10.12, 998.438110351563);
    effector:SetKey(_TRACK_Y, 10.12, 437.231185913086);
    effector:SetKey(_TRACK_SX, 0.24, 1);
    effector:SetKey(_TRACK_SY, 0.24, 1);
    effector:SetKey(_TRACK_SX, 6.24, 0.6);
    effector:SetKey(_TRACK_SY, 6.24, 0.6);
    effector:SetKey(_TRACK_SX, 6.56, 0.6);
    effector:SetKey(_TRACK_SY, 6.56, 0.6);
    effector:SetKey(_TRACK_A, 0.24, 0);
    effector:SetKey(_TRACK_A, 0.64, 0.52640295075483);
    effector:SetKey(_TRACK_A, 0.84, 0.87988497129581);
    effector:SetKey(_TRACK_A, 1.08, 1.32021381044466);
    effector:SetKey(_TRACK_A, 1.32, 1.65217222782945);
    effector:SetKey(_TRACK_A, 1.6, 1.82927676827317);
    effector:SetKey(_TRACK_A, 1.84, 1.73477494591995);
    effector:SetKey(_TRACK_A, 2.08, 1.58593341653394);
    effector:SetKey(_TRACK_A, 2.44, 1.32563148407006);
    effector:SetKey(_TRACK_A, 2.6, 0.29956875342401);
    effector:SetKey(_TRACK_A, 2.8, -0.10014444997691);
    effector:SetKey(_TRACK_A, 3, -0.72893931146291);
    effector:SetKey(_TRACK_A, 3.2, -1.16803629449082);
    effector:SetKey(_TRACK_A, 3.44, -0.886055299054);
    effector:SetKey(_TRACK_A, 3.68, -0.64458611398709);
    effector:SetKey(_TRACK_A, 4, -0.87387703077514);
    effector:SetKey(_TRACK_A, 4.2, -1.23370281025924);
    effector:SetKey(_TRACK_A, 4.48, -0.83010644005588);
    effector:SetKey(_TRACK_A, 4.76, -0.3755180570287);
    effector:SetKey(_TRACK_A, 5.04, -0.70712482733069);
    effector:SetKey(_TRACK_A, 5.28, -1.13914846903058);
    effector:SetKey(_TRACK_A, 5.56, -0.7102695202803);
    effector:SetKey(_TRACK_A, 5.92, -0.61451053696795);
    effector:SetKey(_TRACK_A, 6.32, -0.72510996175521);
    effector:SetKey(_TRACK_A, 6.56, -0.72510996175521);
    effector:SetKey(_TRACK_A, 6.76, 0.37199613824464);
    effector:SetKey(_TRACK_A, 6.96, 1.31850897092444);
    effector:SetKey(_TRACK_A, 7.28, 1.04125059141202);
    effector:SetKey(_TRACK_A, 7.48, 0.85599911808501);
    effector:SetKey(_TRACK_A, 8.04, 1.13476880870577);
    effector:SetKey(_TRACK_A, 8.4, 1.37710122336992);
    effector:SetKey(_TRACK_A, 8.8, 1.59104581589966);
    effector:SetKey(_TRACK_A, 9.52, 1.67955137841257);
    effector:SetKey(_TRACK_A, 10, 1.84924082497965);
    effector:SetKey(_TRACK_O, 0.24, 1);
    effector:SetKey(_TRACK_O, 10.08, 1);
    effector:SetKey(_TRACK_O, 10.16, 0);

    effector:Play();


    -- Layer Ant5
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant5');
    compositionAntGroup1:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0, 790.981185913086);
    effector:SetKey(_TRACK_X, 0.28, 716.188110351563);
    effector:SetKey(_TRACK_Y, 0.28, 739.481185913086);
    effector:SetKey(_TRACK_X, 0.56, 732.688110351563);
    effector:SetKey(_TRACK_Y, 0.56, 711.481185913086);
    effector:SetKey(_TRACK_X, 0.84, 755.188110351563);
    effector:SetKey(_TRACK_Y, 0.84, 695.981185913086);
    effector:SetKey(_TRACK_X, 1.12, 786.688110351563);
    effector:SetKey(_TRACK_Y, 1.12, 693.981185913086);
    effector:SetKey(_TRACK_X, 1.4, 830.688110351563);
    effector:SetKey(_TRACK_Y, 1.4, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.68, 876.188110351563);
    effector:SetKey(_TRACK_Y, 1.68, 710.481185913086);
    effector:SetKey(_TRACK_X, 1.96, 919.188110351563);
    effector:SetKey(_TRACK_Y, 1.96, 707.981185913086);
    effector:SetKey(_TRACK_X, 2.24, 955.188110351563);
    effector:SetKey(_TRACK_Y, 2.24, 703.981185913086);
    effector:SetKey(_TRACK_X, 2.44, 961.188110351563);
    effector:SetKey(_TRACK_Y, 2.44, 680.981185913086);
    effector:SetKey(_TRACK_X, 2.68, 961.688110351563);
    effector:SetKey(_TRACK_Y, 2.68, 655.481185913086);
    effector:SetKey(_TRACK_X, 2.92, 945.688110351563);
    effector:SetKey(_TRACK_Y, 2.92, 636.981185913086);
    effector:SetKey(_TRACK_X, 3.16, 922.188110351563);
    effector:SetKey(_TRACK_Y, 3.16, 628.481185913086);
    effector:SetKey(_TRACK_X, 3.4, 906.188110351563);
    effector:SetKey(_TRACK_Y, 3.4, 608.481185913086);
    effector:SetKey(_TRACK_X, 3.64, 893.188110351563);
    effector:SetKey(_TRACK_Y, 3.64, 589.481185913086);
    effector:SetKey(_TRACK_X, 3.92, 875.188110351563);
    effector:SetKey(_TRACK_Y, 3.92, 575.481185913086);
    effector:SetKey(_TRACK_X, 4.16, 854.688110351563);
    effector:SetKey(_TRACK_Y, 4.16, 570.481185913086);
    effector:SetKey(_TRACK_X, 4.44, 839.188110351563);
    effector:SetKey(_TRACK_Y, 4.44, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.68, 833.188110351563);
    effector:SetKey(_TRACK_Y, 4.68, 534.481185913086);
    effector:SetKey(_TRACK_X, 4.92, 818.688110351563);
    effector:SetKey(_TRACK_Y, 4.92, 517.481185913086);
    effector:SetKey(_TRACK_X, 5.12, 804.188110351563);
    effector:SetKey(_TRACK_Y, 5.12, 512.481185913086);
    effector:SetKey(_TRACK_X, 5.32, 794.938110351563);
    effector:SetKey(_TRACK_Y, 5.32, 503.481185913086);
    effector:SetKey(_TRACK_X, 5.56, 789.188110351563);
    effector:SetKey(_TRACK_Y, 5.56, 491.981185913086);
    effector:SetKey(_TRACK_X, 5.76, 782.938110351563);
    effector:SetKey(_TRACK_Y, 5.76, 482.481185913086);
    effector:SetKey(_TRACK_X, 6, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6, 472.731185913086);
    effector:SetKey(_TRACK_X, 6.32, 773.688110351563);
    effector:SetKey(_TRACK_Y, 6.32, 472.731185913086);
    effector:SetKey(_TRACK_X, 6.52, 776.188110351563);
    effector:SetKey(_TRACK_Y, 6.52, 463.481185913086);
    effector:SetKey(_TRACK_X, 6.72, 787.938110351563);
    effector:SetKey(_TRACK_Y, 6.72, 459.981185913086);
    effector:SetKey(_TRACK_X, 6.88, 801.438110351563);
    effector:SetKey(_TRACK_Y, 6.88, 460.231185913086);
    effector:SetKey(_TRACK_X, 7.12, 816.438110351563);
    effector:SetKey(_TRACK_Y, 7.12, 453.231185913086);
    effector:SetKey(_TRACK_X, 7.4, 828.938110351563);
    effector:SetKey(_TRACK_Y, 7.4, 440.981185913086);
    effector:SetKey(_TRACK_X, 7.72, 839.188110351563);
    effector:SetKey(_TRACK_Y, 7.72, 430.731185913086);
    effector:SetKey(_TRACK_X, 7.96, 851.188110351563);
    effector:SetKey(_TRACK_Y, 7.96, 424.981185913086);
    effector:SetKey(_TRACK_X, 8.24, 869.188110351563);
    effector:SetKey(_TRACK_Y, 8.24, 422.731185913086);
    effector:SetKey(_TRACK_X, 8.48, 886.438110351563);
    effector:SetKey(_TRACK_Y, 8.48, 421.981185913086);
    effector:SetKey(_TRACK_X, 8.72, 903.938110351563);
    effector:SetKey(_TRACK_Y, 8.72, 421.981185913086);
    effector:SetKey(_TRACK_X, 8.96, 924.188110351563);
    effector:SetKey(_TRACK_Y, 8.96, 422.981185913086);
    effector:SetKey(_TRACK_X, 9.24, 946.938110351563);
    effector:SetKey(_TRACK_Y, 9.24, 424.731185913086);
    effector:SetKey(_TRACK_X, 9.48, 966.688110351563);
    effector:SetKey(_TRACK_Y, 9.48, 427.981185913086);
    effector:SetKey(_TRACK_X, 9.68, 985.688110351563);
    effector:SetKey(_TRACK_Y, 9.68, 432.731185913086);
    effector:SetKey(_TRACK_X, 9.88, 998.438110351563);
    effector:SetKey(_TRACK_Y, 9.88, 437.231185913086);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 6, 0.6);
    effector:SetKey(_TRACK_SY, 6, 0.6);
    effector:SetKey(_TRACK_SX, 6.32, 0.6);
    effector:SetKey(_TRACK_SY, 6.32, 0.6);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 0.4, 0.52640295075483);
    effector:SetKey(_TRACK_A, 0.6, 0.87988497129581);
    effector:SetKey(_TRACK_A, 0.84, 1.32021381044466);
    effector:SetKey(_TRACK_A, 1.08, 1.65217222782945);
    effector:SetKey(_TRACK_A, 1.36, 1.82927676827317);
    effector:SetKey(_TRACK_A, 1.6, 1.73477494591995);
    effector:SetKey(_TRACK_A, 1.84, 1.58593341653394);
    effector:SetKey(_TRACK_A, 2.2, 1.32563148407006);
    effector:SetKey(_TRACK_A, 2.36, 0.29956875342401);
    effector:SetKey(_TRACK_A, 2.56, -0.10014444997691);
    effector:SetKey(_TRACK_A, 2.76, -0.72893931146291);
    effector:SetKey(_TRACK_A, 2.96, -1.16803629449082);
    effector:SetKey(_TRACK_A, 3.2, -0.886055299054);
    effector:SetKey(_TRACK_A, 3.44, -0.64458611398709);
    effector:SetKey(_TRACK_A, 3.76, -0.87387703077514);
    effector:SetKey(_TRACK_A, 3.96, -1.23370281025924);
    effector:SetKey(_TRACK_A, 4.24, -0.83010644005588);
    effector:SetKey(_TRACK_A, 4.52, -0.3755180570287);
    effector:SetKey(_TRACK_A, 4.8, -0.70712482733069);
    effector:SetKey(_TRACK_A, 5.04, -1.13914846903058);
    effector:SetKey(_TRACK_A, 5.32, -0.7102695202803);
    effector:SetKey(_TRACK_A, 5.68, -0.61451053696795);
    effector:SetKey(_TRACK_A, 6.08, -0.72510996175521);
    effector:SetKey(_TRACK_A, 6.32, -0.72510996175521);
    effector:SetKey(_TRACK_A, 6.52, 0.37199613824464);
    effector:SetKey(_TRACK_A, 6.72, 1.31850897092444);
    effector:SetKey(_TRACK_A, 7.04, 1.04125059141202);
    effector:SetKey(_TRACK_A, 7.24, 0.85599911808501);
    effector:SetKey(_TRACK_A, 7.8, 1.13476880870577);
    effector:SetKey(_TRACK_A, 8.16, 1.37710122336992);
    effector:SetKey(_TRACK_A, 8.56, 1.59104581589966);
    effector:SetKey(_TRACK_A, 9.28, 1.67955137841257);
    effector:SetKey(_TRACK_A, 9.76, 1.84924082497965);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 9.84, 1);
    effector:SetKey(_TRACK_O, 9.92, 0);

    effector:Play();

    compositionAntGroup1:Play();

    return compositionAntGroup1;
end

createCompositionAntGroup2 = function()

    local compositionAntGroup2 = CreateCompositionSequence();
    local compositionDuration = 10.72; --10;
    compositionAntGroup2:SetDuration(compositionDuration);


    -- Layer Ant1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant1');
    compositionAntGroup2:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup2);

    effector = element:GetEffector();
    effector:SetLifeTime(0.72, 10.72);

    effector:SetKey(_TRACK_X, 0.72, 272.438110351563);
    effector:SetKey(_TRACK_Y, 0.72, 791.981185913086);
    effector:SetKey(_TRACK_X, 1, 294.938110351563);
    effector:SetKey(_TRACK_Y, 1, 755.981185913086);
    effector:SetKey(_TRACK_X, 1.28, 294.438110351563);
    effector:SetKey(_TRACK_Y, 1.28, 720.981185913086);
    effector:SetKey(_TRACK_X, 1.48, 277.438110351563);
    effector:SetKey(_TRACK_Y, 1.48, 706.481185913086);
    effector:SetKey(_TRACK_X, 1.68, 254.938110351563);
    effector:SetKey(_TRACK_Y, 1.68, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.88, 233.938110351563);
    effector:SetKey(_TRACK_Y, 1.88, 708.481185913086);
    effector:SetKey(_TRACK_X, 2.04, 219.938110351563);
    effector:SetKey(_TRACK_Y, 2.04, 701.481185913086);
    effector:SetKey(_TRACK_X, 2.32, 210.438110351563);
    effector:SetKey(_TRACK_Y, 2.32, 661.481185913086);
    effector:SetKey(_TRACK_X, 2.56, 198.938110351563);
    effector:SetKey(_TRACK_Y, 2.56, 636.481185913086);
    effector:SetKey(_TRACK_X, 2.8, 189.438110351563);
    effector:SetKey(_TRACK_Y, 2.8, 608.481185913086);
    effector:SetKey(_TRACK_X, 3, 185.438110351563);
    effector:SetKey(_TRACK_Y, 3, 580.481185913086);
    effector:SetKey(_TRACK_X, 3.24, 168.438110351563);
    effector:SetKey(_TRACK_Y, 3.24, 557.481185913086);
    effector:SetKey(_TRACK_X, 3.44, 180.938110351563);
    effector:SetKey(_TRACK_Y, 3.44, 555.481185913086);
    effector:SetKey(_TRACK_X, 3.68, 193.438110351563);
    effector:SetKey(_TRACK_Y, 3.68, 543.981185913086);
    effector:SetKey(_TRACK_X, 3.84, 204.938110351563);
    effector:SetKey(_TRACK_Y, 3.84, 538.481185913086);
    effector:SetKey(_TRACK_X, 3.96, 212.938110351563);
    effector:SetKey(_TRACK_Y, 3.96, 541.981185913086);
    effector:SetKey(_TRACK_X, 4.2, 221.438110351563);
    effector:SetKey(_TRACK_Y, 4.2, 559.481185913086);
    effector:SetKey(_TRACK_X, 4.4, 235.938110351563);
    effector:SetKey(_TRACK_Y, 4.4, 560.981185913086);
    effector:SetKey(_TRACK_X, 4.6, 249.438110351563);
    effector:SetKey(_TRACK_Y, 4.6, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.8, 256.438110351563);
    effector:SetKey(_TRACK_Y, 4.8, 542.981185913086);
    effector:SetKey(_TRACK_X, 4.96, 255.438110351563);
    effector:SetKey(_TRACK_Y, 4.96, 530.981185913086);
    effector:SetKey(_TRACK_X, 5.2, 253.438110351563);
    effector:SetKey(_TRACK_Y, 5.2, 509.481185913086);
    effector:SetKey(_TRACK_X, 5.4, 244.688110351563);
    effector:SetKey(_TRACK_Y, 5.4, 498.981185913086);
    effector:SetKey(_TRACK_X, 5.6, 243.688110351563);
    effector:SetKey(_TRACK_Y, 5.6, 486.731185913086);
    effector:SetKey(_TRACK_X, 5.8, 250.938110351563);
    effector:SetKey(_TRACK_Y, 5.8, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.96, 259.188110351563);
    effector:SetKey(_TRACK_Y, 5.96, 484.481185913086);
    effector:SetKey(_TRACK_X, 6.12, 265.438110351563);
    effector:SetKey(_TRACK_Y, 6.12, 485.981185913086);
    effector:SetKey(_TRACK_X, 6.28, 270.188110351563);
    effector:SetKey(_TRACK_Y, 6.28, 483.481185913086);
    effector:SetKey(_TRACK_X, 6.44, 272.188110351563);
    effector:SetKey(_TRACK_Y, 6.44, 477.481185913086);
    effector:SetKey(_TRACK_X, 6.64, 271.188110351563);
    effector:SetKey(_TRACK_Y, 6.64, 470.231185913086);
    effector:SetKey(_TRACK_X, 6.8, 267.438110351563);
    effector:SetKey(_TRACK_Y, 6.8, 465.731185913086);
    effector:SetKey(_TRACK_X, 6.92, 269.188110351563);
    effector:SetKey(_TRACK_Y, 6.92, 461.481185913086);
    effector:SetKey(_TRACK_X, 7.04, 273.188110351563);
    effector:SetKey(_TRACK_Y, 7.04, 459.606185913086);
    effector:SetKey(_TRACK_X, 7.2, 272.063110351563);
    effector:SetKey(_TRACK_Y, 7.2, 456.481185913086);
    effector:SetKey(_TRACK_X, 7.32, 268.438110351563);
    effector:SetKey(_TRACK_Y, 7.32, 455.981185913086);
    effector:SetKey(_TRACK_X, 7.4, 265.688110351563);
    effector:SetKey(_TRACK_Y, 7.4, 454.981185913086);
    effector:SetKey(_TRACK_X, 7.48, 263.938110351563);
    effector:SetKey(_TRACK_Y, 7.48, 452.856185913086);
    effector:SetKey(_TRACK_X, 7.56, 264.438110351563);
    effector:SetKey(_TRACK_Y, 7.56, 451.106185913086);
    effector:SetKey(_TRACK_X, 8.12, 281.688110351563);
    effector:SetKey(_TRACK_Y, 8.12, 522.106185913086);
    effector:SetKey(_TRACK_X, 8.32, 271.688110351563);
    effector:SetKey(_TRACK_Y, 8.32, 520.856185913086);
    effector:SetKey(_TRACK_X, 8.48, 263.438110351563);
    effector:SetKey(_TRACK_Y, 8.48, 527.106185913086);
    effector:SetKey(_TRACK_X, 8.64, 261.188110351563);
    effector:SetKey(_TRACK_Y, 8.64, 538.106185913086);
    effector:SetKey(_TRACK_X, 8.8, 260.938110351563);
    effector:SetKey(_TRACK_Y, 8.8, 550.106185913086);
    effector:SetKey(_TRACK_X, 9, 266.938110351563);
    effector:SetKey(_TRACK_Y, 9, 560.606185913086);
    effector:SetKey(_TRACK_X, 9.2, 270.188110351563);
    effector:SetKey(_TRACK_Y, 9.2, 574.106185913086);
    effector:SetKey(_TRACK_X, 9.4, 268.188110351563);
    effector:SetKey(_TRACK_Y, 9.4, 585.606185913086);
    effector:SetKey(_TRACK_X, 9.6, 270.188110351563);
    effector:SetKey(_TRACK_Y, 9.6, 596.356185913086);
    effector:SetKey(_TRACK_X, 9.8, 276.938110351563);
    effector:SetKey(_TRACK_Y, 9.8, 601.606185913086);
    effector:SetKey(_TRACK_X, 10.04, 285.688110351563);
    effector:SetKey(_TRACK_Y, 10.04, 599.606185913086);
    effector:SetKey(_TRACK_X, 10.24, 294.438110351563);
    effector:SetKey(_TRACK_Y, 10.24, 600.606185913086);
    effector:SetKey(_TRACK_X, 10.44, 300.688110351563);
    effector:SetKey(_TRACK_Y, 10.44, 596.856185913086);
    effector:SetKey(_TRACK_X, 10.56, 299.065397744521);
    effector:SetKey(_TRACK_Y, 10.56, 592.984159523932);
    effector:SetKey(_TRACK_X, 10.68, 295.688110351563);
    effector:SetKey(_TRACK_Y, 10.68, 590.356185913086);
    effector:SetKey(_TRACK_SX, 0.72, 1);
    effector:SetKey(_TRACK_SY, 0.72, 1);
    effector:SetKey(_TRACK_SX, 1.6, 0.8);
    effector:SetKey(_TRACK_SY, 1.6, 0.8);
    effector:SetKey(_TRACK_SX, 2.04, 0.9);
    effector:SetKey(_TRACK_SY, 2.04, 0.9);
    effector:SetKey(_TRACK_SX, 3.24, 0.7);
    effector:SetKey(_TRACK_SY, 3.24, 0.7);
    effector:SetKey(_TRACK_SX, 3.88, 0.6);
    effector:SetKey(_TRACK_SY, 3.88, 0.6);
    effector:SetKey(_TRACK_SX, 4.72, 0.55);
    effector:SetKey(_TRACK_SY, 4.72, 0.55);
    effector:SetKey(_TRACK_SX, 5.72, 0.5);
    effector:SetKey(_TRACK_SY, 5.72, 0.5);
    effector:SetKey(_TRACK_SX, 7.56, 0.4);
    effector:SetKey(_TRACK_SY, 7.56, 0.4);
    effector:SetKey(_TRACK_SX, 8.12, 0.4);
    effector:SetKey(_TRACK_SY, 8.12, 0.4);
    effector:SetKey(_TRACK_SX, 8.8, 0.5);
    effector:SetKey(_TRACK_SY, 8.8, 0.5);
    effector:SetKey(_TRACK_SX, 9.84, 0.5);
    effector:SetKey(_TRACK_SY, 9.84, 0.5);
    effector:SetKey(_TRACK_SX, 10.68, 0.4);
    effector:SetKey(_TRACK_SY, 10.68, 0.4);
    effector:SetKey(_TRACK_A, 0.72, 0.40418479667059);
    effector:SetKey(_TRACK_A, 1.2, 0.00045868536578);
    effector:SetKey(_TRACK_A, 1.4, -0.96012795704324);
    effector:SetKey(_TRACK_A, 1.6, -1.51886701521242);
    effector:SetKey(_TRACK_A, 1.8, -1.93556061954033);
    effector:SetKey(_TRACK_A, 2, -0.74934464318566);
    effector:SetKey(_TRACK_A, 2.16, -0.12104144483249);
    effector:SetKey(_TRACK_A, 2.44, -0.42360370199566);
    effector:SetKey(_TRACK_A, 2.84, -0.25831053960432);
    effector:SetKey(_TRACK_A, 3.16, -0.62909326197463);
    effector:SetKey(_TRACK_A, 3.32, 1.41235212289283);
    effector:SetKey(_TRACK_A, 3.56, 0.81178799475256);
    effector:SetKey(_TRACK_A, 3.84, 1.56736214966186);
    effector:SetKey(_TRACK_A, 4.08, 2.62484162766825);
    effector:SetKey(_TRACK_A, 4.32, 1.74554035835883);
    effector:SetKey(_TRACK_A, 4.56, 0.98062492077537);
    effector:SetKey(_TRACK_A, 4.84, 0.0651229256023);
    effector:SetKey(_TRACK_A, 5.24, -0.54332013038282);
    effector:SetKey(_TRACK_A, 5.48, -0.02758854839683);
    effector:SetKey(_TRACK_A, 5.68, 1.0758428824383);
    effector:SetKey(_TRACK_A, 5.88, 1.84102173152511);
    effector:SetKey(_TRACK_A, 6.2, 1.19402277017351);
    effector:SetKey(_TRACK_A, 6.52, 0.06032276223992);
    effector:SetKey(_TRACK_A, 6.72, -0.56288232549117);
    effector:SetKey(_TRACK_A, 6.96, 0.84634731555463);
    effector:SetKey(_TRACK_A, 7.04, 0.29308832079149);
    effector:SetKey(_TRACK_A, 7.12, -0.38627834960681);
    effector:SetKey(_TRACK_A, 7.24, -1.26166089426086);
    effector:SetKey(_TRACK_A, 7.44, -0.82195385798563);
    effector:SetKey(_TRACK_A, 7.56, -0.12167662912804);
    effector:SetKey(_TRACK_A, 8.16, -1.50490788353462);
    effector:SetKey(_TRACK_A, 8.36, -2.02828760417203);
    effector:SetKey(_TRACK_A, 8.56, -2.83333959231691);
    effector:SetKey(_TRACK_A, 8.76, -3.16341755544791);
    effector:SetKey(_TRACK_A, 8.96, -3.72929077731663);
    effector:SetKey(_TRACK_A, 9.12, -3.48568328378841);
    effector:SetKey(_TRACK_A, 9.32, -2.85187471014332);
    effector:SetKey(_TRACK_A, 9.52, -3.27148465422362);
    effector:SetKey(_TRACK_A, 9.68, -3.96611497630803);
    effector:SetKey(_TRACK_A, 9.88, -5.0035541819765);
    effector:SetKey(_TRACK_A, 10.12, -4.59216735718226);
    effector:SetKey(_TRACK_A, 10.36, -5.19300682846925);
    effector:SetKey(_TRACK_A, 10.6, -6.67899210910465);
    effector:SetKey(_TRACK_A, 10.68, -7.09835356339817);
    effector:SetKey(_TRACK_O, 0.72, 1);
    effector:SetKey(_TRACK_O, 7.52, 1);
    effector:SetKey(_TRACK_O, 7.56, 0);
    effector:SetKey(_TRACK_O, 8.12, 0);
    effector:SetKey(_TRACK_O, 8.16, 1);
    effector:SetKey(_TRACK_O, 10.64, 1);
    effector:SetKey(_TRACK_O, 10.68, 0);

    effector:Play();


    -- Layer Ant2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant2');
    compositionAntGroup2:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup2);

    effector = element:GetEffector();
    effector:SetLifeTime(0.48, 10.48);

    effector:SetKey(_TRACK_X, 0.48, 272.438110351563);
    effector:SetKey(_TRACK_Y, 0.48, 791.981185913086);
    effector:SetKey(_TRACK_X, 0.76, 294.938110351563);
    effector:SetKey(_TRACK_Y, 0.76, 755.981185913086);
    effector:SetKey(_TRACK_X, 1.04, 294.438110351563);
    effector:SetKey(_TRACK_Y, 1.04, 720.981185913086);
    effector:SetKey(_TRACK_X, 1.24, 277.438110351563);
    effector:SetKey(_TRACK_Y, 1.24, 706.481185913086);
    effector:SetKey(_TRACK_X, 1.44, 254.938110351563);
    effector:SetKey(_TRACK_Y, 1.44, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.64, 233.938110351563);
    effector:SetKey(_TRACK_Y, 1.64, 708.481185913086);
    effector:SetKey(_TRACK_X, 1.8, 219.938110351563);
    effector:SetKey(_TRACK_Y, 1.8, 701.481185913086);
    effector:SetKey(_TRACK_X, 2.08, 210.438110351563);
    effector:SetKey(_TRACK_Y, 2.08, 661.481185913086);
    effector:SetKey(_TRACK_X, 2.32, 198.938110351563);
    effector:SetKey(_TRACK_Y, 2.32, 636.481185913086);
    effector:SetKey(_TRACK_X, 2.56, 189.438110351563);
    effector:SetKey(_TRACK_Y, 2.56, 608.481185913086);
    effector:SetKey(_TRACK_X, 2.76, 185.438110351563);
    effector:SetKey(_TRACK_Y, 2.76, 580.481185913086);
    effector:SetKey(_TRACK_X, 3, 168.438110351563);
    effector:SetKey(_TRACK_Y, 3, 557.481185913086);
    effector:SetKey(_TRACK_X, 3.2, 180.938110351563);
    effector:SetKey(_TRACK_Y, 3.2, 555.481185913086);
    effector:SetKey(_TRACK_X, 3.44, 193.438110351563);
    effector:SetKey(_TRACK_Y, 3.44, 543.981185913086);
    effector:SetKey(_TRACK_X, 3.6, 204.938110351563);
    effector:SetKey(_TRACK_Y, 3.6, 538.481185913086);
    effector:SetKey(_TRACK_X, 3.72, 212.938110351563);
    effector:SetKey(_TRACK_Y, 3.72, 541.981185913086);
    effector:SetKey(_TRACK_X, 3.96, 221.438110351563);
    effector:SetKey(_TRACK_Y, 3.96, 559.481185913086);
    effector:SetKey(_TRACK_X, 4.16, 235.938110351563);
    effector:SetKey(_TRACK_Y, 4.16, 560.981185913086);
    effector:SetKey(_TRACK_X, 4.36, 249.438110351563);
    effector:SetKey(_TRACK_Y, 4.36, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.56, 256.438110351563);
    effector:SetKey(_TRACK_Y, 4.56, 542.981185913086);
    effector:SetKey(_TRACK_X, 4.72, 255.438110351563);
    effector:SetKey(_TRACK_Y, 4.72, 530.981185913086);
    effector:SetKey(_TRACK_X, 4.96, 253.438110351563);
    effector:SetKey(_TRACK_Y, 4.96, 509.481185913086);
    effector:SetKey(_TRACK_X, 5.16, 244.688110351563);
    effector:SetKey(_TRACK_Y, 5.16, 498.981185913086);
    effector:SetKey(_TRACK_X, 5.36, 243.688110351563);
    effector:SetKey(_TRACK_Y, 5.36, 486.731185913086);
    effector:SetKey(_TRACK_X, 5.56, 250.938110351563);
    effector:SetKey(_TRACK_Y, 5.56, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.72, 259.188110351563);
    effector:SetKey(_TRACK_Y, 5.72, 484.481185913086);
    effector:SetKey(_TRACK_X, 5.88, 265.438110351563);
    effector:SetKey(_TRACK_Y, 5.88, 485.981185913086);
    effector:SetKey(_TRACK_X, 6.04, 270.188110351563);
    effector:SetKey(_TRACK_Y, 6.04, 483.481185913086);
    effector:SetKey(_TRACK_X, 6.2, 272.188110351563);
    effector:SetKey(_TRACK_Y, 6.2, 477.481185913086);
    effector:SetKey(_TRACK_X, 6.4, 271.188110351563);
    effector:SetKey(_TRACK_Y, 6.4, 470.231185913086);
    effector:SetKey(_TRACK_X, 6.56, 267.438110351563);
    effector:SetKey(_TRACK_Y, 6.56, 465.731185913086);
    effector:SetKey(_TRACK_X, 6.68, 269.188110351563);
    effector:SetKey(_TRACK_Y, 6.68, 461.481185913086);
    effector:SetKey(_TRACK_X, 6.8, 273.188110351563);
    effector:SetKey(_TRACK_Y, 6.8, 459.606185913086);
    effector:SetKey(_TRACK_X, 6.96, 272.063110351563);
    effector:SetKey(_TRACK_Y, 6.96, 456.481185913086);
    effector:SetKey(_TRACK_X, 7.08, 268.438110351563);
    effector:SetKey(_TRACK_Y, 7.08, 455.981185913086);
    effector:SetKey(_TRACK_X, 7.16, 265.688110351563);
    effector:SetKey(_TRACK_Y, 7.16, 454.981185913086);
    effector:SetKey(_TRACK_X, 7.24, 263.938110351563);
    effector:SetKey(_TRACK_Y, 7.24, 452.856185913086);
    effector:SetKey(_TRACK_X, 7.32, 264.438110351563);
    effector:SetKey(_TRACK_Y, 7.32, 451.106185913086);
    effector:SetKey(_TRACK_X, 7.88, 281.688110351563);
    effector:SetKey(_TRACK_Y, 7.88, 522.106185913086);
    effector:SetKey(_TRACK_X, 8.08, 271.688110351563);
    effector:SetKey(_TRACK_Y, 8.08, 520.856185913086);
    effector:SetKey(_TRACK_X, 8.24, 263.438110351563);
    effector:SetKey(_TRACK_Y, 8.24, 527.106185913086);
    effector:SetKey(_TRACK_X, 8.4, 261.188110351563);
    effector:SetKey(_TRACK_Y, 8.4, 538.106185913086);
    effector:SetKey(_TRACK_X, 8.56, 260.938110351563);
    effector:SetKey(_TRACK_Y, 8.56, 550.106185913086);
    effector:SetKey(_TRACK_X, 8.76, 266.938110351563);
    effector:SetKey(_TRACK_Y, 8.76, 560.606185913086);
    effector:SetKey(_TRACK_X, 8.96, 270.188110351563);
    effector:SetKey(_TRACK_Y, 8.96, 574.106185913086);
    effector:SetKey(_TRACK_X, 9.16, 268.188110351563);
    effector:SetKey(_TRACK_Y, 9.16, 585.606185913086);
    effector:SetKey(_TRACK_X, 9.36, 270.188110351563);
    effector:SetKey(_TRACK_Y, 9.36, 596.356185913086);
    effector:SetKey(_TRACK_X, 9.56, 276.938110351563);
    effector:SetKey(_TRACK_Y, 9.56, 601.606185913086);
    effector:SetKey(_TRACK_X, 9.8, 285.688110351563);
    effector:SetKey(_TRACK_Y, 9.8, 599.606185913086);
    effector:SetKey(_TRACK_X, 10, 294.438110351563);
    effector:SetKey(_TRACK_Y, 10, 600.606185913086);
    effector:SetKey(_TRACK_X, 10.2, 300.688110351563);
    effector:SetKey(_TRACK_Y, 10.2, 596.856185913086);
    effector:SetKey(_TRACK_X, 10.32, 299.065397744521);
    effector:SetKey(_TRACK_Y, 10.32, 592.984159523932);
    effector:SetKey(_TRACK_X, 10.44, 295.688110351563);
    effector:SetKey(_TRACK_Y, 10.44, 590.356185913086);
    effector:SetKey(_TRACK_SX, 0.48, 1);
    effector:SetKey(_TRACK_SY, 0.48, 1);
    effector:SetKey(_TRACK_SX, 1.36, 0.8);
    effector:SetKey(_TRACK_SY, 1.36, 0.8);
    effector:SetKey(_TRACK_SX, 1.8, 0.9);
    effector:SetKey(_TRACK_SY, 1.8, 0.9);
    effector:SetKey(_TRACK_SX, 3, 0.7);
    effector:SetKey(_TRACK_SY, 3, 0.7);
    effector:SetKey(_TRACK_SX, 3.64, 0.6);
    effector:SetKey(_TRACK_SY, 3.64, 0.6);
    effector:SetKey(_TRACK_SX, 4.48, 0.55);
    effector:SetKey(_TRACK_SY, 4.48, 0.55);
    effector:SetKey(_TRACK_SX, 5.48, 0.5);
    effector:SetKey(_TRACK_SY, 5.48, 0.5);
    effector:SetKey(_TRACK_SX, 7.32, 0.4);
    effector:SetKey(_TRACK_SY, 7.32, 0.4);
    effector:SetKey(_TRACK_SX, 7.88, 0.4);
    effector:SetKey(_TRACK_SY, 7.88, 0.4);
    effector:SetKey(_TRACK_SX, 8.56, 0.5);
    effector:SetKey(_TRACK_SY, 8.56, 0.5);
    effector:SetKey(_TRACK_SX, 9.6, 0.5);
    effector:SetKey(_TRACK_SY, 9.6, 0.5);
    effector:SetKey(_TRACK_SX, 10.44, 0.4);
    effector:SetKey(_TRACK_SY, 10.44, 0.4);
    effector:SetKey(_TRACK_A, 0.48, 0.40418479667059);
    effector:SetKey(_TRACK_A, 0.96, 0.00045868536578);
    effector:SetKey(_TRACK_A, 1.16, -0.96012795704324);
    effector:SetKey(_TRACK_A, 1.36, -1.51886701521242);
    effector:SetKey(_TRACK_A, 1.56, -1.93556061954033);
    effector:SetKey(_TRACK_A, 1.76, -0.74934464318566);
    effector:SetKey(_TRACK_A, 1.92, -0.12104144483249);
    effector:SetKey(_TRACK_A, 2.2, -0.42360370199566);
    effector:SetKey(_TRACK_A, 2.6, -0.25831053960432);
    effector:SetKey(_TRACK_A, 2.92, -0.62909326197463);
    effector:SetKey(_TRACK_A, 3.08, 1.41235212289283);
    effector:SetKey(_TRACK_A, 3.32, 0.81178799475256);
    effector:SetKey(_TRACK_A, 3.6, 1.56736214966186);
    effector:SetKey(_TRACK_A, 3.84, 2.62484162766825);
    effector:SetKey(_TRACK_A, 4.08, 1.74554035835883);
    effector:SetKey(_TRACK_A, 4.32, 0.98062492077537);
    effector:SetKey(_TRACK_A, 4.6, 0.0651229256023);
    effector:SetKey(_TRACK_A, 5, -0.54332013038282);
    effector:SetKey(_TRACK_A, 5.24, -0.02758854839683);
    effector:SetKey(_TRACK_A, 5.44, 1.0758428824383);
    effector:SetKey(_TRACK_A, 5.64, 1.84102173152511);
    effector:SetKey(_TRACK_A, 5.96, 1.19402277017351);
    effector:SetKey(_TRACK_A, 6.28, 0.06032276223992);
    effector:SetKey(_TRACK_A, 6.48, -0.56288232549117);
    effector:SetKey(_TRACK_A, 6.72, 0.84634731555463);
    effector:SetKey(_TRACK_A, 6.8, 0.29308832079149);
    effector:SetKey(_TRACK_A, 6.88, -0.38627834960681);
    effector:SetKey(_TRACK_A, 7, -1.26166089426086);
    effector:SetKey(_TRACK_A, 7.2, -0.82195385798563);
    effector:SetKey(_TRACK_A, 7.32, -0.12167662912804);
    effector:SetKey(_TRACK_A, 7.92, -1.50490788353462);
    effector:SetKey(_TRACK_A, 8.12, -2.02828760417203);
    effector:SetKey(_TRACK_A, 8.32, -2.83333959231691);
    effector:SetKey(_TRACK_A, 8.52, -3.16341755544791);
    effector:SetKey(_TRACK_A, 8.72, -3.72929077731663);
    effector:SetKey(_TRACK_A, 8.88, -3.48568328378841);
    effector:SetKey(_TRACK_A, 9.08, -2.85187471014332);
    effector:SetKey(_TRACK_A, 9.28, -3.27148465422362);
    effector:SetKey(_TRACK_A, 9.44, -3.96611497630803);
    effector:SetKey(_TRACK_A, 9.64, -5.0035541819765);
    effector:SetKey(_TRACK_A, 9.88, -4.59216735718226);
    effector:SetKey(_TRACK_A, 10.12, -5.19300682846925);
    effector:SetKey(_TRACK_A, 10.36, -6.67899210910465);
    effector:SetKey(_TRACK_A, 10.44, -7.09835356339817);
    effector:SetKey(_TRACK_O, 0.48, 1);
    effector:SetKey(_TRACK_O, 7.28, 1);
    effector:SetKey(_TRACK_O, 7.32, 0);
    effector:SetKey(_TRACK_O, 7.88, 0);
    effector:SetKey(_TRACK_O, 7.92, 1);
    effector:SetKey(_TRACK_O, 10.4, 1);
    effector:SetKey(_TRACK_O, 10.44, 0);

    effector:Play();


    -- Layer Ant3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant3');
    compositionAntGroup2:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup2);

    effector = element:GetEffector();
    effector:SetLifeTime(0.24, 10.24);

    effector:SetKey(_TRACK_X, 0.24, 272.438110351563);
    effector:SetKey(_TRACK_Y, 0.24, 791.981185913086);
    effector:SetKey(_TRACK_X, 0.52, 294.938110351563);
    effector:SetKey(_TRACK_Y, 0.52, 755.981185913086);
    effector:SetKey(_TRACK_X, 0.8, 294.438110351563);
    effector:SetKey(_TRACK_Y, 0.8, 720.981185913086);
    effector:SetKey(_TRACK_X, 1, 277.438110351563);
    effector:SetKey(_TRACK_Y, 1, 706.481185913086);
    effector:SetKey(_TRACK_X, 1.2, 254.938110351563);
    effector:SetKey(_TRACK_Y, 1.2, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.4, 233.938110351563);
    effector:SetKey(_TRACK_Y, 1.4, 708.481185913086);
    effector:SetKey(_TRACK_X, 1.56, 219.938110351563);
    effector:SetKey(_TRACK_Y, 1.56, 701.481185913086);
    effector:SetKey(_TRACK_X, 1.84, 210.438110351563);
    effector:SetKey(_TRACK_Y, 1.84, 661.481185913086);
    effector:SetKey(_TRACK_X, 2.08, 198.938110351563);
    effector:SetKey(_TRACK_Y, 2.08, 636.481185913086);
    effector:SetKey(_TRACK_X, 2.32, 189.438110351563);
    effector:SetKey(_TRACK_Y, 2.32, 608.481185913086);
    effector:SetKey(_TRACK_X, 2.52, 185.438110351563);
    effector:SetKey(_TRACK_Y, 2.52, 580.481185913086);
    effector:SetKey(_TRACK_X, 2.76, 168.438110351563);
    effector:SetKey(_TRACK_Y, 2.76, 557.481185913086);
    effector:SetKey(_TRACK_X, 2.96, 180.938110351563);
    effector:SetKey(_TRACK_Y, 2.96, 555.481185913086);
    effector:SetKey(_TRACK_X, 3.2, 193.438110351563);
    effector:SetKey(_TRACK_Y, 3.2, 543.981185913086);
    effector:SetKey(_TRACK_X, 3.36, 204.938110351563);
    effector:SetKey(_TRACK_Y, 3.36, 538.481185913086);
    effector:SetKey(_TRACK_X, 3.48, 212.938110351563);
    effector:SetKey(_TRACK_Y, 3.48, 541.981185913086);
    effector:SetKey(_TRACK_X, 3.72, 221.438110351563);
    effector:SetKey(_TRACK_Y, 3.72, 559.481185913086);
    effector:SetKey(_TRACK_X, 3.92, 235.938110351563);
    effector:SetKey(_TRACK_Y, 3.92, 560.981185913086);
    effector:SetKey(_TRACK_X, 4.12, 249.438110351563);
    effector:SetKey(_TRACK_Y, 4.12, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.32, 256.438110351563);
    effector:SetKey(_TRACK_Y, 4.32, 542.981185913086);
    effector:SetKey(_TRACK_X, 4.48, 255.438110351563);
    effector:SetKey(_TRACK_Y, 4.48, 530.981185913086);
    effector:SetKey(_TRACK_X, 4.72, 253.438110351563);
    effector:SetKey(_TRACK_Y, 4.72, 509.481185913086);
    effector:SetKey(_TRACK_X, 4.92, 244.688110351563);
    effector:SetKey(_TRACK_Y, 4.92, 498.981185913086);
    effector:SetKey(_TRACK_X, 5.12, 243.688110351563);
    effector:SetKey(_TRACK_Y, 5.12, 486.731185913086);
    effector:SetKey(_TRACK_X, 5.32, 250.938110351563);
    effector:SetKey(_TRACK_Y, 5.32, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.48, 259.188110351563);
    effector:SetKey(_TRACK_Y, 5.48, 484.481185913086);
    effector:SetKey(_TRACK_X, 5.64, 265.438110351563);
    effector:SetKey(_TRACK_Y, 5.64, 485.981185913086);
    effector:SetKey(_TRACK_X, 5.8, 270.188110351563);
    effector:SetKey(_TRACK_Y, 5.8, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.96, 272.188110351563);
    effector:SetKey(_TRACK_Y, 5.96, 477.481185913086);
    effector:SetKey(_TRACK_X, 6.16, 271.188110351563);
    effector:SetKey(_TRACK_Y, 6.16, 470.231185913086);
    effector:SetKey(_TRACK_X, 6.32, 267.438110351563);
    effector:SetKey(_TRACK_Y, 6.32, 465.731185913086);
    effector:SetKey(_TRACK_X, 6.44, 269.188110351563);
    effector:SetKey(_TRACK_Y, 6.44, 461.481185913086);
    effector:SetKey(_TRACK_X, 6.56, 273.188110351563);
    effector:SetKey(_TRACK_Y, 6.56, 459.606185913086);
    effector:SetKey(_TRACK_X, 6.72, 272.063110351563);
    effector:SetKey(_TRACK_Y, 6.72, 456.481185913086);
    effector:SetKey(_TRACK_X, 6.84, 268.438110351563);
    effector:SetKey(_TRACK_Y, 6.84, 455.981185913086);
    effector:SetKey(_TRACK_X, 6.92, 265.688110351563);
    effector:SetKey(_TRACK_Y, 6.92, 454.981185913086);
    effector:SetKey(_TRACK_X, 7, 263.938110351563);
    effector:SetKey(_TRACK_Y, 7, 452.856185913086);
    effector:SetKey(_TRACK_X, 7.08, 264.438110351563);
    effector:SetKey(_TRACK_Y, 7.08, 451.106185913086);
    effector:SetKey(_TRACK_X, 7.64, 281.688110351563);
    effector:SetKey(_TRACK_Y, 7.64, 522.106185913086);
    effector:SetKey(_TRACK_X, 7.84, 271.688110351563);
    effector:SetKey(_TRACK_Y, 7.84, 520.856185913086);
    effector:SetKey(_TRACK_X, 8, 263.438110351563);
    effector:SetKey(_TRACK_Y, 8, 527.106185913086);
    effector:SetKey(_TRACK_X, 8.16, 261.188110351563);
    effector:SetKey(_TRACK_Y, 8.16, 538.106185913086);
    effector:SetKey(_TRACK_X, 8.32, 260.938110351563);
    effector:SetKey(_TRACK_Y, 8.32, 550.106185913086);
    effector:SetKey(_TRACK_X, 8.52, 266.938110351563);
    effector:SetKey(_TRACK_Y, 8.52, 560.606185913086);
    effector:SetKey(_TRACK_X, 8.72, 270.188110351563);
    effector:SetKey(_TRACK_Y, 8.72, 574.106185913086);
    effector:SetKey(_TRACK_X, 8.92, 268.188110351563);
    effector:SetKey(_TRACK_Y, 8.92, 585.606185913086);
    effector:SetKey(_TRACK_X, 9.12, 270.188110351563);
    effector:SetKey(_TRACK_Y, 9.12, 596.356185913086);
    effector:SetKey(_TRACK_X, 9.32, 276.938110351563);
    effector:SetKey(_TRACK_Y, 9.32, 601.606185913086);
    effector:SetKey(_TRACK_X, 9.56, 285.688110351563);
    effector:SetKey(_TRACK_Y, 9.56, 599.606185913086);
    effector:SetKey(_TRACK_X, 9.76, 294.438110351563);
    effector:SetKey(_TRACK_Y, 9.76, 600.606185913086);
    effector:SetKey(_TRACK_X, 9.96, 300.688110351563);
    effector:SetKey(_TRACK_Y, 9.96, 596.856185913086);
    effector:SetKey(_TRACK_X, 10.08, 299.065397744521);
    effector:SetKey(_TRACK_Y, 10.08, 592.984159523932);
    effector:SetKey(_TRACK_X, 10.2, 295.688110351563);
    effector:SetKey(_TRACK_Y, 10.2, 590.356185913086);
    effector:SetKey(_TRACK_SX, 0.24, 1);
    effector:SetKey(_TRACK_SY, 0.24, 1);
    effector:SetKey(_TRACK_SX, 1.12, 0.8);
    effector:SetKey(_TRACK_SY, 1.12, 0.8);
    effector:SetKey(_TRACK_SX, 1.56, 0.9);
    effector:SetKey(_TRACK_SY, 1.56, 0.9);
    effector:SetKey(_TRACK_SX, 2.76, 0.7);
    effector:SetKey(_TRACK_SY, 2.76, 0.7);
    effector:SetKey(_TRACK_SX, 3.4, 0.6);
    effector:SetKey(_TRACK_SY, 3.4, 0.6);
    effector:SetKey(_TRACK_SX, 4.24, 0.55);
    effector:SetKey(_TRACK_SY, 4.24, 0.55);
    effector:SetKey(_TRACK_SX, 5.24, 0.5);
    effector:SetKey(_TRACK_SY, 5.24, 0.5);
    effector:SetKey(_TRACK_SX, 7.08, 0.4);
    effector:SetKey(_TRACK_SY, 7.08, 0.4);
    effector:SetKey(_TRACK_SX, 7.64, 0.4);
    effector:SetKey(_TRACK_SY, 7.64, 0.4);
    effector:SetKey(_TRACK_SX, 8.32, 0.5);
    effector:SetKey(_TRACK_SY, 8.32, 0.5);
    effector:SetKey(_TRACK_SX, 9.36, 0.5);
    effector:SetKey(_TRACK_SY, 9.36, 0.5);
    effector:SetKey(_TRACK_SX, 10.2, 0.4);
    effector:SetKey(_TRACK_SY, 10.2, 0.4);
    effector:SetKey(_TRACK_A, 0.24, 0.40418479667059);
    effector:SetKey(_TRACK_A, 0.72, 0.00045868536578);
    effector:SetKey(_TRACK_A, 0.92, -0.96012795704324);
    effector:SetKey(_TRACK_A, 1.12, -1.51886701521242);
    effector:SetKey(_TRACK_A, 1.32, -1.93556061954033);
    effector:SetKey(_TRACK_A, 1.52, -0.74934464318566);
    effector:SetKey(_TRACK_A, 1.68, -0.12104144483249);
    effector:SetKey(_TRACK_A, 1.96, -0.42360370199566);
    effector:SetKey(_TRACK_A, 2.36, -0.25831053960432);
    effector:SetKey(_TRACK_A, 2.68, -0.62909326197463);
    effector:SetKey(_TRACK_A, 2.84, 1.41235212289283);
    effector:SetKey(_TRACK_A, 3.08, 0.81178799475256);
    effector:SetKey(_TRACK_A, 3.36, 1.56736214966186);
    effector:SetKey(_TRACK_A, 3.6, 2.62484162766825);
    effector:SetKey(_TRACK_A, 3.84, 1.74554035835883);
    effector:SetKey(_TRACK_A, 4.08, 0.98062492077537);
    effector:SetKey(_TRACK_A, 4.36, 0.0651229256023);
    effector:SetKey(_TRACK_A, 4.76, -0.54332013038282);
    effector:SetKey(_TRACK_A, 5, -0.02758854839683);
    effector:SetKey(_TRACK_A, 5.2, 1.0758428824383);
    effector:SetKey(_TRACK_A, 5.4, 1.84102173152511);
    effector:SetKey(_TRACK_A, 5.72, 1.19402277017351);
    effector:SetKey(_TRACK_A, 6.04, 0.06032276223992);
    effector:SetKey(_TRACK_A, 6.24, -0.56288232549117);
    effector:SetKey(_TRACK_A, 6.48, 0.84634731555463);
    effector:SetKey(_TRACK_A, 6.56, 0.29308832079149);
    effector:SetKey(_TRACK_A, 6.64, -0.38627834960681);
    effector:SetKey(_TRACK_A, 6.76, -1.26166089426086);
    effector:SetKey(_TRACK_A, 6.96, -0.82195385798563);
    effector:SetKey(_TRACK_A, 7.08, -0.12167662912804);
    effector:SetKey(_TRACK_A, 7.68, -1.50490788353462);
    effector:SetKey(_TRACK_A, 7.88, -2.02828760417203);
    effector:SetKey(_TRACK_A, 8.08, -2.83333959231691);
    effector:SetKey(_TRACK_A, 8.28, -3.16341755544791);
    effector:SetKey(_TRACK_A, 8.48, -3.72929077731663);
    effector:SetKey(_TRACK_A, 8.64, -3.48568328378841);
    effector:SetKey(_TRACK_A, 8.84, -2.85187471014332);
    effector:SetKey(_TRACK_A, 9.04, -3.27148465422362);
    effector:SetKey(_TRACK_A, 9.2, -3.96611497630803);
    effector:SetKey(_TRACK_A, 9.4, -5.0035541819765);
    effector:SetKey(_TRACK_A, 9.64, -4.59216735718226);
    effector:SetKey(_TRACK_A, 9.88, -5.19300682846925);
    effector:SetKey(_TRACK_A, 10.12, -6.67899210910465);
    effector:SetKey(_TRACK_A, 10.2, -7.09835356339817);
    effector:SetKey(_TRACK_O, 0.24, 1);
    effector:SetKey(_TRACK_O, 7.04, 1);
    effector:SetKey(_TRACK_O, 7.08, 0);
    effector:SetKey(_TRACK_O, 7.64, 0);
    effector:SetKey(_TRACK_O, 7.68, 1);
    effector:SetKey(_TRACK_O, 10.16, 1);
    effector:SetKey(_TRACK_O, 10.2, 0);

    effector:Play();


    -- Layer Ant4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Ant_comp');
    element:SetName('Ant4');
    compositionAntGroup2:AddElement(element);
    element:SetHotSpot(20, 20);
    element:SetParentElement(compositionAntGroup2);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 272.438110351563);
    effector:SetKey(_TRACK_Y, 0, 791.981185913086);
    effector:SetKey(_TRACK_X, 0.28, 294.938110351563);
    effector:SetKey(_TRACK_Y, 0.28, 755.981185913086);
    effector:SetKey(_TRACK_X, 0.56, 294.438110351563);
    effector:SetKey(_TRACK_Y, 0.56, 720.981185913086);
    effector:SetKey(_TRACK_X, 0.76, 277.438110351563);
    effector:SetKey(_TRACK_Y, 0.76, 706.481185913086);
    effector:SetKey(_TRACK_X, 0.96, 254.938110351563);
    effector:SetKey(_TRACK_Y, 0.96, 703.981185913086);
    effector:SetKey(_TRACK_X, 1.16, 233.938110351563);
    effector:SetKey(_TRACK_Y, 1.16, 708.481185913086);
    effector:SetKey(_TRACK_X, 1.32, 219.938110351563);
    effector:SetKey(_TRACK_Y, 1.32, 701.481185913086);
    effector:SetKey(_TRACK_X, 1.6, 210.438110351563);
    effector:SetKey(_TRACK_Y, 1.6, 661.481185913086);
    effector:SetKey(_TRACK_X, 1.84, 198.938110351563);
    effector:SetKey(_TRACK_Y, 1.84, 636.481185913086);
    effector:SetKey(_TRACK_X, 2.08, 189.438110351563);
    effector:SetKey(_TRACK_Y, 2.08, 608.481185913086);
    effector:SetKey(_TRACK_X, 2.28, 185.438110351563);
    effector:SetKey(_TRACK_Y, 2.28, 580.481185913086);
    effector:SetKey(_TRACK_X, 2.52, 168.438110351563);
    effector:SetKey(_TRACK_Y, 2.52, 557.481185913086);
    effector:SetKey(_TRACK_X, 2.72, 180.938110351563);
    effector:SetKey(_TRACK_Y, 2.72, 555.481185913086);
    effector:SetKey(_TRACK_X, 2.96, 193.438110351563);
    effector:SetKey(_TRACK_Y, 2.96, 543.981185913086);
    effector:SetKey(_TRACK_X, 3.12, 204.938110351563);
    effector:SetKey(_TRACK_Y, 3.12, 538.481185913086);
    effector:SetKey(_TRACK_X, 3.24, 212.938110351563);
    effector:SetKey(_TRACK_Y, 3.24, 541.981185913086);
    effector:SetKey(_TRACK_X, 3.48, 221.438110351563);
    effector:SetKey(_TRACK_Y, 3.48, 559.481185913086);
    effector:SetKey(_TRACK_X, 3.68, 235.938110351563);
    effector:SetKey(_TRACK_Y, 3.68, 560.981185913086);
    effector:SetKey(_TRACK_X, 3.88, 249.438110351563);
    effector:SetKey(_TRACK_Y, 3.88, 555.481185913086);
    effector:SetKey(_TRACK_X, 4.08, 256.438110351563);
    effector:SetKey(_TRACK_Y, 4.08, 542.981185913086);
    effector:SetKey(_TRACK_X, 4.24, 255.438110351563);
    effector:SetKey(_TRACK_Y, 4.24, 530.981185913086);
    effector:SetKey(_TRACK_X, 4.48, 253.438110351563);
    effector:SetKey(_TRACK_Y, 4.48, 509.481185913086);
    effector:SetKey(_TRACK_X, 4.68, 244.688110351563);
    effector:SetKey(_TRACK_Y, 4.68, 498.981185913086);
    effector:SetKey(_TRACK_X, 4.88, 243.688110351563);
    effector:SetKey(_TRACK_Y, 4.88, 486.731185913086);
    effector:SetKey(_TRACK_X, 5.08, 250.938110351563);
    effector:SetKey(_TRACK_Y, 5.08, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.24, 259.188110351563);
    effector:SetKey(_TRACK_Y, 5.24, 484.481185913086);
    effector:SetKey(_TRACK_X, 5.4, 265.438110351563);
    effector:SetKey(_TRACK_Y, 5.4, 485.981185913086);
    effector:SetKey(_TRACK_X, 5.56, 270.188110351563);
    effector:SetKey(_TRACK_Y, 5.56, 483.481185913086);
    effector:SetKey(_TRACK_X, 5.72, 272.188110351563);
    effector:SetKey(_TRACK_Y, 5.72, 477.481185913086);
    effector:SetKey(_TRACK_X, 5.92, 271.188110351563);
    effector:SetKey(_TRACK_Y, 5.92, 470.231185913086);
    effector:SetKey(_TRACK_X, 6.08, 267.438110351563);
    effector:SetKey(_TRACK_Y, 6.08, 465.731185913086);
    effector:SetKey(_TRACK_X, 6.2, 269.188110351563);
    effector:SetKey(_TRACK_Y, 6.2, 461.481185913086);
    effector:SetKey(_TRACK_X, 6.32, 273.188110351563);
    effector:SetKey(_TRACK_Y, 6.32, 459.606185913086);
    effector:SetKey(_TRACK_X, 6.48, 272.063110351563);
    effector:SetKey(_TRACK_Y, 6.48, 456.481185913086);
    effector:SetKey(_TRACK_X, 6.6, 268.438110351563);
    effector:SetKey(_TRACK_Y, 6.6, 455.981185913086);
    effector:SetKey(_TRACK_X, 6.68, 265.688110351563);
    effector:SetKey(_TRACK_Y, 6.68, 454.981185913086);
    effector:SetKey(_TRACK_X, 6.76, 263.938110351563);
    effector:SetKey(_TRACK_Y, 6.76, 452.856185913086);
    effector:SetKey(_TRACK_X, 6.84, 264.438110351563);
    effector:SetKey(_TRACK_Y, 6.84, 451.106185913086);
    effector:SetKey(_TRACK_X, 7.4, 281.688110351563);
    effector:SetKey(_TRACK_Y, 7.4, 522.106185913086);
    effector:SetKey(_TRACK_X, 7.6, 271.688110351563);
    effector:SetKey(_TRACK_Y, 7.6, 520.856185913086);
    effector:SetKey(_TRACK_X, 7.76, 263.438110351563);
    effector:SetKey(_TRACK_Y, 7.76, 527.106185913086);
    effector:SetKey(_TRACK_X, 7.92, 261.188110351563);
    effector:SetKey(_TRACK_Y, 7.92, 538.106185913086);
    effector:SetKey(_TRACK_X, 8.08, 260.938110351563);
    effector:SetKey(_TRACK_Y, 8.08, 550.106185913086);
    effector:SetKey(_TRACK_X, 8.28, 266.938110351563);
    effector:SetKey(_TRACK_Y, 8.28, 560.606185913086);
    effector:SetKey(_TRACK_X, 8.48, 270.188110351563);
    effector:SetKey(_TRACK_Y, 8.48, 574.106185913086);
    effector:SetKey(_TRACK_X, 8.68, 268.188110351563);
    effector:SetKey(_TRACK_Y, 8.68, 585.606185913086);
    effector:SetKey(_TRACK_X, 8.88, 270.188110351563);
    effector:SetKey(_TRACK_Y, 8.88, 596.356185913086);
    effector:SetKey(_TRACK_X, 9.08, 276.938110351563);
    effector:SetKey(_TRACK_Y, 9.08, 601.606185913086);
    effector:SetKey(_TRACK_X, 9.32, 285.688110351563);
    effector:SetKey(_TRACK_Y, 9.32, 599.606185913086);
    effector:SetKey(_TRACK_X, 9.52, 294.438110351563);
    effector:SetKey(_TRACK_Y, 9.52, 600.606185913086);
    effector:SetKey(_TRACK_X, 9.72, 300.688110351563);
    effector:SetKey(_TRACK_Y, 9.72, 596.856185913086);
    effector:SetKey(_TRACK_X, 9.84, 299.065397744521);
    effector:SetKey(_TRACK_Y, 9.84, 592.984159523932);
    effector:SetKey(_TRACK_X, 9.96, 295.688110351563);
    effector:SetKey(_TRACK_Y, 9.96, 590.356185913086);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 0.88, 0.8);
    effector:SetKey(_TRACK_SY, 0.88, 0.8);
    effector:SetKey(_TRACK_SX, 1.32, 0.9);
    effector:SetKey(_TRACK_SY, 1.32, 0.9);
    effector:SetKey(_TRACK_SX, 2.52, 0.7);
    effector:SetKey(_TRACK_SY, 2.52, 0.7);
    effector:SetKey(_TRACK_SX, 3.16, 0.6);
    effector:SetKey(_TRACK_SY, 3.16, 0.6);
    effector:SetKey(_TRACK_SX, 4, 0.55);
    effector:SetKey(_TRACK_SY, 4, 0.55);
    effector:SetKey(_TRACK_SX, 5, 0.5);
    effector:SetKey(_TRACK_SY, 5, 0.5);
    effector:SetKey(_TRACK_SX, 6.84, 0.4);
    effector:SetKey(_TRACK_SY, 6.84, 0.4);
    effector:SetKey(_TRACK_SX, 7.4, 0.4);
    effector:SetKey(_TRACK_SY, 7.4, 0.4);
    effector:SetKey(_TRACK_SX, 8.08, 0.5);
    effector:SetKey(_TRACK_SY, 8.08, 0.5);
    effector:SetKey(_TRACK_SX, 9.12, 0.5);
    effector:SetKey(_TRACK_SY, 9.12, 0.5);
    effector:SetKey(_TRACK_SX, 9.96, 0.4);
    effector:SetKey(_TRACK_SY, 9.96, 0.4);
    effector:SetKey(_TRACK_A, 0, 0.40418479667059);
    effector:SetKey(_TRACK_A, 0.48, 0.00045868536578);
    effector:SetKey(_TRACK_A, 0.68, -0.96012795704324);
    effector:SetKey(_TRACK_A, 0.88, -1.51886701521242);
    effector:SetKey(_TRACK_A, 1.08, -1.93556061954033);
    effector:SetKey(_TRACK_A, 1.28, -0.74934464318566);
    effector:SetKey(_TRACK_A, 1.44, -0.12104144483249);
    effector:SetKey(_TRACK_A, 1.72, -0.42360370199566);
    effector:SetKey(_TRACK_A, 2.12, -0.25831053960432);
    effector:SetKey(_TRACK_A, 2.44, -0.62909326197463);
    effector:SetKey(_TRACK_A, 2.6, 1.41235212289283);
    effector:SetKey(_TRACK_A, 2.84, 0.81178799475256);
    effector:SetKey(_TRACK_A, 3.12, 1.56736214966186);
    effector:SetKey(_TRACK_A, 3.36, 2.62484162766825);
    effector:SetKey(_TRACK_A, 3.6, 1.74554035835883);
    effector:SetKey(_TRACK_A, 3.84, 0.98062492077537);
    effector:SetKey(_TRACK_A, 4.12, 0.0651229256023);
    effector:SetKey(_TRACK_A, 4.52, -0.54332013038282);
    effector:SetKey(_TRACK_A, 4.76, -0.02758854839683);
    effector:SetKey(_TRACK_A, 4.96, 1.0758428824383);
    effector:SetKey(_TRACK_A, 5.16, 1.84102173152511);
    effector:SetKey(_TRACK_A, 5.48, 1.19402277017351);
    effector:SetKey(_TRACK_A, 5.8, 0.06032276223992);
    effector:SetKey(_TRACK_A, 6, -0.56288232549117);
    effector:SetKey(_TRACK_A, 6.24, 0.84634731555463);
    effector:SetKey(_TRACK_A, 6.32, 0.29308832079149);
    effector:SetKey(_TRACK_A, 6.4, -0.38627834960681);
    effector:SetKey(_TRACK_A, 6.52, -1.26166089426086);
    effector:SetKey(_TRACK_A, 6.72, -0.82195385798563);
    effector:SetKey(_TRACK_A, 6.84, -0.12167662912804);
    effector:SetKey(_TRACK_A, 7.44, -1.50490788353462);
    effector:SetKey(_TRACK_A, 7.64, -2.02828760417203);
    effector:SetKey(_TRACK_A, 7.84, -2.83333959231691);
    effector:SetKey(_TRACK_A, 8.04, -3.16341755544791);
    effector:SetKey(_TRACK_A, 8.24, -3.72929077731663);
    effector:SetKey(_TRACK_A, 8.4, -3.48568328378841);
    effector:SetKey(_TRACK_A, 8.6, -2.85187471014332);
    effector:SetKey(_TRACK_A, 8.8, -3.27148465422362);
    effector:SetKey(_TRACK_A, 8.96, -3.96611497630803);
    effector:SetKey(_TRACK_A, 9.16, -5.0035541819765);
    effector:SetKey(_TRACK_A, 9.4, -4.59216735718226);
    effector:SetKey(_TRACK_A, 9.64, -5.19300682846925);
    effector:SetKey(_TRACK_A, 9.88, -6.67899210910465);
    effector:SetKey(_TRACK_A, 9.96, -7.09835356339817);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 6.8, 1);
    effector:SetKey(_TRACK_O, 6.84, 0);
    effector:SetKey(_TRACK_O, 7.4, 0);
    effector:SetKey(_TRACK_O, 7.44, 1);
    effector:SetKey(_TRACK_O, 9.92, 1);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionAntGroup2:Play();

    return compositionAntGroup2;
end

createCompositionDragonfly = function()

    local compositionDragonfly = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionDragonfly:SetDuration(compositionDuration);


    -- Layer Dragonfly
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/DF1_[0000-0004].png');
    element:SetName('Dragonfly');
    compositionDragonfly:AddElement(element);
    element:SetHotSpot(64, 48);
    element:SetParentElement(compositionDragonfly);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 1101.05346679688);
    effector:SetKey(_TRACK_Y, 0, 512.506927490234);
    effector:SetKey(_TRACK_X, 0.36, 869.446243565514);
    effector:SetKey(_TRACK_Y, 0.36, 541.580973204265);
    effector:SetKey(_TRACK_X, 0.68, 672.190093994141);
    effector:SetKey(_TRACK_Y, 0.68, 441.029693603516);
    effector:SetKey(_TRACK_X, 2.04, 672.190093994141);
    effector:SetKey(_TRACK_Y, 2.04, 441.029693603516);
    effector:SetKey(_TRACK_X, 2.32, 812.190093994141);
    effector:SetKey(_TRACK_Y, 2.32, 432.029693603516);
    effector:SetKey(_TRACK_X, 2.6, 899.190093994141);
    effector:SetKey(_TRACK_Y, 2.6, 368.029693603516);
    effector:SetKey(_TRACK_X, 2.88, 921.190093994141);
    effector:SetKey(_TRACK_Y, 2.88, 282.029693603516);
    effector:SetKey(_TRACK_X, 4.2, 921.190093994141);
    effector:SetKey(_TRACK_Y, 4.2, 282.029693603516);
    effector:SetKey(_TRACK_X, 4.32, 864.190093994141);
    effector:SetKey(_TRACK_Y, 4.32, 306.029693603516);
    effector:SetKey(_TRACK_X, 4.44, 808.190093994141);
    effector:SetKey(_TRACK_Y, 4.44, 300.029693603516);
    effector:SetKey(_TRACK_X, 4.6, 742.190093994141);
    effector:SetKey(_TRACK_Y, 4.6, 263.029693603516);
    effector:SetKey(_TRACK_X, 4.8, 633.190093994141);
    effector:SetKey(_TRACK_Y, 4.8, 179.029693603516);
    effector:SetKey(_TRACK_X, 4.96, 522.190093994141);
    effector:SetKey(_TRACK_Y, 4.96, 164.029693603516);
    effector:SetKey(_TRACK_X, 5.16, 399.190093994141);
    effector:SetKey(_TRACK_Y, 5.16, 192.029693603516);
    effector:SetKey(_TRACK_X, 5.28, 386.190027242757);
    effector:SetKey(_TRACK_Y, 5.28, 189.993947531428);
    effector:SetKey(_TRACK_X, 5.44, 378.190093994141);
    effector:SetKey(_TRACK_Y, 5.44, 182.029693603516);
    effector:SetKey(_TRACK_X, 5.96, 378.190093994141);
    effector:SetKey(_TRACK_Y, 5.96, 182.029693603516);
    effector:SetKey(_TRACK_X, 6.16, 406.32985326386);
    effector:SetKey(_TRACK_Y, 6.16, 183.668473694801);
    effector:SetKey(_TRACK_X, 6.36, 434.190093994141);
    effector:SetKey(_TRACK_Y, 6.36, 175.029693603516);
    effector:SetKey(_TRACK_X, 6.88, 434.190093994141);
    effector:SetKey(_TRACK_Y, 6.88, 175.029693603516);
    effector:SetKey(_TRACK_X, 7.08, 407.440439916588);
    effector:SetKey(_TRACK_Y, 7.08, 174.029771338897);
    effector:SetKey(_TRACK_X, 7.28, 389.690093994141);
    effector:SetKey(_TRACK_Y, 7.28, 165.029693603516);
    effector:SetKey(_TRACK_X, 8.36, 389.690093994141);
    effector:SetKey(_TRACK_Y, 8.36, 165.029693603516);
    effector:SetKey(_TRACK_X, 8.72, 353.690093994141);
    effector:SetKey(_TRACK_Y, 8.72, 173.029693603516);
    effector:SetKey(_TRACK_X, 9.04, 337.690093994141);
    effector:SetKey(_TRACK_Y, 9.04, 162.529693603516);
    effector:SetKey(_TRACK_X, 9.36, 338.690093994141);
    effector:SetKey(_TRACK_Y, 9.36, 143.529693603516);
    effector:SetKey(_TRACK_X, 9.68, 347.190093994141);
    effector:SetKey(_TRACK_Y, 9.68, 111.529693603516);
    effector:SetKey(_TRACK_X, 9.96, 375.190093994141);
    effector:SetKey(_TRACK_Y, 9.96, 75.0296936035156);
    effector:SetKey(_TRACK_SX, 0, 1);
    effector:SetKey(_TRACK_SY, 0, 1);
    effector:SetKey(_TRACK_SX, 0.88, 0.7);
    effector:SetKey(_TRACK_SY, 0.88, 0.7);
    effector:SetKey(_TRACK_SX, 1.36, 0.8);
    effector:SetKey(_TRACK_SY, 1.36, 0.8);
    effector:SetKey(_TRACK_SX, 1.96, 0.6);
    effector:SetKey(_TRACK_SY, 1.96, 0.6);
    effector:SetKey(_TRACK_SX, 2.08, -0.55);
    effector:SetKey(_TRACK_SY, 2.08, 0.55);
    effector:SetKey(_TRACK_SX, 2.92, -0.5);
    effector:SetKey(_TRACK_SY, 2.92, 0.5);
    effector:SetKey(_TRACK_SX, 4.2, -0.5);
    effector:SetKey(_TRACK_SY, 4.2, 0.5);
    effector:SetKey(_TRACK_SX, 4.28, 0.5);
    effector:SetKey(_TRACK_SY, 4.28, 0.5);
    effector:SetKey(_TRACK_SX, 5.16, 0.3);
    effector:SetKey(_TRACK_SY, 5.16, 0.3);
    effector:SetKey(_TRACK_SX, 8.36, 0.3);
    effector:SetKey(_TRACK_SY, 8.36, 0.3);
    effector:SetKey(_TRACK_SX, 8.96, 0.3);
    effector:SetKey(_TRACK_SY, 8.96, 0.3);
    effector:SetKey(_TRACK_SX, 9.04, -0.3);
    effector:SetKey(_TRACK_SY, 9.04, 0.3);
    effector:SetKey(_TRACK_SX, 9.96, -0.8);
    effector:SetKey(_TRACK_SY, 9.96, 0.8);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 9.8, 1);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionDragonfly:Play();

    return compositionDragonfly;
end

createCompositionEnvLight = function()

    local compositionEnvLight = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionEnvLight:SetDuration(compositionDuration);


    -- Layer dust2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_Dust_01.jpg');
    element:SetName('dust2');
    compositionEnvLight:AddElement(element);
    element:SetHotSpot(130.5, 131);
    element:SetParentElement(compositionEnvLight);
    element:SetScaleX(1.37996617306962);
    element:SetScaleY(1.43133209545423);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 642.306304931641);
    effector:SetKey(_TRACK_Y, 0, 377.081069946289);
    effector:SetKey(_TRACK_X, 9.96, 665.369354248047);
    effector:SetKey(_TRACK_Y, 9.96, 156.828826904297);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 9.96, -0.7853981625);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.64, 0.7);
    effector:SetKey(_TRACK_O, 1.28, 0.1);
    effector:SetKey(_TRACK_O, 1.84, 0.8);
    effector:SetKey(_TRACK_O, 2.64, 0.8);
    effector:SetKey(_TRACK_O, 3.6, 0);
    effector:SetKey(_TRACK_O, 4.32, 0.2);
    effector:SetKey(_TRACK_O, 4.96, 0.6);
    effector:SetKey(_TRACK_O, 5.56, 0.4);
    effector:SetKey(_TRACK_O, 6.2, 0.2);
    effector:SetKey(_TRACK_O, 7.12, 0.8);
    effector:SetKey(_TRACK_O, 7.76, 0.1);
    effector:SetKey(_TRACK_O, 8.44, 0.8);
    effector:SetKey(_TRACK_O, 9, 0.1);
    effector:SetKey(_TRACK_O, 9.56, 0.4);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();


    -- Layer dust1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_Dust_01.jpg');
    element:SetName('dust1');
    compositionEnvLight:AddElement(element);
    element:SetHotSpot(130.5, 131);
    element:SetParentElement(compositionEnvLight);
    element:SetScaleX(1.37996617306962);
    element:SetScaleY(1.43133209545423);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 378.234222412109);
    effector:SetKey(_TRACK_Y, 0, 508.540542602539);
    effector:SetKey(_TRACK_X, 9.96, 381.69367980957);
    effector:SetKey(_TRACK_Y, 9.96, 291.747756958008);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 9.96, -0.7853981625);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.84, 0.8);
    effector:SetKey(_TRACK_O, 1.44, 0.1);
    effector:SetKey(_TRACK_O, 2.2, 0.8);
    effector:SetKey(_TRACK_O, 2.92, 0);
    effector:SetKey(_TRACK_O, 3.88, 0.7);
    effector:SetKey(_TRACK_O, 4.52, 0.1);
    effector:SetKey(_TRACK_O, 5.4, 0.8);
    effector:SetKey(_TRACK_O, 5.96, 0.2);
    effector:SetKey(_TRACK_O, 6.6, 0.6);
    effector:SetKey(_TRACK_O, 7.28, 0.4);
    effector:SetKey(_TRACK_O, 7.76, 0.2);
    effector:SetKey(_TRACK_O, 8.4, 0.8);
    effector:SetKey(_TRACK_O, 9, 0.1);
    effector:SetKey(_TRACK_O, 9.56, 0.4);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();


    -- Layer light
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_light02.jpg');
    element:SetName('light');
    compositionEnvLight:AddElement(element);
    element:SetHotSpot(107, 83);
    element:SetParentElement(compositionEnvLight);
    element:SetXY(529.297302246094, 179.891891479492);

    element:SetScaleX(3.8667171844742);
    element:SetScaleY(5.76544013893412);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 1.04, 0.7999999943486);
    effector:SetKey(_TRACK_O, 2.32, 0.21170374891493);
    effector:SetKey(_TRACK_O, 3.64, 0.95229630985966);
    effector:SetKey(_TRACK_O, 5.32, 0.21170373851082);
    effector:SetKey(_TRACK_O, 6.88, 0.8);
    effector:SetKey(_TRACK_O, 8.16, 0.21170373851082);
    effector:SetKey(_TRACK_O, 9.12, 0.56365387328817);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionEnvLight:Play();

    return compositionEnvLight;
end

createCompositionFly1 = function()

    local compositionFly1 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly1:SetDuration(compositionDuration);


    -- Layer fly1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('fly1');
    compositionFly1:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly1);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 155.556442260742);
    effector:SetKey(_TRACK_Y, 0, -19.5544586181641);
    effector:SetKey(_TRACK_X, 0.24, 143.806321770901);
    effector:SetKey(_TRACK_Y, 0.24, -1.55414767663784);
    effector:SetKey(_TRACK_X, 0.48, 140.056442260742);
    effector:SetKey(_TRACK_Y, 0.48, 20.4455413818359);
    effector:SetKey(_TRACK_X, 0.72, 139.329164089013);
    effector:SetKey(_TRACK_Y, 0.72, 46.6727320234627);
    effector:SetKey(_TRACK_X, 0.92, 143.306442260742);
    effector:SetKey(_TRACK_Y, 0.92, 69.4455413818359);
    effector:SetKey(_TRACK_X, 1.2, 154.806442260742);
    effector:SetKey(_TRACK_Y, 1.2, 106.945541381836);
    effector:SetKey(_TRACK_X, 1.48, 184.306442260742);
    effector:SetKey(_TRACK_Y, 1.48, 145.445541381836);
    effector:SetKey(_TRACK_X, 1.72, 224.306442260742);
    effector:SetKey(_TRACK_Y, 1.72, 168.445541381836);
    effector:SetKey(_TRACK_X, 1.96, 279.806442260742);
    effector:SetKey(_TRACK_Y, 1.96, 178.945541381836);
    effector:SetKey(_TRACK_X, 2.16, 324.306442260742);
    effector:SetKey(_TRACK_Y, 2.16, 176.945541381836);
    effector:SetKey(_TRACK_X, 2.4, 368.306442260742);
    effector:SetKey(_TRACK_Y, 2.4, 156.945541381836);
    effector:SetKey(_TRACK_X, 2.64, 408.806442260742);
    effector:SetKey(_TRACK_Y, 2.64, 154.445541381836);
    effector:SetKey(_TRACK_X, 2.84, 438.306442260742);
    effector:SetKey(_TRACK_Y, 2.84, 169.445541381836);
    effector:SetKey(_TRACK_X, 3.04, 449.306442260742);
    effector:SetKey(_TRACK_Y, 3.04, 202.445541381836);
    effector:SetKey(_TRACK_X, 3.24, 443.306442260742);
    effector:SetKey(_TRACK_Y, 3.24, 236.945541381836);
    effector:SetKey(_TRACK_X, 3.48, 421.806442260742);
    effector:SetKey(_TRACK_Y, 3.48, 253.445541381836);
    effector:SetKey(_TRACK_X, 3.72, 385.306442260742);
    effector:SetKey(_TRACK_Y, 3.72, 250.945541381836);
    effector:SetKey(_TRACK_X, 3.92, 364.806442260742);
    effector:SetKey(_TRACK_Y, 3.92, 227.945541381836);
    effector:SetKey(_TRACK_X, 4.12, 363.806442260742);
    effector:SetKey(_TRACK_Y, 4.12, 200.445541381836);
    effector:SetKey(_TRACK_X, 4.32, 381.806442260742);
    effector:SetKey(_TRACK_Y, 4.32, 184.445541381836);
    effector:SetKey(_TRACK_X, 4.48, 404.306442260742);
    effector:SetKey(_TRACK_Y, 4.48, 184.445541381836);
    effector:SetKey(_TRACK_X, 4.68, 419.806442260742);
    effector:SetKey(_TRACK_Y, 4.68, 202.945541381836);
    effector:SetKey(_TRACK_X, 4.92, 418.306442260742);
    effector:SetKey(_TRACK_Y, 4.92, 225.445541381836);
    effector:SetKey(_TRACK_X, 5.16, 406.306442260742);
    effector:SetKey(_TRACK_Y, 5.16, 244.945541381836);
    effector:SetKey(_TRACK_X, 5.4, 386.306442260742);
    effector:SetKey(_TRACK_Y, 5.4, 254.945541381836);
    effector:SetKey(_TRACK_X, 5.64, 377.306442260742);
    effector:SetKey(_TRACK_Y, 5.64, 264.945541381836);
    effector:SetKey(_TRACK_X, 5.8, 380.806442260742);
    effector:SetKey(_TRACK_Y, 5.8, 278.945541381836);
    effector:SetKey(_TRACK_X, 6, 390.806442260742);
    effector:SetKey(_TRACK_Y, 6, 293.945541381836);
    effector:SetKey(_TRACK_X, 6.24, 395.806442260742);
    effector:SetKey(_TRACK_Y, 6.24, 311.945541381836);
    effector:SetKey(_TRACK_X, 6.48, 392.306442260742);
    effector:SetKey(_TRACK_Y, 6.48, 329.445541381836);
    effector:SetKey(_TRACK_X, 6.68, 378.306442260742);
    effector:SetKey(_TRACK_Y, 6.68, 340.445541381836);
    effector:SetKey(_TRACK_X, 6.92, 353.806442260742);
    effector:SetKey(_TRACK_Y, 6.92, 345.945541381836);
    effector:SetKey(_TRACK_X, 7.16, 329.306442260742);
    effector:SetKey(_TRACK_Y, 7.16, 350.945541381836);
    effector:SetKey(_TRACK_X, 7.4, 301.306442260742);
    effector:SetKey(_TRACK_Y, 7.4, 352.445541381836);
    effector:SetKey(_TRACK_X, 7.6, 287.306442260742);
    effector:SetKey(_TRACK_Y, 7.6, 358.945541381836);
    effector:SetKey(_TRACK_X, 7.8, 276.806442260742);
    effector:SetKey(_TRACK_Y, 7.8, 380.445541381836);
    effector:SetKey(_TRACK_X, 8.04, 288.806442260742);
    effector:SetKey(_TRACK_Y, 8.04, 397.445541381836);
    effector:SetKey(_TRACK_X, 8.28, 315.306442260742);
    effector:SetKey(_TRACK_Y, 8.28, 411.445541381836);
    effector:SetKey(_TRACK_X, 8.48, 346.306442260742);
    effector:SetKey(_TRACK_Y, 8.48, 429.445541381836);
    effector:SetKey(_TRACK_X, 8.72, 380.806442260742);
    effector:SetKey(_TRACK_Y, 8.72, 456.445541381836);
    effector:SetKey(_TRACK_X, 8.96, 414.806442260742);
    effector:SetKey(_TRACK_Y, 8.96, 492.445541381836);
    effector:SetKey(_TRACK_X, 9.2, 456.806442260742);
    effector:SetKey(_TRACK_Y, 9.2, 548.445541381836);
    effector:SetKey(_TRACK_X, 9.44, 517.806442260742);
    effector:SetKey(_TRACK_Y, 9.44, 613.945541381836);
    effector:SetKey(_TRACK_X, 9.64, 575.806442260742);
    effector:SetKey(_TRACK_Y, 9.64, 685.945541381836);
    effector:SetKey(_TRACK_X, 9.96, 634.306442260742);
    effector:SetKey(_TRACK_Y, 9.96, 804.945541381836);
    effector:SetKey(_TRACK_SX, 0, 0.6);
    effector:SetKey(_TRACK_SY, 0, 0.6);
    effector:SetKey(_TRACK_SX, 2.08, 0.8);
    effector:SetKey(_TRACK_SY, 2.08, 0.8);
    effector:SetKey(_TRACK_SX, 3.76, 0.5);
    effector:SetKey(_TRACK_SY, 3.76, 0.5);
    effector:SetKey(_TRACK_SX, 5.52, 0.8);
    effector:SetKey(_TRACK_SY, 5.52, 0.8);
    effector:SetKey(_TRACK_SX, 7.2, 0.6);
    effector:SetKey(_TRACK_SY, 7.2, 0.6);
    effector:SetKey(_TRACK_SX, 8.28, 0.9);
    effector:SetKey(_TRACK_SY, 8.28, 0.9);
    effector:SetKey(_TRACK_SX, 9.96, 1.1);
    effector:SetKey(_TRACK_SY, 9.96, 1.1);
    effector:SetKey(_TRACK_O, 0, 1);
    effector:SetKey(_TRACK_O, 0.8, 1);
    effector:SetKey(_TRACK_O, 0.84, 0);
    effector:SetKey(_TRACK_O, 1.2, 0);
    effector:SetKey(_TRACK_O, 1.24, 1);
    effector:SetKey(_TRACK_O, 5.36, 1);
    effector:SetKey(_TRACK_O, 5.4, 0);
    effector:SetKey(_TRACK_O, 5.44, 1);
    effector:SetKey(_TRACK_O, 6.68, 1);
    effector:SetKey(_TRACK_O, 6.72, 0);
    effector:SetKey(_TRACK_O, 6.76, 0);
    effector:SetKey(_TRACK_O, 6.8, 1);
    effector:SetKey(_TRACK_O, 7, 1);
    effector:SetKey(_TRACK_O, 7.04, 0);
    effector:SetKey(_TRACK_O, 7.32, 0);
    effector:SetKey(_TRACK_O, 7.36, 1);

    effector:Play();

    compositionFly1:Play();

    return compositionFly1;
end

createCompositionFly2 = function()

    local compositionFly2 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly2:SetDuration(compositionDuration);


    -- Layer fly2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('fly2');
    compositionFly2:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly2);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 646.948516845703);
    effector:SetKey(_TRACK_Y, 0, -24.6772308349609);
    effector:SetKey(_TRACK_X, 0.4, 661.948516845703);
    effector:SetKey(_TRACK_Y, 0.4, 53.3227691650391);
    effector:SetKey(_TRACK_X, 0.68, 694.448516845703);
    effector:SetKey(_TRACK_Y, 0.68, 105.822769165039);
    effector:SetKey(_TRACK_X, 1.04, 744.448516845703);
    effector:SetKey(_TRACK_Y, 1.04, 141.322769165039);
    effector:SetKey(_TRACK_X, 1.44, 821.948516845703);
    effector:SetKey(_TRACK_Y, 1.44, 141.322769165039);
    effector:SetKey(_TRACK_X, 1.68, 854.948516845703);
    effector:SetKey(_TRACK_Y, 1.68, 101.822769165039);
    effector:SetKey(_TRACK_X, 1.96, 875.448516845703);
    effector:SetKey(_TRACK_Y, 1.96, 58.8227691650391);
    effector:SetKey(_TRACK_X, 2.2, 904.948516845703);
    effector:SetKey(_TRACK_Y, 2.2, 33.3227691650391);
    effector:SetKey(_TRACK_X, 2.44, 946.448516845703);
    effector:SetKey(_TRACK_Y, 2.44, 37.3227691650391);
    effector:SetKey(_TRACK_X, 2.76, 973.948516845703);
    effector:SetKey(_TRACK_Y, 2.76, 91.3227691650391);
    effector:SetKey(_TRACK_X, 3, 962.948516845703);
    effector:SetKey(_TRACK_Y, 3, 140.822769165039);
    effector:SetKey(_TRACK_X, 3.24, 924.448516845703);
    effector:SetKey(_TRACK_Y, 3.24, 152.322769165039);
    effector:SetKey(_TRACK_X, 3.48, 874.948516845703);
    effector:SetKey(_TRACK_Y, 3.48, 148.822769165039);
    effector:SetKey(_TRACK_X, 3.76, 835.448516845703);
    effector:SetKey(_TRACK_Y, 3.76, 121.822769165039);
    effector:SetKey(_TRACK_X, 4, 798.448516845703);
    effector:SetKey(_TRACK_Y, 4, 109.322769165039);
    effector:SetKey(_TRACK_X, 4.24, 753.448516845703);
    effector:SetKey(_TRACK_Y, 4.24, 107.322769165039);
    effector:SetKey(_TRACK_X, 4.44, 715.948516845703);
    effector:SetKey(_TRACK_Y, 4.44, 127.822769165039);
    effector:SetKey(_TRACK_X, 4.68, 703.948516845703);
    effector:SetKey(_TRACK_Y, 4.68, 164.322769165039);
    effector:SetKey(_TRACK_X, 4.92, 721.948516845703);
    effector:SetKey(_TRACK_Y, 4.92, 211.322769165039);
    effector:SetKey(_TRACK_X, 5.12, 759.948516845703);
    effector:SetKey(_TRACK_Y, 5.12, 223.822769165039);
    effector:SetKey(_TRACK_X, 5.36, 800.948516845703);
    effector:SetKey(_TRACK_Y, 5.36, 210.822769165039);
    effector:SetKey(_TRACK_X, 5.68, 831.448516845703);
    effector:SetKey(_TRACK_Y, 5.68, 166.322769165039);
    effector:SetKey(_TRACK_X, 5.92, 865.448516845703);
    effector:SetKey(_TRACK_Y, 5.92, 128.822769165039);
    effector:SetKey(_TRACK_X, 6.16, 897.948516845703);
    effector:SetKey(_TRACK_Y, 6.16, 115.822769165039);
    effector:SetKey(_TRACK_X, 6.48, 947.448516845703);
    effector:SetKey(_TRACK_Y, 6.48, 123.322769165039);
    effector:SetKey(_TRACK_X, 6.76, 964.948516845703);
    effector:SetKey(_TRACK_Y, 6.76, 157.322769165039);
    effector:SetKey(_TRACK_X, 6.96, 949.948516845703);
    effector:SetKey(_TRACK_Y, 6.96, 187.322769165039);
    effector:SetKey(_TRACK_X, 7.24, 913.448516845703);
    effector:SetKey(_TRACK_Y, 7.24, 203.822769165039);
    effector:SetKey(_TRACK_X, 7.48, 869.448516845703);
    effector:SetKey(_TRACK_Y, 7.48, 198.322769165039);
    effector:SetKey(_TRACK_X, 7.76, 855.948516845703);
    effector:SetKey(_TRACK_Y, 7.76, 163.322769165039);
    effector:SetKey(_TRACK_X, 8, 869.948516845703);
    effector:SetKey(_TRACK_Y, 8, 133.322769165039);
    effector:SetKey(_TRACK_X, 8.28, 892.948516845703);
    effector:SetKey(_TRACK_Y, 8.28, 105.822769165039);
    effector:SetKey(_TRACK_X, 8.52, 927.448516845703);
    effector:SetKey(_TRACK_Y, 8.52, 91.8227691650391);
    effector:SetKey(_TRACK_X, 8.8, 965.448516845703);
    effector:SetKey(_TRACK_Y, 8.8, 95.8227691650391);
    effector:SetKey(_TRACK_X, 9.12, 999.948516845703);
    effector:SetKey(_TRACK_Y, 9.12, 86.8227691650391);
    effector:SetKey(_TRACK_X, 9.44, 1029.4485168457);
    effector:SetKey(_TRACK_Y, 9.44, 61.8227691650391);
    effector:SetKey(_TRACK_X, 9.68, 1050.9485168457);
    effector:SetKey(_TRACK_Y, 9.68, 25.8227691650391);
    effector:SetKey(_TRACK_SX, 0, 0.4);
    effector:SetKey(_TRACK_SY, 0, 0.4);
    effector:SetKey(_TRACK_SX, 1.52, 1);
    effector:SetKey(_TRACK_SY, 1.52, 1);
    effector:SetKey(_TRACK_SX, 2.52, 0.6);
    effector:SetKey(_TRACK_SY, 2.52, 0.6);
    effector:SetKey(_TRACK_SX, 3.32, 0.9);
    effector:SetKey(_TRACK_SY, 3.32, 0.9);
    effector:SetKey(_TRACK_SX, 4.64, 0.6);
    effector:SetKey(_TRACK_SY, 4.64, 0.6);
    effector:SetKey(_TRACK_SX, 6.28, 1);
    effector:SetKey(_TRACK_SY, 6.28, 1);
    effector:SetKey(_TRACK_SX, 8.4, 0.6);
    effector:SetKey(_TRACK_SY, 8.4, 0.6);
    effector:SetKey(_TRACK_SX, 9.6, 0.8);
    effector:SetKey(_TRACK_SY, 9.6, 0.8);

    effector:Play();

    compositionFly2:Play();

    return compositionFly2;
end

------------------------------------------------------------------------------
-- Env2
--createCompositionL2zone_24_2_predmetu = function()
--
--    local compositionzone_24_2_predmetu = createCompositionL2Sequence();
--    local compositionDuration = 10;
--    compositionzone_24_2_predmetu:SetDuration(compositionDuration);
--
--
--    -- Layer Layer_1
--    local element = createCompositionL2Fly1();
--    element:SetName('Layer_1');
--    compositionzone_24_2_predmetu:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_2_predmetu);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_2
--    local element = createCompositionL2Fly2();
--    element:SetName('Layer_2');
--    compositionzone_24_2_predmetu:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_2_predmetu);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_3
--    local element = createCompositionL2Env2Light();
--    element:SetName('Layer_3');
--    compositionzone_24_2_predmetu:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_2_predmetu);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--
--    -- Layer Layer_4
--    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/zone_24_2_predmetu.jpg');
--    element:SetName('Layer_4');
--    compositionzone_24_2_predmetu:AddElement(element);
--    element:SetHotSpot(512, 384);
--    element:SetParentElement(compositionzone_24_2_predmetu);
--    element:SetXY(512, 384);
--
--    element:SetScaleX(1);
--    element:SetScaleY(1);
--    element:SetAngle(0);
--    element:SetOpacity(1);
--
--    effector = element:GetEffector();
--    effector:SetLifeTime(0, 10);
--
--
--    effector:Play();
--
--    compositionzone_24_2_predmetu:Play();
--
--    return compositionzone_24_2_predmetu;
--end

createCompositionL2Env2Light = function()

    local compositionEnv2Light = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionEnv2Light:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_light02.jpg');
    element:SetName('Layer_1');
    compositionEnv2Light:AddElement(element);
    element:SetHotSpot(107, 83);
    element:SetParentElement(compositionEnv2Light);
    element:SetXY(414.823760986328, 540.550506591797);

    element:SetScaleX(1.73019605643093);
    element:SetScaleY(6.25253597038269);
    element:SetAngle(-0.25566775420238);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0.2);
    effector:SetKey(_TRACK_O, 0.72, 0.4);
    effector:SetKey(_TRACK_O, 1.32, 0.15);
    effector:SetKey(_TRACK_O, 2.16, 0.6);
    effector:SetKey(_TRACK_O, 2.96, 0.4);
    effector:SetKey(_TRACK_O, 3.4, 0.45);
    effector:SetKey(_TRACK_O, 4.12, 0.2);
    effector:SetKey(_TRACK_O, 4.76, 0.35);
    effector:SetKey(_TRACK_O, 5.48, 0.2);
    effector:SetKey(_TRACK_O, 6.28, 0.5);
    effector:SetKey(_TRACK_O, 6.96, 0.2);
    effector:SetKey(_TRACK_O, 7.64, 0.4);
    effector:SetKey(_TRACK_O, 8.28, 0.25);
    effector:SetKey(_TRACK_O, 8.84, 0.1);
    effector:SetKey(_TRACK_O, 9.36, 0.3);
    effector:SetKey(_TRACK_O, 9.96, 0.2);

    effector:Play();


    -- Layer Layer_2
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_light02.jpg');
    element:SetName('Layer_2');
    compositionEnv2Light:AddElement(element);
    element:SetHotSpot(107, 83);
    element:SetParentElement(compositionEnv2Light);
    element:SetXY(626.823760986328, 604.550506591797);

    element:SetScaleX(1.73019605643093);
    element:SetScaleY(6.25253597038269);
    element:SetAngle(-0.25566775420238);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0.3);
    effector:SetKey(_TRACK_O, 0.64, 0.2);
    effector:SetKey(_TRACK_O, 1.36, 0.4);
    effector:SetKey(_TRACK_O, 1.96, 0.15);
    effector:SetKey(_TRACK_O, 2.8, 0.6);
    effector:SetKey(_TRACK_O, 3.6, 0.4);
    effector:SetKey(_TRACK_O, 4.04, 0.45);
    effector:SetKey(_TRACK_O, 4.76, 0.2);
    effector:SetKey(_TRACK_O, 5.4, 0.35);
    effector:SetKey(_TRACK_O, 6.12, 0.2);
    effector:SetKey(_TRACK_O, 6.92, 0.5);
    effector:SetKey(_TRACK_O, 7.6, 0.2);
    effector:SetKey(_TRACK_O, 8.28, 0.4);
    effector:SetKey(_TRACK_O, 8.92, 0.25);
    effector:SetKey(_TRACK_O, 9.48, 0.1);
    effector:SetKey(_TRACK_O, 10, 0.3);

    effector:Play();


    -- Layer Layer_3
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_light02.jpg');
    element:SetName('Layer_3');
    compositionEnv2Light:AddElement(element);
    element:SetHotSpot(107, 83);
    element:SetParentElement(compositionEnv2Light);
    element:SetXY(726.823760986328, 620.550506591797);

    element:SetScaleX(1.60360797243654);
    element:SetScaleY(6.29519237031149);
    element:SetAngle(-0.25566775420238);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_O, 0, 0.1);
    effector:SetKey(_TRACK_O, 0.52, 0.3);
    effector:SetKey(_TRACK_O, 1.16, 0.2);
    effector:SetKey(_TRACK_O, 1.88, 0.4);
    effector:SetKey(_TRACK_O, 2.48, 0.15);
    effector:SetKey(_TRACK_O, 3.32, 0.6);
    effector:SetKey(_TRACK_O, 4.12, 0.4);
    effector:SetKey(_TRACK_O, 4.56, 0.45);
    effector:SetKey(_TRACK_O, 5.28, 0.2);
    effector:SetKey(_TRACK_O, 5.92, 0.35);
    effector:SetKey(_TRACK_O, 6.64, 0.2);
    effector:SetKey(_TRACK_O, 7.44, 0.5);
    effector:SetKey(_TRACK_O, 8.12, 0.2);
    effector:SetKey(_TRACK_O, 8.8, 0.4);
    effector:SetKey(_TRACK_O, 9.44, 0.25);
    effector:SetKey(_TRACK_O, 9.96, 0.1);

    effector:Play();


    -- Layer Layer_4
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/EF_Dust_01.jpg');
    element:SetName('Layer_4');
    compositionEnv2Light:AddElement(element);
    element:SetHotSpot(130.5, 131);
    element:SetParentElement(compositionEnv2Light);
    element:SetScaleX(1.82758620689655);
    element:SetScaleY(1.80916030534351);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 450.479202270508);
    effector:SetKey(_TRACK_Y, 0, 484.689102172852);
    effector:SetKey(_TRACK_X, 9.96, 430.146530151367);
    effector:SetKey(_TRACK_Y, 9.96, 337.770294189453);
    effector:SetKey(_TRACK_A, 0, 0);
    effector:SetKey(_TRACK_A, 9.96, -0.7853981625);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.56, 0.4);
    effector:SetKey(_TRACK_O, 1.12, 0.2);
    effector:SetKey(_TRACK_O, 1.84, 0.8);
    effector:SetKey(_TRACK_O, 2.68, 0.4);
    effector:SetKey(_TRACK_O, 3, 0.8);
    effector:SetKey(_TRACK_O, 3.72, 0.2);
    effector:SetKey(_TRACK_O, 4.44, 0.7);
    effector:SetKey(_TRACK_O, 4.88, 0);
    effector:SetKey(_TRACK_O, 5.52, 0.8);
    effector:SetKey(_TRACK_O, 6.2, 0.2);
    effector:SetKey(_TRACK_O, 6.8, 0.6);
    effector:SetKey(_TRACK_O, 7.2, 0.2);
    effector:SetKey(_TRACK_O, 8, 0.8);
    effector:SetKey(_TRACK_O, 8.6, 0.2);
    effector:SetKey(_TRACK_O, 9.24, 0.4);
    effector:SetKey(_TRACK_O, 9.96, 0);

    effector:Play();

    compositionEnv2Light:Play();

    return compositionEnv2Light;
end

createCompositionL2Fly1 = function()

    local compositionFly1 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly1:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('Layer_1');
    compositionFly1:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly1);
    element:SetAngle(0);
    element:SetOpacity(1);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 1046.9386138916);
    effector:SetKey(_TRACK_Y, 0, 385.029708862305);
    effector:SetKey(_TRACK_X, 0.32, 1003.9386138916);
    effector:SetKey(_TRACK_Y, 0.32, 346.529708862305);
    effector:SetKey(_TRACK_X, 0.56, 953.938613891602);
    effector:SetKey(_TRACK_Y, 0.56, 321.529708862305);
    effector:SetKey(_TRACK_X, 0.84, 897.938613891602);
    effector:SetKey(_TRACK_Y, 0.84, 319.029708862305);
    effector:SetKey(_TRACK_X, 1.08, 847.938613891602);
    effector:SetKey(_TRACK_Y, 1.08, 334.529708862305);
    effector:SetKey(_TRACK_X, 1.36, 813.438613891602);
    effector:SetKey(_TRACK_Y, 1.36, 366.529708862305);
    effector:SetKey(_TRACK_X, 1.64, 797.438613891602);
    effector:SetKey(_TRACK_Y, 1.64, 400.529708862305);
    effector:SetKey(_TRACK_X, 1.96, 803.438613891602);
    effector:SetKey(_TRACK_Y, 1.96, 450.029708862305);
    effector:SetKey(_TRACK_X, 2.24, 847.438613891602);
    effector:SetKey(_TRACK_Y, 2.24, 480.029708862305);
    effector:SetKey(_TRACK_X, 2.56, 881.938613891602);
    effector:SetKey(_TRACK_Y, 2.56, 518.529708862305);
    effector:SetKey(_TRACK_X, 2.84, 887.438613891602);
    effector:SetKey(_TRACK_Y, 2.84, 557.529708862305);
    effector:SetKey(_TRACK_X, 3.08, 868.938613891602);
    effector:SetKey(_TRACK_Y, 3.08, 589.529708862305);
    effector:SetKey(_TRACK_X, 3.4, 819.938613891602);
    effector:SetKey(_TRACK_Y, 3.4, 594.029708862305);
    effector:SetKey(_TRACK_X, 3.72, 764.938613891602);
    effector:SetKey(_TRACK_Y, 3.72, 577.529708862305);
    effector:SetKey(_TRACK_X, 4.04, 703.438613891602);
    effector:SetKey(_TRACK_Y, 4.04, 566.029708862305);
    effector:SetKey(_TRACK_X, 4.36, 702.438613891602);
    effector:SetKey(_TRACK_Y, 4.36, 572.029708862305);
    effector:SetKey(_TRACK_X, 4.48, 686.938613891602);
    effector:SetKey(_TRACK_Y, 4.48, 589.529708862305);
    effector:SetKey(_TRACK_X, 4.6, 663.438613891602);
    effector:SetKey(_TRACK_Y, 4.6, 595.529708862305);
    effector:SetKey(_TRACK_X, 5.16, 656.938613891602);
    effector:SetKey(_TRACK_Y, 5.16, 593.529708862305);
    effector:SetKey(_TRACK_X, 5.48, 686.938613891602);
    effector:SetKey(_TRACK_Y, 5.48, 619.029708862305);
    effector:SetKey(_TRACK_X, 5.68, 719.438613891602);
    effector:SetKey(_TRACK_Y, 5.68, 624.529708862305);
    effector:SetKey(_TRACK_X, 6.32, 716.438613891602);
    effector:SetKey(_TRACK_Y, 6.32, 619.529708862305);
    effector:SetKey(_TRACK_X, 6.52, 770.938613891602);
    effector:SetKey(_TRACK_Y, 6.52, 597.529708862305);
    effector:SetKey(_TRACK_X, 7.04, 776.938613891602);
    effector:SetKey(_TRACK_Y, 7.04, 597.529708862305);
    effector:SetKey(_TRACK_X, 7.36, 793.305291965771);
    effector:SetKey(_TRACK_Y, 7.36, 628.696387289283);
    effector:SetKey(_TRACK_X, 7.64, 825.438613891602);
    effector:SetKey(_TRACK_Y, 7.64, 647.529708862305);
    effector:SetKey(_TRACK_X, 7.96, 873.938613891602);
    effector:SetKey(_TRACK_Y, 7.96, 651.529708862305);
    effector:SetKey(_TRACK_X, 8.2, 916.938613891602);
    effector:SetKey(_TRACK_Y, 8.2, 636.529708862305);
    effector:SetKey(_TRACK_X, 8.52, 962.938613891602);
    effector:SetKey(_TRACK_Y, 8.52, 636.529708862305);
    effector:SetKey(_TRACK_X, 8.8, 993.438613891602);
    effector:SetKey(_TRACK_Y, 8.8, 657.029708862305);
    effector:SetKey(_TRACK_X, 9.12, 1010.4386138916);
    effector:SetKey(_TRACK_Y, 9.12, 700.529708862305);
    effector:SetKey(_TRACK_X, 9.4, 1048.9386138916);
    effector:SetKey(_TRACK_Y, 9.4, 743.529708862305);
    effector:SetKey(_TRACK_SX, 0, 0.6);
    effector:SetKey(_TRACK_SY, 0, 0.6);
    effector:SetKey(_TRACK_SX, 3.84, 1);
    effector:SetKey(_TRACK_SY, 3.84, 1);
    effector:SetKey(_TRACK_SX, 9.4, 1.2);
    effector:SetKey(_TRACK_SY, 9.4, 1.2);

    effector:Play();

    compositionFly1:Play();

    return compositionFly1;
end

createCompositionL2Fly2 = function()

    local compositionFly2 = CreateCompositionSequence();
    local compositionDuration = 10;
    compositionFly2:SetDuration(compositionDuration);


    -- Layer Layer_1
    local element = auxCreateCompositionElement('data/Texture/Scenes/24_AtSacrificePlace/Animations/Env/Bug_fly[01-02].png');
    element:SetName('Layer_1');
    compositionFly2:AddElement(element);
    element:SetHotSpot(9.5, 9);
    element:SetParentElement(compositionFly2);
    element:SetAngle(0);

    effector = element:GetEffector();
    effector:SetLifeTime(0, 10);

    effector:SetKey(_TRACK_X, 0, 831.935638427734);
    effector:SetKey(_TRACK_Y, 0, 324.470291137695);
    effector:SetKey(_TRACK_X, 0.16, 808.435638427734);
    effector:SetKey(_TRACK_Y, 0.16, 340.470291137695);
    effector:SetKey(_TRACK_X, 0.36, 782.935638427734);
    effector:SetKey(_TRACK_Y, 0.36, 342.970291137695);
    effector:SetKey(_TRACK_X, 0.6, 743.935638427734);
    effector:SetKey(_TRACK_Y, 0.6, 330.470291137695);
    effector:SetKey(_TRACK_X, 0.84, 688.435638427734);
    effector:SetKey(_TRACK_Y, 0.84, 316.970291137695);
    effector:SetKey(_TRACK_X, 1.64, 550.935638427734);
    effector:SetKey(_TRACK_Y, 1.64, 299.970291137695);
    effector:SetKey(_TRACK_X, 1.96, 507.935638427734);
    effector:SetKey(_TRACK_Y, 1.96, 315.970291137695);
    effector:SetKey(_TRACK_X, 2.24, 460.435638427734);
    effector:SetKey(_TRACK_Y, 2.24, 327.970291137695);
    effector:SetKey(_TRACK_X, 2.56, 411.435638427734);
    effector:SetKey(_TRACK_Y, 2.56, 319.470291137695);
    effector:SetKey(_TRACK_X, 2.88, 367.435638427734);
    effector:SetKey(_TRACK_Y, 2.88, 283.970291137695);
    effector:SetKey(_TRACK_X, 3.2, 320.435638427734);
    effector:SetKey(_TRACK_Y, 3.2, 256.970291137695);
    effector:SetKey(_TRACK_X, 3.52, 259.935638427734);
    effector:SetKey(_TRACK_Y, 3.52, 244.470291137695);
    effector:SetKey(_TRACK_X, 3.84, 204.935638427734);
    effector:SetKey(_TRACK_Y, 3.84, 252.470291137695);
    effector:SetKey(_TRACK_X, 4.08, 168.435638427734);
    effector:SetKey(_TRACK_Y, 4.08, 279.470291137695);
    effector:SetKey(_TRACK_X, 4.32, 144.435638427734);
    effector:SetKey(_TRACK_Y, 4.32, 293.470291137695);
    effector:SetKey(_TRACK_X, 4.56, 120.935638427734);
    effector:SetKey(_TRACK_Y, 4.56, 313.970291137695);
    effector:SetKey(_TRACK_X, 4.76, 115.935638427734);
    effector:SetKey(_TRACK_Y, 4.76, 338.970291137695);
    effector:SetKey(_TRACK_X, 5, 126.435638427734);
    effector:SetKey(_TRACK_Y, 5, 363.970291137695);
    effector:SetKey(_TRACK_X, 5.24, 165.435638427734);
    effector:SetKey(_TRACK_Y, 5.24, 390.470291137695);
    effector:SetKey(_TRACK_X, 5.48, 215.935638427734);
    effector:SetKey(_TRACK_Y, 5.48, 398.470291137695);
    effector:SetKey(_TRACK_X, 5.72, 264.935638427734);
    effector:SetKey(_TRACK_Y, 5.72, 380.970291137695);
    effector:SetKey(_TRACK_X, 5.96, 305.435638427734);
    effector:SetKey(_TRACK_Y, 5.96, 340.970291137695);
    effector:SetKey(_TRACK_X, 6.24, 337.935638427734);
    effector:SetKey(_TRACK_Y, 6.24, 325.470291137695);
    effector:SetKey(_TRACK_X, 6.48, 343.435638427734);
    effector:SetKey(_TRACK_Y, 6.48, 321.470291137695);
    effector:SetKey(_TRACK_X, 6.6, 367.935638427734);
    effector:SetKey(_TRACK_Y, 6.6, 324.970291137695);
    effector:SetKey(_TRACK_X, 6.72, 383.185638427734);
    effector:SetKey(_TRACK_Y, 6.72, 343.720291137695);
    effector:SetKey(_TRACK_X, 6.96, 376.185638427734);
    effector:SetKey(_TRACK_Y, 6.96, 346.970291137695);
    effector:SetKey(_TRACK_X, 7.28, 347.685638427734);
    effector:SetKey(_TRACK_Y, 7.28, 339.720291137695);
    effector:SetKey(_TRACK_X, 7.52, 330.435638427734);
    effector:SetKey(_TRACK_Y, 7.52, 315.220291137695);
    effector:SetKey(_TRACK_X, 7.72, 294.435638427734);
    effector:SetKey(_TRACK_Y, 7.72, 290.220291137695);
    effector:SetKey(_TRACK_X, 8, 253.435638427734);
    effector:SetKey(_TRACK_Y, 8, 283.220291137695);
    effector:SetKey(_TRACK_X, 8.36, 215.435638427734);
    effector:SetKey(_TRACK_Y, 8.36, 303.720291137695);
    effector:SetKey(_TRACK_X, 8.76, 196.435638427734);
    effector:SetKey(_TRACK_Y, 8.76, 341.220291137695);
    effector:SetKey(_TRACK_X, 9.12, 199.935638427734);
    effector:SetKey(_TRACK_Y, 9.12, 369.720291137695);
    effector:SetKey(_TRACK_X, 9.44, 185.935638427734);
    effector:SetKey(_TRACK_Y, 9.44, 416.720291137695);
    effector:SetKey(_TRACK_X, 9.68, 197.935638427734);
    effector:SetKey(_TRACK_Y, 9.68, 450.720291137695);
    effector:SetKey(_TRACK_X, 9.96, 233.935638427734);
    effector:SetKey(_TRACK_Y, 9.96, 474.720291137695);
    effector:SetKey(_TRACK_SX, 0, 0.6);
    effector:SetKey(_TRACK_SY, 0, 0.6);
    effector:SetKey(_TRACK_SX, 2.36, 0.8);
    effector:SetKey(_TRACK_SY, 2.36, 0.8);
    effector:SetKey(_TRACK_SX, 3.44, 1.1);
    effector:SetKey(_TRACK_SY, 3.44, 1.1);
    effector:SetKey(_TRACK_SX, 4.68, 0.9);
    effector:SetKey(_TRACK_SY, 4.68, 0.9);
    effector:SetKey(_TRACK_SX, 5.88, 1.1);
    effector:SetKey(_TRACK_SY, 5.88, 1.1);
    effector:SetKey(_TRACK_SX, 6.52, 0.8);
    effector:SetKey(_TRACK_SY, 6.52, 0.8);
    effector:SetKey(_TRACK_SX, 7.32, 0.9);
    effector:SetKey(_TRACK_SY, 7.32, 0.9);
    effector:SetKey(_TRACK_SX, 8.6, 0.7);
    effector:SetKey(_TRACK_SY, 8.6, 0.7);
    effector:SetKey(_TRACK_SX, 9.96, 0.6);
    effector:SetKey(_TRACK_SY, 9.96, 0.6);
    effector:SetKey(_TRACK_O, 0, 0);
    effector:SetKey(_TRACK_O, 0.04, 0);
    effector:SetKey(_TRACK_O, 0.08, 1);
    effector:SetKey(_TRACK_O, 0.36, 1);
    effector:SetKey(_TRACK_O, 0.4, 0);
    effector:SetKey(_TRACK_O, 0.56, 0);
    effector:SetKey(_TRACK_O, 0.6, 1);
    effector:SetKey(_TRACK_O, 0.68, 1);
    effector:SetKey(_TRACK_O, 0.72, 0.6);
    effector:SetKey(_TRACK_O, 0.76, 1);
    effector:SetKey(_TRACK_O, 0.8, 0.6);
    effector:SetKey(_TRACK_O, 0.88, 0);
    effector:SetKey(_TRACK_O, 1.64, 0);
    effector:SetKey(_TRACK_O, 2.24, 0);
    effector:SetKey(_TRACK_O, 2.28, 1);
    effector:SetKey(_TRACK_O, 4.04, 1);
    effector:SetKey(_TRACK_O, 4.08, 0);
    effector:SetKey(_TRACK_O, 4.52, 0);
    effector:SetKey(_TRACK_O, 4.56, 1);
    effector:SetKey(_TRACK_O, 9.88, 1);
    effector:SetKey(_TRACK_O, 9.92, 0);

    effector:Play();

    compositionFly2:Play();

    return compositionFly2;
end
