From d9924962ffb611b487c404431f33e1ded85861a3 Mon Sep 17 00:00:00 2001 From: Francois-Olivier Devaux Date: Tue, 21 Aug 2007 10:17:35 +0000 Subject: [PATCH] Added support for Visual Studio 2005 --- ChangeLog | 8 +- DllOpenJPEG.sln | 20 ++ DllOpenJPEG.vcproj | 670 +++++++++++++++++++++++++++++++++++++ LibOpenJPEG.sln | 20 ++ LibOpenJPEG.vcproj | 638 +++++++++++++++++++++++++++++++++++ codec/image_to_j2k.sln | Bin 0 -> 1506 bytes codec/image_to_j2k.vcproj | 284 ++++++++++++++++ codec/j2k_to_image.sln | Bin 0 -> 1506 bytes codec/j2k_to_image.vcproj | 283 ++++++++++++++++ mj2/MJ2_Extractor.sln | 29 ++ mj2/MJ2_Extractor.vcproj | 354 ++++++++++++++++++++ mj2/MJ2_Wrapper.sln | 29 ++ mj2/MJ2_Wrapper.vcproj | 353 +++++++++++++++++++ mj2/frames_to_mj2.sln | Bin 0 -> 1508 bytes mj2/frames_to_mj2.vcproj | 405 ++++++++++++++++++++++ mj2/mj2_to_frames.sln | 29 ++ mj2/mj2_to_frames.vcproj | 324 ++++++++++++++++++ mj2/mj2_to_metadata.sln | 29 ++ mj2/mj2_to_metadata.vcproj | 541 +++++++++++++++++------------- 19 files changed, 3778 insertions(+), 238 deletions(-) create mode 100644 DllOpenJPEG.sln create mode 100644 DllOpenJPEG.vcproj create mode 100644 LibOpenJPEG.sln create mode 100644 LibOpenJPEG.vcproj create mode 100644 codec/image_to_j2k.sln create mode 100644 codec/image_to_j2k.vcproj create mode 100644 codec/j2k_to_image.sln create mode 100644 codec/j2k_to_image.vcproj create mode 100644 mj2/MJ2_Extractor.sln create mode 100644 mj2/MJ2_Extractor.vcproj create mode 100644 mj2/MJ2_Wrapper.sln create mode 100644 mj2/MJ2_Wrapper.vcproj create mode 100644 mj2/frames_to_mj2.sln create mode 100644 mj2/frames_to_mj2.vcproj create mode 100644 mj2/mj2_to_frames.sln create mode 100644 mj2/mj2_to_frames.vcproj create mode 100644 mj2/mj2_to_metadata.sln diff --git a/ChangeLog b/ChangeLog index 5832d563..e97d4056 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,10 +5,14 @@ What's New for OpenJPEG ! : changed + : added -August 20, 2008 +August 21, 2007 ++ [FOD] Added support for Visual Studio 2005 +* [FOD] Robustified MJ2 codecs + +August 20, 2007 + [FOD] Added support for the TGA file format in the codec -August 08, 2008 +August 08, 2007 * [Parvatha] Fixed the DCinema filesize allocation. It now includes the SOT marker size August 02, 2007 diff --git a/DllOpenJPEG.sln b/DllOpenJPEG.sln new file mode 100644 index 00000000..5125e739 --- /dev/null +++ b/DllOpenJPEG.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DllOpenJPEG", "DllOpenJPEG.vcproj", "{89AC992C-5E2C-4E6B-A453-61C1DF446216}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.ActiveCfg = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Debug|Win32.Build.0 = Debug|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.ActiveCfg = Release|Win32 + {89AC992C-5E2C-4E6B-A453-61C1DF446216}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/DllOpenJPEG.vcproj b/DllOpenJPEG.vcproj new file mode 100644 index 00000000..a035b985 --- /dev/null +++ b/DllOpenJPEG.vcproj @@ -0,0 +1,670 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/LibOpenJPEG.sln b/LibOpenJPEG.sln new file mode 100644 index 00000000..f088d7a9 --- /dev/null +++ b/LibOpenJPEG.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "LibOpenJPEG.vcproj", "{6A47DBE3-8F80-4ABE-8688-5F8DC620977C}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Debug|Win32.ActiveCfg = Debug|Win32 + {6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Debug|Win32.Build.0 = Debug|Win32 + {6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Release|Win32.ActiveCfg = Release|Win32 + {6A47DBE3-8F80-4ABE-8688-5F8DC620977C}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/LibOpenJPEG.vcproj b/LibOpenJPEG.vcproj new file mode 100644 index 00000000..e55fd8b2 --- /dev/null +++ b/LibOpenJPEG.vcproj @@ -0,0 +1,638 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/codec/image_to_j2k.sln b/codec/image_to_j2k.sln new file mode 100644 index 0000000000000000000000000000000000000000..196e53c6bb7778e9057a41b86ff5f03dd9ac3565 GIT binary patch literal 1506 zcmbW1-ENyO6vuZPB;EnBn^vlkO`vfub`gW!Y3jCUk-D2n6$wt{j^c=q-n4zPUF?ze z3Og*2;I`^$?l?YQzw`Goe}4V8t%uy{z;CHacEofLf^<$b>iMr7EL40D55NwAwpt|XiNygc!r}X0dL?x zx~I+u$Gud`uUnaan)3_y%yB*MNAJYDTWz6e`Lw zkhV2yaTcHrNO;nkv4pWxnXi;A8zr{7toGoe(Xe?TZ&)B;9E52}Osy_5y-YHQ+kJGj z-8w`%U#m@BB+U%-EUDJ87(4Jnc0rImisiE2JbYLA*ay0v)i}S&OeUq=yA6BCXtaNZ z(<<}|4anHX877a{N0sj1))$>h RSRygIT<{kg>|5H_yT7fVxjz5^ literal 0 HcmV?d00001 diff --git a/codec/image_to_j2k.vcproj b/codec/image_to_j2k.vcproj new file mode 100644 index 00000000..f98df893 --- /dev/null +++ b/codec/image_to_j2k.vcproj @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/codec/j2k_to_image.sln b/codec/j2k_to_image.sln new file mode 100644 index 0000000000000000000000000000000000000000..22103f55caa4e479ba87b749e95a7ac11e4f12a2 GIT binary patch literal 1506 zcmbW1OK#gR5Qek00Np`QHYpGaq{P_Nq6_Nb6h)dEHPCJf1hPdNOcl}4BO50t>mom=E%IZq0+?vWvoLf^> z+$9hrin2NM9gI!m^sgKj;|tT673x+jt22Acg3u4+fFTx8jtGe`Vi6$-V~#_gfS0TaY7(ZrxuumAa94$yzj>`*t75Wzcy%_7Nl8MKthXNFUI`Xo4ppjVI%H z+yISQoH=L%5}vhYBw*}R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mj2/MJ2_Extractor.sln b/mj2/MJ2_Extractor.sln new file mode 100644 index 00000000..63a3b721 --- /dev/null +++ b/mj2/MJ2_Extractor.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MJ2_Extractor", "MJ2_Extractor.vcproj", "{BCBEB12A-B691-4B14-9DC5-193BCD01183D}" + ProjectSection(ProjectDependencies) = postProject + {4F27AA53-4181-4A1A-8238-3931B0A41048} = {4F27AA53-4181-4A1A-8238-3931B0A41048} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "..\LibOpenJPEG.vcproj", "{4F27AA53-4181-4A1A-8238-3931B0A41048}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Debug|Win32.ActiveCfg = Debug|Win32 + {BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Debug|Win32.Build.0 = Debug|Win32 + {BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Release|Win32.ActiveCfg = Release|Win32 + {BCBEB12A-B691-4B14-9DC5-193BCD01183D}.Release|Win32.Build.0 = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.Build.0 = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.ActiveCfg = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/mj2/MJ2_Extractor.vcproj b/mj2/MJ2_Extractor.vcproj new file mode 100644 index 00000000..3c6e9a68 --- /dev/null +++ b/mj2/MJ2_Extractor.vcproj @@ -0,0 +1,354 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mj2/MJ2_Wrapper.sln b/mj2/MJ2_Wrapper.sln new file mode 100644 index 00000000..850c3056 --- /dev/null +++ b/mj2/MJ2_Wrapper.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MJ2_Wrapper", "MJ2_Wrapper.vcproj", "{87C98B26-E658-4992-8810-201C3CE67011}" + ProjectSection(ProjectDependencies) = postProject + {4F27AA53-4181-4A1A-8238-3931B0A41048} = {4F27AA53-4181-4A1A-8238-3931B0A41048} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "..\LibOpenJPEG.vcproj", "{4F27AA53-4181-4A1A-8238-3931B0A41048}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {87C98B26-E658-4992-8810-201C3CE67011}.Debug|Win32.ActiveCfg = Debug|Win32 + {87C98B26-E658-4992-8810-201C3CE67011}.Debug|Win32.Build.0 = Debug|Win32 + {87C98B26-E658-4992-8810-201C3CE67011}.Release|Win32.ActiveCfg = Release|Win32 + {87C98B26-E658-4992-8810-201C3CE67011}.Release|Win32.Build.0 = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.Build.0 = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.ActiveCfg = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/mj2/MJ2_Wrapper.vcproj b/mj2/MJ2_Wrapper.vcproj new file mode 100644 index 00000000..2c0f5c2c --- /dev/null +++ b/mj2/MJ2_Wrapper.vcproj @@ -0,0 +1,353 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mj2/frames_to_mj2.sln b/mj2/frames_to_mj2.sln new file mode 100644 index 0000000000000000000000000000000000000000..f62e33dc28310e3481cebc013182f6db78196f0c GIT binary patch literal 1508 zcmbW1-)@^Q6vlU3B;EnBn@*~cArPF4USKe-rgn=KX}g(JkzgWM1V{YoO`0d$MIWiJ z(8CfE+)f=0SN1vfIX{2?%=4coUAq;FQdTmnjh~`wlH8cpO)8`@lX+7MSs1a%`Gpb7 za+SauURG^zVqvUnpI_~9F!pq9TFQIAsL#y}q2VNClpsRg0NHkg5s7RYVI1IaVnfz- zw&oY((lE0!S@G(wmUpXr$GmtIupSm`sM^LiZs?DRM=4^CJw`4eAtGbnLvic{o*T0W zzOAWiXM2trumJM;ej4#LFH&AC1h3l8YgyI%6znT_wxZVES`$q0O3Wi?uvhIFM>RY-N>EUgC UlPL!i#lg*t{j + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mj2/mj2_to_frames.sln b/mj2/mj2_to_frames.sln new file mode 100644 index 00000000..e54e17ad --- /dev/null +++ b/mj2/mj2_to_frames.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mj2_to_frames", "mj2_to_frames.vcproj", "{64325EAD-A083-4C8E-B852-71006428881D}" + ProjectSection(ProjectDependencies) = postProject + {4F27AA53-4181-4A1A-8238-3931B0A41048} = {4F27AA53-4181-4A1A-8238-3931B0A41048} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "..\LibOpenJPEG.vcproj", "{4F27AA53-4181-4A1A-8238-3931B0A41048}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {64325EAD-A083-4C8E-B852-71006428881D}.Debug|Win32.ActiveCfg = Debug|Win32 + {64325EAD-A083-4C8E-B852-71006428881D}.Debug|Win32.Build.0 = Debug|Win32 + {64325EAD-A083-4C8E-B852-71006428881D}.Release|Win32.ActiveCfg = Release|Win32 + {64325EAD-A083-4C8E-B852-71006428881D}.Release|Win32.Build.0 = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.Build.0 = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.ActiveCfg = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/mj2/mj2_to_frames.vcproj b/mj2/mj2_to_frames.vcproj new file mode 100644 index 00000000..5ac797ad --- /dev/null +++ b/mj2/mj2_to_frames.vcproj @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mj2/mj2_to_metadata.sln b/mj2/mj2_to_metadata.sln new file mode 100644 index 00000000..7cfbb6f2 --- /dev/null +++ b/mj2/mj2_to_metadata.sln @@ -0,0 +1,29 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mj2_to_metadata", "mj2_to_metadata.vcproj", "{5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}" + ProjectSection(ProjectDependencies) = postProject + {4F27AA53-4181-4A1A-8238-3931B0A41048} = {4F27AA53-4181-4A1A-8238-3931B0A41048} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LibOpenJPEG", "..\LibOpenJPEG.vcproj", "{4F27AA53-4181-4A1A-8238-3931B0A41048}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}.Debug|Win32.ActiveCfg = Debug|Win32 + {5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}.Debug|Win32.Build.0 = Debug|Win32 + {5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}.Release|Win32.ActiveCfg = Release|Win32 + {5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}.Release|Win32.Build.0 = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.ActiveCfg = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Debug|Win32.Build.0 = Debug|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.ActiveCfg = Release|Win32 + {4F27AA53-4181-4A1A-8238-3931B0A41048}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/mj2/mj2_to_metadata.vcproj b/mj2/mj2_to_metadata.vcproj index 2e058f86..e7cde7d0 100644 --- a/mj2/mj2_to_metadata.vcproj +++ b/mj2/mj2_to_metadata.vcproj @@ -1,134 +1,201 @@ - + + ProjectGUID="{5B7DCDB5-EA9B-4F31-AAE8-44B2DBD44060}" + > + Name="Win32" + /> + + - - - - - - - - - - - - - - - + ATLMinimizesCRunTimeLibraryUsage="false" + CharacterSet="2" + > + + + + + + SuppressStartupBanner="true" + DebugInformationFormat="4" + /> - - - - - + Name="VCManagedResourceCompilerTool" + /> + /> + Name="VCPreLinkEventTool" + /> + Name="VCLinkerTool" + OutputFile=".\mj2_to_metadata___Win32_Debug0/mj2_to_metadata.exe" + LinkIncremental="2" + SuppressStartupBanner="true" + IgnoreDefaultLibraryNames="libc" + GenerateDebugInformation="true" + ProgramDatabaseFile=".\mj2_to_metadata___Win32_Debug0/mj2_to_metadata.pdb" + SubSystem="1" + TargetMachine="1" + /> + Name="VCALinkTool" + /> + Name="VCManifestTool" + /> + Name="VCXDCMakeTool" + /> + + + + + + + + + + + + + + + + + + + + + + + + + @@ -136,144 +203,146 @@ - - - - - - - - - - - - - - - - - - - - + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -