diff --git a/!TheEsc/!RunImage,ff8 b/!TheEsc/!RunImage,ff8 index 4db16ae..8d9f602 100644 Binary files a/!TheEsc/!RunImage,ff8 and b/!TheEsc/!RunImage,ff8 differ diff --git a/!TheEsc/Tiles,ff9 b/!TheEsc/Tiles,ff9 index 2f45e12..9eea563 100644 Binary files a/!TheEsc/Tiles,ff9 and b/!TheEsc/Tiles,ff9 differ diff --git a/!TheEsc/c/Mission2 b/!TheEsc/c/Mission2 index bda1e09..ea8d03e 100644 --- a/!TheEsc/c/Mission2 +++ b/!TheEsc/c/Mission2 @@ -383,6 +383,8 @@ void game2_setup_audio() { sound_pcm_loadsample(PCMSAMPLE_HAIL,"sounds.commbdg"); sound_pcm_loadsample(PCMSAMPLE_DOOR,"sounds.door"); + sound_pcm_loadsample(PCMSAMPLE_ALERT,"sounds.alert"); + } void game2_setup() diff --git a/!TheEsc/h/Sound b/!TheEsc/h/Sound index 2b8567b..d621f5c 100644 --- a/!TheEsc/h/Sound +++ b/!TheEsc/h/Sound @@ -44,7 +44,7 @@ enum pcmchannel_e{ PCMCHANNEL_NPC2 = 7, PCMCHANNEL_AMBIENT = 8 }; -enum pcmsample_e{PCMSAMPLE_DURNOTORPEDO, PCMSAMPLE_PHASER, PCMSAMPLE_SHIPEXPLODE, PCMSAMPLE_TRACTOR, PCMSAMPLE_HAIL, PCMSAMPLE_DOOR, PCMSAMPLE_MAX}; +enum pcmsample_e{PCMSAMPLE_DURNOTORPEDO, PCMSAMPLE_PHASER, PCMSAMPLE_SHIPEXPLODE, PCMSAMPLE_TRACTOR, PCMSAMPLE_HAIL, PCMSAMPLE_DOOR, PCMSAMPLE_ALERT, PCMSAMPLE_MAX}; struct CompositionElement { signed short int Start; diff --git a/!TheEsc/m2_evact,ffd b/!TheEsc/m2_evact,ffd index a083b5b..0777bbf 100644 Binary files a/!TheEsc/m2_evact,ffd and b/!TheEsc/m2_evact,ffd differ diff --git a/!TheEsc/m2_evt,ffd b/!TheEsc/m2_evt,ffd index 5bd8910..09a61db 100644 Binary files a/!TheEsc/m2_evt,ffd and b/!TheEsc/m2_evt,ffd differ diff --git a/!TheEsc/m2_txt b/!TheEsc/m2_txt index 6ba8e71..7e4e775 100644 --- a/!TheEsc/m2_txt +++ b/!TheEsc/m2_txt @@ -21,20 +21,28 @@ AddEvent(13,"COR-AREA",0,-1,-1) AddEvent(14,"SBBR-AREA",0,-1,-1) AddEvent(15,"MESS-AREA",0,-1,-1) +AddEvent(16,"REDALERTON",0,-1,-1) +AddEvent(17,"REDALERTOFF",0,-1,-1) + +AddEvent(18,"CONSOLE1",0,-1,-1) +AddEvent(19,"CONSOLE2",0,-1,-1) + Event("PlayerStart") AreaName(1) + Schedule("REDALERTON",125) + Schedule("CONSOLE1",75) Schedule("Brief",200) Event("Brief") - Sound(8,4) + Sound(5,4) Event("SBBR-DOOROPEN") SetOverlayTile(713,31) - Sound(8,5) + Sound(5,5) ReArm("SBBR-DOORCLOSE") Event("SBBR-DOORCLOSE") SetOverlayTile(713,29) - Sound(8,5) + Sound(5,5) ReArm("SBBR-DOOROPEN") Event("SBBR-AREA") AreaName(2) @@ -43,12 +51,12 @@ Event("SBBR-AREA") Event("SB-DOOROPEN") SetOverlayTile(1213,68) SetOverlayTile(1313,69) - Sound(8,5) + Sound(5,5) ReArm("SB-DOORCLOSE") Event("SB-DOORCLOSE") SetOverlayTile(1213,43) SetOverlayTile(1313,44) - Sound(8,5) + Sound(5,5) ReArm("SB-DOOROPEN") Event("SB-AREA") AreaName(1) @@ -57,12 +65,12 @@ Event("SB-AREA") Event("CB1-DOOROPEN") SetOverlayTile(2213,68) SetOverlayTile(2313,69) - Sound(8,5) + Sound(5,5) ReArm("CB1-DOORCLOSE") Event("CB1-DOORCLOSE") SetOverlayTile(2213,43) SetOverlayTile(2313,44) - Sound(8,5) + Sound(5,5) ReArm("CB1-DOOROPEN") Event("CB-AREA") AreaName(3) @@ -71,12 +79,12 @@ Event("CB-AREA") Event("CB2-DOOROPEN") SetOverlayTile(3213,68) SetOverlayTile(3313,69) - Sound(8,5) + Sound(5,5) ReArm("CB2-DOORCLOSE") Event("CB2-DOORCLOSE") SetOverlayTile(3213,43) SetOverlayTile(3313,44) - Sound(8,5) + Sound(5,5) ReArm("CB2-DOOROPEN") Event("ARB-AREA") @@ -89,4 +97,49 @@ Event("COR-AREA") Event("MESS-AREA") AreaName(8) - ReArm("MESS-AREA") \ No newline at end of file + ReArm("MESS-AREA") + +Event("REDALERTON") + Schedule("REDALERTOFF",125) + SetOverlayTile(613,84) + SetOverlayTile(813,84) + SetOverlayTile(1113,84) + SetOverlayTile(1413,84) + SetOverlayTile(2113,84) + SetOverlayTile(2413,84) + SetOverlayTile(3113,84) + SetOverlayTile(3413,84) + Sound(8,6) + ReArm("REDALERTON") + +Event("REDALERTOFF") + Schedule("REDALERTON",125) + SetOverlayTile(613,83) + SetOverlayTile(813,83) + SetOverlayTile(1113,83) + SetOverlayTile(1413,83) + SetOverlayTile(2113,83) + SetOverlayTile(2413,83) + SetOverlayTile(3113,83) + SetOverlayTile(3413,83) + ReArm("REDALERTOFF") + +Event("CONSOLE1") + Schedule("CONSOLE2",75) + SetOverlayTile(212,45) + SetOverlayTile(312,46) + SetOverlayTile(2104,45) + SetOverlayTile(2204,46) + SetOverlayTile(3104,45) + SetOverlayTile(3204,46) + ReArm("CONSOLE1") + +Event("CONSOLE2") + Schedule("CONSOLE1",75) + SetOverlayTile(212,85) + SetOverlayTile(312,86) + SetOverlayTile(2104,85) + SetOverlayTile(2204,86) + SetOverlayTile(3104,85) + SetOverlayTile(3204,86) + ReArm("CONSOLE2") \ No newline at end of file diff --git a/!TheEsc/sounds/alert b/!TheEsc/sounds/alert new file mode 100644 index 0000000..2be86f2 --- /dev/null +++ b/!TheEsc/sounds/alert @@ -0,0 +1 @@ +€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€~~}~ƒ„ƒ~~~}{{~…‡†‚~}}{yy}ˆŠ†|}|xx}€‰‡y}‚{vw|‹‰{}|zwz†Š‡|{‚„|yw}‚ƒ‰‰„~ƒvtwƒƒˆˆ‚}|€zy{€ˆ‹Šƒzzytux…‡ŒŠ…y}~xwyƒ…‹‰…x{}vwy‚†ˆŠ„{w|~wwx€„†Œˆwy|xxw|†Ž‰~vy|zyy}†‹‡~wx{zyyƒ‡Œ‡~wy{zyw}‡ŽŽ‰€yzzxxw|€‡Žˆ€z{|yvtz€ˆŽ‡~z}}zxuz‡Œ‰„~}€€}yv{€‡ˆ{{€{wv{€ˆ‹ƒ||}zxy~ƒˆˆƒ~{…~yw{‚‚‡Š„€~‚…ytv{‚‚†Š…|ƒ|wy}‚†‹Š†}zztsw†„‰Œ‰ƒ{z~ywz~ƒ‚ˆ‹ˆ‚zy}ywy…†‹Š†xz€{ww{‚…Œ‰yx}{xvyƒŒŽ‹„zx|{yy|ƒŠ‹ˆ‚zy|zyy}‚…ŒŒˆ‚zy{zyx|‚„‹‰ƒ|zzwvv|‚…‹Œ‰ƒ}{|ywtx€†‰‚||~|yuw}„ŒŒ†€|~~{wz~ƒ‹‹…}z~~zvy}„ˆ€|~}zxx}ƒˆ‰ƒ|}„‚zxw€ƒ…Ї‚~…~ttx„†‰…{|ƒ€xx|‚‚„‰‰‡€{{vrv{…†ˆ‹ˆ„|y~}xy{‚†‹‰„|w||xwz‚…‹Ž‰xw~~xvx€ƒŠŒ„zw}~yvv}‚І{vz|zz{€‚‡‹‰…}xz{zz{€‚‰Š…|wy{zyyƒ‰ŽŒ†}xzzxwx}‚ŠŒ…}z{{yvv{‚ŠŒ…}{~|zvu{‰‰ƒ}}€~|yx|€‰‡z}‚{wx|ŠŠ‚{||zxz€†Š†€|{„|yw}„„‰ˆƒ€~ƒvtw„ƒˆˆ‚~|€zx{ƒ†‰‰„{zytvy‚††‹‰…€y{}xy{€ƒ…Šˆ„y{}xwy†ˆŠƒ{w|xux€…ˆŠ…}x|zwv|…‰€xy|zzz~…‹‰†yz{yyz‚†Œ‹‡€yxzyyy~‚…ŒŒ‰zzzxxw|‡ˆz{{yvu{‚‰ŽŒ†|~|ywv|‚ˆŒˆƒ~}€€}yw|€†Œ‰‚|z|yw{~‡Ž‹„}|}{yy}ƒ‰ˆƒ~{~„zxz‚„‡ˆƒ~‚…{tv{ƒƒ†‰„|~ƒ}yz‚€…ŠŠ†}y{vux~…„ŠŒˆ‚yy~{yz}ƒ„‰Š…€yy~{xy~„†‹‹†xz€|ww{‚…‹Œˆ‚yy~}zwx~ŠŽŒ„yx}}|z{‚ŠŒ‡xw{||{~‚ƒŠ‹ˆyx{{{z|€ƒŠŒ‰ƒ{z}zywy~ƒ‹ŽŠƒ{z||zvx~„ŒŽ‰z{}}|xx|‚‹Œ‡€{}€}yz}‚‹‹…~z}€~zwy}„ŽŽ‡~y{}|zz}‚ˆŠ…{z‚‚{yx€ƒ„‰‡‚…uux€ƒ„‰†€}}ƒ€xy|‚‚ƒ‰Šˆ€yzwtw{„†ˆŒˆ„|x}}xy{ƒ‡‹ˆƒ|y~|vwzƒ†ŠŒ‡zy~wwz„‰Œˆƒ|y~~yww}€‡ŽŒ‡}x{|zyz†ŒŠ…|x{|zy{ƒ‡ŒŠ„|x{|zxx~‚‰Ž‹…}z{zyww}‚‰Ž‹†~{|{yvuz‹Œ…~|~}zvuz€‰‰ƒ}~‚}xw{ˆŒ‡€z|}xwz€ŠŽ‰‚{{~}{y{…Ї€|z„~zx|ƒƒˆ‡ƒ€~‚ƒxuw}„ƒ‡‡‚~{‚|z{€ƒ‚†‰‰„{yytvz‚††Š‰…x{zyy~ƒ…‹Š…wz}ywy€…‡ŒŠ…|w|€yww~ƒ†Œ‹ˆ€xz~zwv{€„ŽŠ€xy}{yy}„‹Š‡€yz|zyz~‚…ŒŒ‡yz|{yw{€…ˆ{||yxv{…ŒŒˆ€{|}{xux†ŽŽ‡{}~|yvy~…ŒŠ„~{~zwy~†ŽŠ‚zy€}ywy~‡ŽŒ„|{€{xw}ƒ‰‰‚~{~†zxz‚…‰„€~‚‡}tvz‚‚…‰„~|„~xy~ƒ„‰‰…~|}wtv}†…‰‰…{{€{xz}„ƒ‡‰…€zy~|yy}…†ŠŠ…~xz|ww{ƒ†Ž‡ww~~zwy€ƒ‹Ž‹‚xw}}zy{€ƒŠ‹‡yx}|zy|‚„‹Œ‡yy||{yz€ƒŠŒ‰‚{z}|zwy~‚‹‰‚|{~}zuv|„ŒŽ‰{}€~zuu|ƒŒŒ†€{~‚€|ww|‚‹Œ…~z~‚~zwy}ƒŒ‡{}~|zy{€‡Š…{{ƒƒ|zx~„Ї‚…vuw‚„ˆ†€}~ƒzz{€€‚‰Šˆz{xsw{„…‡‹‰„|x~~yz{‚…‹ˆƒ|y~wwz‚„ˆŒ‰ƒ{y~~wuw€…ŠŽŠ…}x|~yvv|ˆŽˆ~vy|{zz~‚‡‰„|wz|{{{‚ˆŽ‹…|wy{zxx~‚‰†|wyzyxx}ˆŽŒ†~y{|zwuzŠŒ…}z}}|wuy€‰‰‚||€€~yv{ˆˆ€z{€{ww{€ŠŽŠ‚{{~}{xz„Šˆ|z€„}{y}‚‚‡ˆ‚}ƒ…yuw|‚‚‡‰ƒ}{€‚{x{€ƒ‚‡Š‰ƒ{yzuuy€††‹‰…€y{~zyzƒ„‰‰…€yz}xwz€…‡Œ‰„}x|zww~„†Œ‹‡€y{~{xvz€„ˆyz}|zy|€„Љ†€zz|{yy~ƒ†ŒŠ‡€yy{zyx}‚†ŒŒˆzz{yxw|†ŒŒˆ{||zxvy€†Œ‡€|}~{xvy~…ŒŠ…|€}zx{…‹‰ƒ}{€}zwx|†ŽŒ…}{|zy}‡ˆƒ~{~…{zz„‰…€}€…|tv{ƒƒ…‰„~{|}z|ƒ€ƒ‰‰†}yzvuz€†„‡Š‡ƒ{x}{z|}‚ƒ‡‹‡yw}{wy}…‡‹Œ‡vw~}xw{ƒ†‹ˆyx~}xwy€ƒŠŠ„zx||zz{€ƒŠ‹‡yx||zy|‚„‹Œˆ‚zx{{yx{ƒŠŠ…|yzyxxz€ƒ‰‹…{y{|{ww|‚‹ŽŒ„{z}}{wv{Šˆ{|€€~zy{‰Œ‡z|€|xx{‹Ž‰€z|~}|z|…‰…€|{‚‚|zyƒƒ‰‡}}…‚vux‚ƒŠˆ{z‚{y{€ƒŠ‹‡y{zuwz‚…‡Š„{w}€{yzƒ†Œ‰ƒ|w|~yxz‚†‰‰‚yv|~yyz€ƒ‡‹†}wz}zxw}€†Žˆ}vy}{{z~†ŒŠ†}xz|{yz‚ˆŠ…}wz|zxw~‚ˆŽ‹‡~y{{yww|€ˆŽ‡~z||zvu{‰ŽŒ†~{}}{xuz€ˆŒˆƒ}}€€}yw|€‡Œ‡{|€|xw{€‰ŽŠƒ}|}zyy~„Šˆ}z€…{x|‚‚†ˆƒ€~ƒ…yuw}ƒ‚†ˆ‚}{ƒ|y|ƒ€†‰ˆƒ{zzuvz†„ŠŠ†wy|{|~ƒŠŠ…~xz~{yy~ƒ†Œ…|uy{xx}‚†‡~wy|ywz€„ŒŠxy}{zy{…Œ…~vx~~|y|…Œ†~xy}|yvz†Žˆ€xz}{xuy†Žˆz{~|xtx†ŽŽ‡{~~{yvx~„‹Š†€|~€|xz}‚‹Š„}z~zwy|„†{}~|{z}€†ˆ…€{{ƒ‚|zy€‚…Š…€~€†~uux„†Š…~z}„€xx|‚ƒ†Š‰…~y|wsv}††ˆŠ†‚{y}yy{ƒˆ‹‡ƒ{x}|xx{ƒ…Љ€ww~ywy€ƒ‹Š‚xw}{xw}€‰…zv{}|{{€ˆŒ‰„zvz}|{|€ˆŠ„zwz|{yy~ŠŒ…zw{|{yx|‰Šƒ|{~}yuu|‚‹‹„}|~|yvv|‚‹‡{}€|xy|€‰‹†{}‚{ww|‚ŒŽˆ€{}~|{y|†‰…€{y€„}{y„„‰‡~}ƒ‚wvx„„‰‡|{€€yy|‚ƒƒ‰‹ˆ€xxwtw{ƒ†‡Œ‰„}x{}y{|ƒ„‰‡ƒ}y|~yxz…ˆŒˆzx~ywx„‡Œ‹…|w{{yw|†Ž‡}wz}{{z~†‹ˆ…}xz|{{{‚†ŒŠ…}xz|{yx~‚‡‹†z|{yxv{€‡Žˆz||zvtz€ˆŽ‡{~~{wuy‡Š„~|€€~yvz~‡‰{{€}yvy~ˆŽ‹…}|~}{xx}ƒ‰ˆ‚}z…{x{ƒ‚†ˆƒ€}„zvw|ƒƒ‡‰‚}z~ƒ}y{€ƒ†Š‰„{yzuvy……‹‹†€xy{yz~ƒ„‰Š…€xx}{xy~…‡Œ‹†~wy~zwx}„‡Œ‡wx}|yxz€ƒŒŽ‹‚ww||zz}ƒ‹‹‡€xx||{y|„Œ‰xwz{zx{…ŽŠ‚yxzzywy„ŽŠz{}|ytv~†ŽŽˆ€{|~}zvw}„ŒŠ…{~€|wy~„‹Š‚zy‚€|xy|„Œ„}z~}{z}‚ˆ‰‚}y{„ƒ}zz‚„‰…}…vwyƒ„ˆ…{|ƒ€yz}ƒ‚ƒ‰‰‡~xzxux}……‡‹ˆƒ{x~}y{|‚‡‹‡zx~}yy|ƒ…‰Œ‡€xy~xwy„ŠŠ„zw}~zxw}‰Ž‹…{w|~{zy~‡‹ˆ„|y}}zyz€‚‰‰ƒ|y||ywxƒŠŽŠ…|z{zxwyƒŠ‰ƒ|{}|zvv}ƒŠŠƒ||~}{wv{€‰Œ‰‚|}€~|yy|€‰‡y{€}ywzŠ‹‚{|}{zy|†Š†{z…~{y}‚ˆˆƒ~„‚vtw~„…‰ˆ|{€‚zx{‚‚ˆ‹‰‚zyxsv{‚…†‹Š†y|~xx{€‚„‹Š…~y{|wxz„ˆŠƒ{w|~ywx~ƒˆŽ‹†}w{~{yw{€†‡}vz~|{z}†Š„|w{}{zz}‡†|vy|zyx}‚ˆŽŒ†}x{}zxv{€ˆŽ‹‡z|~{wty€‰ŽŒ†~{~|wuy†Œ‰„~|~yvz†Œˆ‚{{}yw{‡Šƒ||€~{yy~ƒˆˆ‚}z†€zy{‚‚†‰ƒ€}…{uw|ƒ‚„ˆ„{~‚|x{„€„‰‰…|y{vvz€…„‰Š†yy~|z{~ƒƒˆŠ†€xx~zwy…†ŒŒ†}ux{xy}ƒ„ŠŒ‰xy~|xvy‚ŒŒƒyw||{z|€ƒŠ‹‡€xx||{z}‚…Œˆ€ww{{zy|…‹‰‚zy{zywzƒŒ‰‚{{}}ytu}„Š{|}zuv}„Œ‹…{~‚€|wy}ƒŠŠ„}y~‚€{vw}„‡z}~}zx|‚ˆŠ„~{|„ƒ{wv~ƒ†Œˆ}~…uux‚ƒŠˆ‚}|‚yz|€‚ˆ‹ˆ€y{xuw|„„†‹‰…}y~}xyz€‚†‹‰…~z}{uvzƒ…‰‰ƒzx~}xwy€ƒˆŠ„|y}~yww~€‡ŽŒ†|w{|{{z‚ˆŒˆƒ{x{|{{{€‚ˆŒŠ†}wyzzzy‚ˆ‹†}y||ywx~ˆŒ‹†~z||zvu|‚ŠŽ‹„}|}zvu{‰Œˆ‚}~‚€|xx}‰‹†z}‚€|ww|ŠŽ‰{|~{yz†Š†€{zƒ‚z|„†‚~|}‚…‚{|€‚‚~zz}ƒ‡‡…~}}~~€€~}~€€~„„‚€}|~€~}}„„~€‚€~{}ƒ‚€‚€|}ƒƒ~}|~‚}|‚„ƒ~|}€€}}ƒ‚€~€}}€€~ƒƒ€~~}~~€ƒ„…‚}}|{}~€ƒ„…ƒƒ‚~}{{|}€‚‚ƒƒƒƒ€~||~~€€‚ƒ~||~~‚‚ƒƒ|z|€‚€ƒ~||~~ƒƒ‚€€~||}}€‚€€€}~€‚‚€€~~~€€‚‚€€€€~~€‚ƒ‚}}~~€‚ƒƒ~~€~~~ƒƒ~~€€€€~~~€‚~~}~~€‚‚‚€~~~~€‚ƒ‚€~~}}~€‚ƒ‚~~}~€‚‚€€€~€€~‚‚~}~‚€‚~||~€‚‚€ƒ‚€}||‚ƒ‚€€‚‚}{{}ƒ‚‚€~}~€€€‚‚~}}~€€‚„ƒ‚}|}€€‚‚~}~€‚‚}|}€‚‚€}{|~€‚|{}€€‚€€€~~€€€€€€€}}~‚‚~||~€€‚‚}|}€€ƒƒ‚€~~~~~~~€ƒ„‚€~~~€~~€ƒ„‚}}~~~~„…ƒ€}|}~€€€€‚„„‚|{|~€€ƒ„ƒ~}}~€‚€~}~€€€ƒƒƒ€}|~‚‚~€€~~€€~€€€€€€€~€€€€‚€~~€‚€€€€~~~€€~€€€€€€€~~€‚€€€€€~€~€€€€~~‚€~€~€€~€€€~~€~~‚€~~€€~~€‚‚€~€€~€ƒƒ‚~~~~~~‚ƒ€~~~€‚‚€~~~~€€‚ƒ‚~}~~€€€‚ƒ‚€~~}}~€‚ƒ‚€~~~~€‚‚€~~€€€€€€€€€€€€~~€~~~€€€€~€€~~‚‚~~€~}~€€‚€~~€€€€~~€€€€€‚~}~€€€‚€~€€€€€~~€€€‚‚€~~€€‚‚€~}~~~€‚ƒ‚€~~~~€€‚€~~~~€~~€€€€~~~€€€~~~€‚~~€€€€€€€€€€€€€€€€€€~~€€€€€€~€€€€€€€€€€€‚~~€€€€€€€€€€€€€€€€€€€~~€€€€€~€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€~€€€€€€€€€€€€€€€€~~€€€€€€€€€€€€€€€€€€€€€€€€€~~~€€€€~~€€€€€~~€€€€€€€~~€€€~€€€~€€€€€€€€€€€€€€€€€€~~~€€€€~~€€€€€€€€€€€€€€€€€€€€€€€€€€€€€~~€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€ \ No newline at end of file