This reverts commit 99893a6475.
			
			
This commit is contained in:
		| @@ -150,16 +150,12 @@ class Wrf(Package): | |||||||
|     patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:") |     patch("patches/4.2/var.gen_be.Makefile.patch", when="@4.2:") | ||||||
|     patch("patches/4.2/Makefile.patch", when="@4.2") |     patch("patches/4.2/Makefile.patch", when="@4.2") | ||||||
|     patch("patches/4.2/tirpc_detect.patch", when="@4.2") |     patch("patches/4.2/tirpc_detect.patch", when="@4.2") | ||||||
|     patch("patches/4.2/add_aarch64.patch", when="@4.2:4.3.1 %gcc") |     patch("patches/4.2/add_aarch64.patch", when="@4.2:") | ||||||
|     patch("patches/4.2/add_aarch64_acfl.patch", when="@4.2:4.3.1 %arm") |  | ||||||
|     patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0") |     patch("patches/4.2/configure_aocc_2.3.patch", when="@4.2 %aocc@:2.4.0") | ||||||
|     patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2: %aocc@3.0.0:3.2.0") |     patch("patches/4.2/configure_aocc_3.0.patch", when="@4.2: %aocc@3.0.0:3.2.0") | ||||||
|     patch("patches/4.2/hdf5_fix.patch", when="@4.2: %aocc") |     patch("patches/4.2/hdf5_fix.patch", when="@4.2: %aocc") | ||||||
|     patch("patches/4.2/derf_fix.patch", when="@4.2 %aocc") |     patch("patches/4.2/derf_fix.patch", when="@4.2 %aocc") | ||||||
| 
 | 
 | ||||||
|     patch("patches/4.3/add_aarch64.patch", when="@4.3.2: %gcc") |  | ||||||
|     patch("patches/4.3/add_aarch64_acfl.patch", when="@4.3.2: %arm") |  | ||||||
| 
 |  | ||||||
|     patch("patches/4.4/arch.postamble.patch", when="@4.4:") |     patch("patches/4.4/arch.postamble.patch", when="@4.4:") | ||||||
|     patch("patches/4.4/configure.patch", when="@4.4:") |     patch("patches/4.4/configure.patch", when="@4.4:") | ||||||
|     # Various syntax fixes found by FPT tool |     # Various syntax fixes found by FPT tool | ||||||
| @@ -329,7 +325,7 @@ def configure(self, spec, prefix): | |||||||
|         # Remove broken default options... |         # Remove broken default options... | ||||||
|         self.do_configure_fixup() |         self.do_configure_fixup() | ||||||
| 
 | 
 | ||||||
|         if self.spec.compiler.name not in ["intel", "gcc", "aocc", "fj", "arm"]: |         if self.spec.compiler.name not in ["intel", "gcc", "aocc", "fj"]: | ||||||
|             raise InstallError( |             raise InstallError( | ||||||
|                 "Compiler %s not currently supported for WRF build." % self.spec.compiler.name |                 "Compiler %s not currently supported for WRF build." % self.spec.compiler.name | ||||||
|             ) |             ) | ||||||
|   | |||||||
| @@ -1,17 +1,17 @@ | |||||||
|  | From 9eb0c715cfcefb3df204200d44f5e8526bd14e31 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Phil Tooley <phil.tooley@nag.co.uk> | ||||||
|  | Date: Fri, 16 Oct 2020 13:20:24 +0100 | ||||||
|  | Subject: [PATCH] add aarch64 gcc support | ||||||
|  |  | ||||||
|  | --- | ||||||
|  |  arch/configure.defaults | 43 +++++++++++++++++++++++++++++++++++++++++ | ||||||
|  |  1 file changed, 43 insertions(+) | ||||||
|  |  | ||||||
| diff --git a/arch/configure.defaults b/arch/configure.defaults | diff --git a/arch/configure.defaults b/arch/configure.defaults | ||||||
| index 6e98941a..17a94e48 100644 | index 7767a81e..bfd2a802 100644 | ||||||
| --- a/arch/configure.defaults | --- a/arch/configure.defaults | ||||||
| +++ b/arch/configure.defaults | +++ b/arch/configure.defaults | ||||||
| @@ -44,7 +44,7 @@ RLFLAGS		= | @@ -1975,6 +1975,49 @@ LIB_BUNDLED     = \ | ||||||
|  CC_TOOLS        =      cc  |  | ||||||
|   |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH    Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH    Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -1981,6 +1981,49 @@ LIB_BUNDLED     = \ |  | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \ |                       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \ | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o |                       $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o | ||||||
|   |   | ||||||
| @@ -34,19 +34,19 @@ index 6e98941a..17a94e48 100644 | |||||||
| +RWORDSIZE       =       CONFIGURE_RWORDSIZE | +RWORDSIZE       =       CONFIGURE_RWORDSIZE | ||||||
| +PROMOTION       =       #-fdefault-real-8 | +PROMOTION       =       #-fdefault-real-8 | ||||||
| +ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM | +ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM | ||||||
| +CFLAGS_LOCAL    =       -w -O3 -c | +CFLAGS_LOCAL    =       -w -O3 -c -march=native -mtune=native | ||||||
| +DFLAGS_LOCAL   =        | +DFLAGS_LOCAL   =        | ||||||
| +CPLUSPLUSLIB    =        | +CPLUSPLUSLIB    =        | ||||||
| +ESMF_LDFLAG     =       $(CPLUSPLUSLIB) | +ESMF_LDFLAG     =       $(CPLUSPLUSLIB) | ||||||
| +FCOPTIM         =       -Ofast -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations -funroll-loops | +FCOPTIM         =       -O3 -ftree-vectorize -funroll-loops -march=native -mtune=native | ||||||
| +FCREDUCEDOPT   =       $(FCOPTIM) | +FCREDUCEDOPT	=       $(FCOPTIM) | ||||||
| +FCNOOPT                =       -O0 | +FCNOOPT		=       -O0 | ||||||
| +FCDEBUG         =       -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow | +FCDEBUG         =       -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow | ||||||
| +FORMAT_FIXED    =       -ffixed-form | +FORMAT_FIXED    =       -ffixed-form | ||||||
| +FORMAT_FREE     =       -ffree-form -ffree-line-length-none | +FORMAT_FREE     =       -ffree-form -ffree-line-length-none | ||||||
| +FCCOMPAT        = | +FCSUFFIX        =        | ||||||
| +BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4 | +BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4 | ||||||
| +FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) | +FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) | ||||||
| +FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) | +FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) | ||||||
| +MODULE_SRCH_FLAG =      | +MODULE_SRCH_FLAG =      | ||||||
| +TRADFLAG        =      CONFIGURE_TRADFLAG | +TRADFLAG        =      CONFIGURE_TRADFLAG | ||||||
| @@ -55,9 +55,12 @@ index 6e98941a..17a94e48 100644 | |||||||
| +ARFLAGS         =      ru | +ARFLAGS         =      ru | ||||||
| +M4              =      m4 -G | +M4              =      m4 -G | ||||||
| +RANLIB          =      ranlib | +RANLIB          =      ranlib | ||||||
| +RLFLAGS                = | +RLFLAGS		=	 | ||||||
| +CC_TOOLS        =      $(SCC)  | +CC_TOOLS        =      $(SCC)  | ||||||
| + | + | ||||||
|  #insert new stanza here |  #insert new stanza here | ||||||
|   |   | ||||||
|  ########################################################### |  ########################################################### | ||||||
|  | --  | ||||||
|  | 2.28.0 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -1,63 +0,0 @@ | |||||||
| diff --git a/arch/configure.defaults b/arch/configure.defaults |  | ||||||
| index 6e98941a..85d96019 100644 |  | ||||||
| --- a/arch/configure.defaults |  | ||||||
| +++ b/arch/configure.defaults |  | ||||||
| @@ -44,7 +44,7 @@ RLFLAGS		= |  | ||||||
|  CC_TOOLS        =      cc  |  | ||||||
|   |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH    Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH    Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -1981,6 +1981,49 @@ LIB_BUNDLED     = \ |  | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/module_internal_header_util.o \ |  | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o |  | ||||||
|   |  | ||||||
| +########################################################### |  | ||||||
| +#ARCH    Linux aarch64, armflang compiler  #serial smpar dmpar dm+sm |  | ||||||
| +# |  | ||||||
| +DESCRIPTION     =       Arm GNU ($SFC/$SCC): Aarch64 |  | ||||||
| +DMPARALLEL      =       # 1 |  | ||||||
| +OMPCPP          =       # -D_OPENMP |  | ||||||
| +OMP             =       # -fopenmp |  | ||||||
| +OMPCC           =       # -fopenmp |  | ||||||
| +SFC             =       armflang |  | ||||||
| +SCC             =       armclang |  | ||||||
| +CCOMP           =       armclang |  | ||||||
| +DM_FC           =       mpif90 |  | ||||||
| +DM_CC           =       mpicc -DMPI2_SUPPORT |  | ||||||
| +FC              =       CONFIGURE_FC |  | ||||||
| +CC              =       CONFIGURE_CC |  | ||||||
| +LD              =       $(FC) |  | ||||||
| +RWORDSIZE       =       CONFIGURE_RWORDSIZE |  | ||||||
| +PROMOTION       =       #-fdefault-real-8 |  | ||||||
| +ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM |  | ||||||
| +CFLAGS_LOCAL    =       -w -O3 -c |  | ||||||
| +DFLAGS_LOCAL   = |  | ||||||
| +CPLUSPLUSLIB    = |  | ||||||
| +ESMF_LDFLAG     =       $(CPLUSPLUSLIB) |  | ||||||
| +FCOPTIM         =       -Ofast -funroll-loops |  | ||||||
| +FCREDUCEDOPT   =       $(FCOPTIM) |  | ||||||
| +FCNOOPT                =       -O0 |  | ||||||
| +FCDEBUG         =       -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow |  | ||||||
| +FORMAT_FIXED    =       -ffixed-form |  | ||||||
| +FORMAT_FREE     =       -ffree-form -ffree-line-length-0 |  | ||||||
| +FCCOMPAT        = |  | ||||||
| +BYTESWAPIO      =       -fconvert=big-endian |  | ||||||
| +FCBASEOPTS_NO_G =       -w $(OMP) $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) |  | ||||||
| +FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) |  | ||||||
| +MODULE_SRCH_FLAG = |  | ||||||
| +TRADFLAG        =      CONFIGURE_TRADFLAG |  | ||||||
| +CPP             =      /lib/cpp CONFIGURE_CPPFLAGS |  | ||||||
| +AR              =      ar |  | ||||||
| +ARFLAGS         =      ru |  | ||||||
| +M4              =      m4 -G |  | ||||||
| +RANLIB          =      ranlib |  | ||||||
| +RLFLAGS                = |  | ||||||
| +CC_TOOLS        =      $(SCC) |  | ||||||
| + |  | ||||||
|  #insert new stanza here |  | ||||||
|   |  | ||||||
|  ########################################################### |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| diff --git a/arch/configure.defaults b/arch/configure.defaults |  | ||||||
| index 6aa210d7..eead95fb 100644 |  | ||||||
| --- a/arch/configure.defaults |  | ||||||
| +++ b/arch/configure.defaults |  | ||||||
| @@ -45,7 +45,7 @@ CC_TOOLS        =      cc |  | ||||||
|  NETCDFPAR_BUILD	=      CONFIGURE_NETCDFPAR_BUILD |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH    Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH    Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -2023,7 +2023,7 @@ LIB_BUNDLED     = \ |  | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH   Linux   armv7l aarch64, gnu OpenMPI #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH   Linux   , gnu OpenMPI #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -2066,4 +2066,47 @@ RLFLAGS         = |  | ||||||
|  CC_TOOLS        =      $(SCC) |  | ||||||
|  NETCDFPAR_BUILD	=      CONFIGURE_NETCDFPAR_BUILD |  | ||||||
|  |  | ||||||
| +########################################################### |  | ||||||
| +#ARCH    Linux aarch64, gfortran compiler with gcc  #serial smpar dmpar dm+sm |  | ||||||
| +# |  | ||||||
| +DESCRIPTION     =       Arm GNU ($SFC/$SCC): Aarch64 |  | ||||||
| +DMPARALLEL      =       # 1 |  | ||||||
| +OMPCPP          =       # -D_OPENMP |  | ||||||
| +OMP             =       # -fopenmp |  | ||||||
| +OMPCC           =       # -fopenmp |  | ||||||
| +SFC             =       gfortran |  | ||||||
| +SCC             =       gcc |  | ||||||
| +CCOMP           =       gcc |  | ||||||
| +DM_FC           =       mpif90 |  | ||||||
| +DM_CC           =       mpicc -DMPI2_SUPPORT |  | ||||||
| +FC              =       CONFIGURE_FC |  | ||||||
| +CC              =       CONFIGURE_CC |  | ||||||
| +LD              =       $(FC) |  | ||||||
| +RWORDSIZE       =       CONFIGURE_RWORDSIZE |  | ||||||
| +PROMOTION       =       #-fdefault-real-8 |  | ||||||
| +ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM |  | ||||||
| +CFLAGS_LOCAL    =       -w -O3 -c |  | ||||||
| +DFLAGS_LOCAL   = |  | ||||||
| +CPLUSPLUSLIB    = |  | ||||||
| +ESMF_LDFLAG     =       $(CPLUSPLUSLIB) |  | ||||||
| +FCOPTIM         =       -Ofast -fno-expensive-optimizations -fno-reciprocal-math -fsigned-zeros -fno-unsafe-math-optimizations -funroll-loops |  | ||||||
| +FCREDUCEDOPT	=       $(FCOPTIM) |  | ||||||
| +FCNOOPT		=       -O0 |  | ||||||
| +FCDEBUG         =       -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow |  | ||||||
| +FORMAT_FIXED    =       -ffixed-form |  | ||||||
| +FORMAT_FREE     =       -ffree-form -ffree-line-length-none |  | ||||||
| +FCCOMPAT        = |  | ||||||
| +BYTESWAPIO      =       -fconvert=big-endian -frecord-marker=4 |  | ||||||
| +FCBASEOPTS_NO_G =       -w $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) |  | ||||||
| +FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) |  | ||||||
| +MODULE_SRCH_FLAG = |  | ||||||
| +TRADFLAG        =      CONFIGURE_TRADFLAG |  | ||||||
| +CPP             =      /lib/cpp CONFIGURE_CPPFLAGS |  | ||||||
| +AR              =      ar |  | ||||||
| +ARFLAGS         =      ru |  | ||||||
| +M4              =      m4 -G |  | ||||||
| +RANLIB          =      ranlib |  | ||||||
| +RLFLAGS		= |  | ||||||
| +CC_TOOLS        =      $(SCC) |  | ||||||
| + |  | ||||||
|  #insert new stanza here |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
| @@ -1,72 +0,0 @@ | |||||||
| diff --git a/arch/configure.defaults b/arch/configure.defaults |  | ||||||
| index 6aa210d7..45630015 100644 |  | ||||||
| --- a/arch/configure.defaults |  | ||||||
| +++ b/arch/configure.defaults |  | ||||||
| @@ -45,7 +45,7 @@ CC_TOOLS        =      cc |  | ||||||
|  NETCDFPAR_BUILD	=      CONFIGURE_NETCDFPAR_BUILD |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH    Linux i486 i586 i686 armv7l aarch64, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH    Linux i486 i586 i686, gfortran compiler with gcc #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -2023,7 +2023,7 @@ LIB_BUNDLED     = \ |  | ||||||
|                       $(WRF_SRC_ROOT_DIR)/frame/pack_utils.o |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
| -#ARCH   Linux   armv7l aarch64, gnu OpenMPI #serial smpar dmpar dm+sm |  | ||||||
| +#ARCH   Linux   , gnu OpenMPI #serial smpar dmpar dm+sm |  | ||||||
|  # |  | ||||||
|  DESCRIPTION     =       GNU ($SFC/$SCC) |  | ||||||
|  DMPARALLEL      =       # 1 |  | ||||||
| @@ -2066,4 +2066,47 @@ RLFLAGS         = |  | ||||||
|  CC_TOOLS        =      $(SCC) |  | ||||||
|  NETCDFPAR_BUILD	=      CONFIGURE_NETCDFPAR_BUILD |  | ||||||
|  |  | ||||||
| +########################################################### |  | ||||||
| +#ARCH    Linux aarch64, armflang compiler #serial smpar dmpar dm+sm |  | ||||||
| +# |  | ||||||
| +DESCRIPTION     =       Arm GNU ($SFC/$SCC): Aarch64 |  | ||||||
| +DMPARALLEL      =       # 1 |  | ||||||
| +OMPCPP          =       # -D_OPENMP |  | ||||||
| +OMP             =       # -fopenmp |  | ||||||
| +OMPCC           =       # -fopenmp |  | ||||||
| +SFC             =       armflang |  | ||||||
| +SCC             =       armclang |  | ||||||
| +CCOMP           =       armclang |  | ||||||
| +DM_FC           =       mpif90 |  | ||||||
| +DM_CC           =       mpicc -DMPI2_SUPPORT |  | ||||||
| +FC              =       CONFIGURE_FC |  | ||||||
| +CC              =       CONFIGURE_CC |  | ||||||
| +LD              =       $(FC) |  | ||||||
| +RWORDSIZE       =       CONFIGURE_RWORDSIZE |  | ||||||
| +PROMOTION       =       #-fdefault-real-8 |  | ||||||
| +ARCH_LOCAL      =       -DNONSTANDARD_SYSTEM_SUBR  -DWRF_USE_CLM |  | ||||||
| +CFLAGS_LOCAL    =       -w -O3 -c |  | ||||||
| +DFLAGS_LOCAL   = |  | ||||||
| +CPLUSPLUSLIB    = |  | ||||||
| +ESMF_LDFLAG     =       $(CPLUSPLUSLIB) |  | ||||||
| +FCOPTIM         =       -Ofast -funroll-loops |  | ||||||
| +FCREDUCEDOPT	=       $(FCOPTIM) |  | ||||||
| +FCNOOPT		=       -O0 |  | ||||||
| +FCDEBUG         =       -g # -g $(FCNOOPT) # -ggdb -fbacktrace -fcheck=bounds,do,mem,pointer -ffpe-trap=invalid,zero,overflow |  | ||||||
| +FORMAT_FIXED    =       -ffixed-form |  | ||||||
| +FORMAT_FREE     =       -ffree-form -ffree-line-length-0 |  | ||||||
| +FCCOMPAT        = |  | ||||||
| +BYTESWAPIO      =       -fconvert=big-endian |  | ||||||
| +FCBASEOPTS_NO_G =       -w $(OMP) $(FORMAT_FREE) $(BYTESWAPIO) $(FCCOMPAT) |  | ||||||
| +FCBASEOPTS      =       $(FCBASEOPTS_NO_G) $(FCDEBUG) |  | ||||||
| +MODULE_SRCH_FLAG = |  | ||||||
| +TRADFLAG        =      CONFIGURE_TRADFLAG |  | ||||||
| +CPP             =      /lib/cpp CONFIGURE_CPPFLAGS |  | ||||||
| +AR              =      ar |  | ||||||
| +ARFLAGS         =      ru |  | ||||||
| +M4              =      m4 -G |  | ||||||
| +RANLIB          =      ranlib |  | ||||||
| +RLFLAGS		= |  | ||||||
| +CC_TOOLS        =      $(SCC) |  | ||||||
| + |  | ||||||
|  #insert new stanza here |  | ||||||
|  |  | ||||||
|  ########################################################### |  | ||||||
		Reference in New Issue
	
	Block a user
	 Ted Stern
					Ted Stern