[omniORB] [FWD] INFO: Port omniORB_2.6.0 to IRIX 6.5

Sai-Lai Lo S.Lo@orl.co.uk
16 Oct 1998 10:09:36 +0100


--ELM908526227-22766-0_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

Hello omniORB gurus,

I compiled omniORB_2.6.0 on a SGI system running IRIX 6.5 with
the latest MIPSpro 7.2.1 compilers installed.

I had some problems during the compile tho.  So I made some changes
to get things working (they were minor).  I've included the changed
files in an attached .tar file to this e-mail.  I hope they are of
some help to you and other people trying to install omniORB_2.6.0
on SGI systems.

One thing which is also a problem on SGI is that the BSD version of
the 'install' program is not installed nor supported on SGI systems.
There is a program called '/usr/bin/X11/bsdinst' but this is installed
only when you install the 'x_dev.sw.binaries' sub-package from SGI, and
this is not available to all SGI system owners ...

I think it would be better to change the makefile so it uses the
freely available/distributable version of 'install-sh' which is also
distributed along with a lot of GNU source code and which is a shell
script rewrite of the BSD install (it's origin is in the X11R5 source
tree).

I included the 'install-sh' in the directories:

	'~omniORB_2.6.0/bin/mips_irix_6.2_n32'
	'~omniORB_2.6.0/bin/mips_irix_6.4_n32'
	'~omniORB_2.6.0/bin/mips_irix_6.5_n32'

And changed the 'INSTALL' definition in the files:

	'~omniORB_2.6.0/mk/platforms/mips_irix_6.2_n32.mk'
	'~omniORB_2.6.0/mk/platforms/mips_irix_6.4_n32.mk'
	'~omniORB_2.6.0/mk/platforms/mips_irix_6.5_n32.mk'

to:

	INSTALL   = $(TOP)/$(BINDIR)/install-sh -c

Next to this I found the following statement in the file
'~omniORB_2.6.0/mk/platforms/mips_irix_6.4_n32.mk':

    # The linker seems to have problems linking two libraries that cross
    # reference each other, as it is the case with -lomniORB2 and -ltcpwrapGK.
    # One solution is to repeat -lomniORB2 after -ltcpwrapGK.
    # The following line do just that:
    OMNIORB2_LIB += $(patsubst %,$(LibSearchPattern),omniORB2)

This one was also applicable to the 'MIPSpro 7.2.1' compiler version which
I am using.  What the above does, is change the compile options for 'omniNames'
from:

	+ CC -o omniNames -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182 -L../../../lib/mips_irix_6.2_n32 omniNames.o NamingContext_i.o log.o -lomniORB2 -lomnithread -lpthread -ltcpwrapGK

to:

	+ CC -o omniNames -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182 -L../../../lib/mips_irix_6.4_n32 omniNames.o NamingContext_i.o log.o -lomniORB2 -lomnithread -lpthread -ltcpwrapGK -lomniORB2

I had a similar problem with the compilation of 'nameclt' in the
directory '~omniORB_2.6.0/src/appl/utils/nameclt' which initially gave the
following error:

===========================================================================
+ CC -o nameclt -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182 -L../../../../lib/mips_irix_6.4_n32 nameclt.o -lomniORB2 -lomnithread -lpthread -ltcpwrapGK -lomniORB2
ld32: ERROR 33: Unresolved text symbol "omni_mutex::unlock(void)" -- 1st referenced by ../../../../lib/mips_irix_6.4_n32/libtcpwrapGK.a(gatekeeper.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.  
ld32: ERROR 33: Unresolved text symbol "omni_mutex::~omni_mutex(void)" -- 1st referenced by ../../../../lib/mips_irix_6.4_n32/libtcpwrapGK.a(gatekeeper.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.  
ld32: ERROR 33: Unresolved text symbol "omni_mutex::lock(void)" -- 1st referenced by ../../../../lib/mips_irix_6.4_n32/libtcpwrapGK.a(gatekeeper.o).
        Use linker option -v to see when and which objects, archives and dsos are loaded.  
ld32: INFO 152: Output file removed because of error.
make: *** [nameclt] Error 2
===========================================================================

For this, the link order needs to be changed from:

+ CC -o nameclt -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182 -L../../../../lib/mips_irix_6.4_n32 nameclt.o -lomniORB2 -lomnithread -lpthread -ltcpwrapGK -lomniORB2

to:

CC -o nameclt -n32 -float -ansi -LANG:exceptions=ON -woff 3303,1110,1182 -L../../../../lib/mips_irix_6.4_n32 nameclt.o -lomnithread -lpthread -ltcpwrapGK -lomniORB2
ld32: WARNING 84: ../../../../lib/mips_irix_6.4_n32/libtcpwrapGK.a is not used for resolving any symbol.

But I had to do the compilation 'by hand' because I couldn't find out
what to change in the makefiles to force this order of appearence for
the libraries.

*** Maybe you can tell me ??????

It should be something like the statement above I guess (but not exactly
this statement!):

    OMNIORB2_LIB += $(patsubst %,$(LibSearchPattern),omniORB2)

I hope you can include the changes in the omniORB distribution so other
SGI users can enjoy a hassle-free compile as well :)

Maybe you can also include an 'install' target in the makefiles, so
the omniORB software gets installed in the directories

	/usr/local/omniORB_2.6.0/lib
	/usr/local/omniORB_2.6.0/bin

(on UNIX systems at least ...)

Thanks.

Keep up the good work!

Best Regards,
Geert-Albert
   Smant

--
------------------------------------------------------------------
Geert Albert Smant                       /    email: smant@nlr.nl
National Aerospace Laboratory NLR, IC  (NLR)  phone: +31 527248418
Voorsterweg 31, 8316 PR Marknesse, NL    /    fax:   +31 527248210

--ELM908526227-22766-0_
Content-Type: unknown/
Content-Disposition: attachment; filename=omnifix.tar.gz
Content-Description: omnifix.tar.gz
Content-Transfer-Encoding: base64

H4sICOT9JjYCA29tbmlmaXgudGFyAOxbe3PayLLff61PMfHuOiIBjO3YOYvjrUMwcag4QAHebGqz
pRLSYLQWGt2RZELdm+9+u3tGL8COk+zZ88K1G8Q8enp6+vHr1iDmgdcfvrQO6yf1xv78Zj/07Xgq
5Dzan3thZHnS+2id1A+t4OiwPr/57mv+Go3GybNnDD/hb/WzcfSsccIaJycHB8fPD49PDljjsPH8
+Nl3rPHdX/CXRLEtgRUpRHzfuGgZfW6Tpc39m/x9b3zPomsvO2c4Y1Zjc/uGs1tbevbE5xGzA5fJ
BJ+ikDve1HNYLNjoosu6MI3BNON7w+gOu7+yM3ZAD6gv6kvgetdiIIXDo0hIajMMXLYbOH7icnbN
Ay5tnyUB0IpnXnAdITlPd/9gjl93R1b37aA/HFvjYadTQT3F0cCsItVmoeRhtsbcdqRgLp96gRd7
IogYaDSShq1IZ+bF3IkTyYlpRbY9GLy6bF2M2NMzVju3LNJ9ix5JMuqxP/qlMxx1+z3LOjvRuxjF
IB1busCBuJb2nHhvDWGftmTO/xjDVu+y+xK+xjLhhvH2zXl3+LrbwQHzG9eTM49Lo9sbjVuXl4xB
K+y3P6js/2C+7PZgbGXfC0BFfb8WzVjNMQxgFUY9brdZrfMYeGDjGWeOsw8Nt1xGsF32vH7ITNxC
BZhp/4qn0m7jw9vWm855Z9DpnW9aSABDPORw2LhZOF4LF4FHJ/STCP9HGuedl1cXSlhnDBve9V+9
6g/GIBZsYbWFmE7Z0VHjqHpwcNCAf/52iMPSIYx2yWqoILWpL+yY1ewg8ljtstW7aPKPDg/p0M76
PeCxvEAFKV12e292ds5UZ9aS0dcdOZ8V1ZCRMGBbK39nIEGjXWRRNyObRrtEn+ljauc8FeSa998l
XUVuZXkg164ojeq/7XVBWSW3XRbFyXSKGjUQEaghdo1fDzutc0sp1Q9maMdRMoli9mP1B/PSm4w4
qvjAjmMug0pVgH9XtCqs5ofqcZ1apv+o/lcRH+j14fTB4Hpj0OIxMwoTBv0RGHlpmp5zLu1p/IvS
xLODBvtg7Ozs4CazEaMkDIWMx/RlID0hvXhpGBs2B0JUM5ZRzOeVlf1XjM07uHdeOg6EXRwD00go
huF7E0ubQXOTgDeJdoV3S+sCzb/o9DrD1rhT6NAH3YbA28qPWKhQfHhhx/yGAweyOw99PudBbKNB
AIu4DA6xxu3Bu2FrcPHGaAs5se8caKCXYud8aid+zHzhqAFiCgrGWboic0Qw9a4TqXqnns/Zb1Pw
ORGb2M4NOntynh7wSRN5cOtJEeCKWZhI17Ta/d6r7gWD8YGIWcTj31lTnW7eC4J41bq6HFuX/XYL
rQh4/rC7z2NnXzNVd6bXH3aL3IOzBL8t5FJ7c8V/z55DXPLFNbEd1WmhXuttZwS071oHeKZ1ApwM
q/z3nr/4MvxXB1u9BrH5X4r/Tu7Bf0fHzwH/HZ8A6Ds+PjkG/Hd40tjivy3++6/EfxrubYHeFuht
gd4W6G2B3hbo/QPP/4H479m31v/WcV+G/54dHDWy+t/JwSHV/45Otvjvr8J/pYP+OgD4DMiA91+A
nZDCve0ORgCIEKDUD0Dr5iHYrIy2MPEvKxM+ED7C6WwB5BZAbgHkFkAqD+F7wQ2XgOb4PEInP7Nv
OTotiAPQgL3geVm8EPA8kRAhICjEMzBN8KUReDUm+ZRLHjgAHm1nxgSEA1llNoDKGKEiRgfHjjij
WFHzM2iCMabmx064kHZ48aaO+h1wFgk/IVY9Ygf8N0c/UJg3BSGvzsSdTIXviwVyC1xz5gr2BwR7
YrZpZPJBBXr6QPPACZUt0H4I0N6e/7/H+T8Q/x9/K/6/p/77DLKDHP8f6vf/R1v8/8/A/8dfh/+P
t8j+Xw3Zb3H9Ftdvcf0W129x/RbXb3H99vw3n38Z/0fS2bfD0N/Pxu/D+LrjfBPGvP/+7/HzY8T8
iP+P4J/nz1jj4Pnx9v7HX/O3v89qT2rsrXB5k7WfPj3Frwa03vk3AD23rzk8NXO1whlKUzbMaCXx
DPSQZoylBwIP2NBzZgCaIzAiM/5DVoCAXrUtwqX0rmcxM9sVdvDTT89Z3/dueRx7bI/1pe2ABQ15
RGbMLu2JAGMEXU8pjNH+yDDhM7RljDacMVpPh+UWgcMlR480jRe25KdsKRLwZQE4JRe4ld4kiTm6
OXBl+5hdCNebLokKNCaBy5WRgUOBUKo9xkXvil3oxGaQTHxImS49hwfgIcFnhtgSzbjLJooQTnmF
XIw0F+yVAMrkZk4Z99DbZuj+MF1EU6wyIYmKCS4UmJdMEICuAMdLBgl9PrdeEpNOWVAE+U5d5gVE
fSZCrjAAbHPh+T6bcJZEfJr4VaIBo9k7QD39qzFr9d6zd60hwsT3pxQEBPTyW65oeYBPPCANW5N2
EC9hB0TibWfYfg1zWi+7l93xe9gIe9Ud9zqjEXvVH7IWG7SG42776hIyqsHVEEBnp87YiCNjnCjc
I+gpHRbI0uWx7fn54b+HA46AQd9VOAjcJQcVc5kNDj5cfv4MiYrtCwhC+p1XLs1T8P7o0KtsAbCW
q5iwcro0Pz/hKubC9So7/omNOSI5NvBtiLQ1NkqQBORSVfZSRDEOfdtirHEImVXt4KjxXJ3E1ahF
mzO+T7PmF1HseqI++7ncBOBupW0Z7cfLECxjrRkMNS63cimDFZqxN+flFg/4BEw8L7dOnSD2VdNU
ZebcNS3rl7eQnO3tMXqyILtmL9hzXRgqzEZrhQGQ9CNSrc8+fvx5tXce7SdxhDhFdwN+xzCcjQJr
B9DQFkHMP8aWV2avP/kDQuZLD+YE1+Uu9GsrG5zbgRdio8H2nxiMPYGDnXPW6v6a2lnEbBceYw/t
HVRAsGgOMAEO79fX/dEYYddlpweQwE84M48OK3UiA34NAniTkWbNQJCEu9iCVBWsL5ZJAMiEu1XC
VYBGAmCb1kvHEB1XijBE78IdGywWFRqpMSSHLGIJR0MYMIxEwvGzlgvwJACWAvbSF8KLiJLZqkOL
avi7F0xFPfCcepTIacDjeuBXGOEhWAvtfYHeYmErOKizC9oZqeaUmSv7f8FOnlWM79GHTldkkx6g
sf8ErENhS4RJWnfQSZGWgosnXauni2ykpWatip8dHp+UQhWsBUYmMb6h88hlBrRTfmAJXMGy3nV7
R4eWZZRUo6wqAFMnwDipSsoDmpX5sbqsMCt7zDqVgpsfoTN7hKncB59ToJsE4K7ddZPNLADXy/kt
GFwAyg/pbmhZlaKOexNnnVoq2i8itXFiJrRe3xqNh+dXA2gDx7XgygEHYB+xdJPQQJGAn0V0wJ4Y
qpGZ+BWPBoDC/4I6qd6AL6DlFIyQqUeAxqbqqjC0NuEwE5p9iEH4WWFP2UHlFIajJqopFQOPHR4c
cPu6rUoL4TjJ40QGLF3ok94P6Ml+aSsgCEgm2K3wXAiQoD0mTDd0tKFI6/h2FBGoUDHUxbCgCp8Y
IsCJwsbnIZgh5TixCTvgEENdEI3EvRBMUPxE6FHSGcgruKwqBWNPxa0INTYfYeoIFABkgiYkFHFw
HW4ldyyKMkZASBFsTKe8OcXYABwNg5gEIVuthGAhHY2ksDrJbVeFH7XNfOnssGDub4c//X5qEPJx
mtCejTJRbhUaS0fxW+N3rG9+CB6fZk0H2ERE/qY6G9T5SdN/AhIrUkHaFmwCy67waPauLi8rippS
kBALftS1F+sOVApYIXCAo7DK9tSyVXb4rMLOzlgjpZ2pxZ7mR03/lPIagCqZ2eyQCOQbOTwm/puF
vR2erO/38Hm5TS9JaohrfQL9ysUcR7m6QYCDUQnmf+TD1JFgECPVklxBuVSt8PBFAJ8CvA9VmjHF
JwDkEayn+TD3Cny/jJMA9BVGE6bD4roNOLaUKmeajs4aiOPlH58rWIn0aEyBxxq1oGISDFVsZPTJ
DuYTALBTiHy4Tl1jV8VdGuBw/NyGiSmk1QxcA6wDe2Oh8CDuyyhFY5DzUgTF55f9FpJKgtjzEerO
bIym8iaLaZCrMKxX4mTYbgxGgUCMLC7OJQl+0Y1wSrpNmjOVYk7f0swb8atQe0THUBDFoiBTShPm
CaxsR9pTwpaqtAixdfcC2g1IyoBQnvT6hhSorhySBuUlgeUrR5skpPAGVTrUuSiDhzWbTfjHBPHu
gbIrY4QG1wN/2yQOzVB5bcy0Y/AgV2h8B6dkuty5oaPpce6CvHU7FXboeT3akn2AvFT0ZNHkVIfH
rKPQrqKPsu1HiitEm6Z+PAMXDKd5a172L867Q6vT+8X6pTWskMGTzyDjy0arcGTmJRmcVVFcskd5
ZNS8ErJ9VAa7mhlFEj3dIzDz/cepc3EAYrMXL8Ci66j78LTbkVLIJtvFL2U+qZuZ1KMIGjvUVklr
SuC77QmV2kBZbEhUCB3QBJCNr3wL/wjnqQLjJ6PMn4qe+lulhl64xO7dw5SL3tnBYANxA3yUBKSJ
8QOmq5VSrGZdjTrWRWecIrP8JDWcAdNMo3aC3829BHLbF7lLvltqqRvgymCImnZuhO6KstjZKI1M
o2nuGYIBalvZNGAL3bCbF0xruxX97iPrTYJ6IFyO3YRHKHpEIUTWeGrqVaps98eoQOXHaLeqRV1l
RQK56lNUSxOG38ow9ykuouV3jaBCjTLTh+oKLP5rRPunSzbdzteJNZudug3CeKuaCeIuQeDU0FG8
MP4CZJHlDE1sPH/XH57j++gZzMB6k4Vo9AwlbrX7bwdX484QKVsg94vx66faLaJgCpOKwlmh9Xtq
GY9g8TbEWjB1iZ2meTkYA0CtFAkBrFmZX/nXtKEPH+476sIe7j/tIpnScRcp4GT4z+UIU377vdi3
YmCIjM17HR90ZhkG4ehHBPYwEGRff//TvH2Wt5adfuEFwOf9PZUxH+bxVYH2cz6/kE1v9P1IhbTi
n+LkU97+Ib7+7qr5VwSAB/r/LDNXsRRBBhC0ASvf3rEFmvo03UEdWnYrT8t8qOlV4IK6q+ksHIMv
upLwQaQn9s0aaTWdSGN3ibTCg/GDaMPANdp6PhHH/gLx1I5RJ+kOkyqMg0nqil3zi6V2+hmxnX6L
3E4/I7jTb5Lc6edEd1qWXYqjlY9k4CR1bwYsKBV5pNNkQ1m//sArUgT8s9eRU0+mJQZ91yxKZCGB
cQWPgscx2mcUU6kzJYUUInvK42VVvZrIEp1ApBImEuqVST3lhD5p2bE3T3OLPOu34/Ts9qLJarp/
t+PJGH5MHkaRMHa0Q36s+MfkuW3jdjBRrVEWpF/QrDumgkdKSwoZh1oBvojDokgUk6rlz2QSvSdD
81o/+SFXlGrknElHsIasctYsIb7zkBqbE0CUiXrHQLloZneeiJpNSGn/j9FTIBwYExet/46ZuY6n
An9E3Q+RsA4+IgRct1EflJjru6nIi5K892x30kV3uyCzu8+yfI7ZadF66pCpYDLHWxJU6psLfNcF
a+OLzoUdUGEjraKsnH1Opcj3J/2ZFTszTWAQ7JeZ2ODUB1gBUNLUJvcJZBY7M2Z2+yTDvcxl3Cdn
vGZFlz7uljG9zOAuoKdU1lM/iWYp0yFHSububiUTP7JVd3wRZZsoaHeZ2YEtI/4F/IY4ntGSWOz5
nKsAV0ZVDwXv8Anb123vfpYLx4CRBg0u9XOr8z4ZMNDAoqkq4lBVhy6kNZt4IySMJRNVplte9lvU
MlGlHCEnQF5QWBM2PE6yQJDZ74ZAEN0bCJS1Ys1C16JyoaU/LEwJkSdJ7yKr8mNaq8KLHFhVw7d8
Zc+y4ayyyJRfB1hnrXgIBQ3f6JhQ0DGbYiXLQpeQuibWt94N+73L9+Cc+lZ72GmN6Wk8vOq1q8wa
Wd13w+64U/JVBWIPpkVPo/dItHFyclKK3qnHAYqIq42deCbFgmkzzNUJxD6t23EMeRCMTS0BVCpR
1ozSJ0A6zfv0RaJmU9Cb1Dd8yW5OV/vSFx49voAB5k2JdJuO37xZpUzcrCh8Ws+bbtoEZhg2myTX
aHcR2KGD1dwIr7ewObeDKEMOKNsUa2CAolXc+sp7rigJRKSreXnr6Ko3GIL425UCT4pNkNldAi4e
xpofBDv+goijzWXNVjY7GJ1SFl3Juj/MAs6H4L2+AxPppGrjRbYNWWq2IsaUFGkDgQ9BnpQuCLMV
S9Z4L5+zGx7G9Q/Bxki5SQv0G9Isht/tDDcI850UG6RXdrifdF3H8W1P1divfTGh4c4NFuhtdcdD
MtMDEX10INwgK3Wct3LfAMvkzk1dje8GZkV7zM1wxNgEQ/4cEHJv7TcP3oUaPH5dzJCkCuRUQlcB
JeT8BlgB4N/pv6oUAyOl0s7czewYDKyHtycD2x/Rm0QTequsBA2yt3D4Eo66d9HZ7BZA0R2MAHXF
B74zq1ROsfDsXQd4+4feLYkp7cjYwX+fPs2AjAKua6sq4yquCwtoD5VyfD8FF1aVYrlC4ly1PpDG
xAvcFQJ4ReWBs5Ngw/wratxMoQA511UsCW4CsQjwfd4cY63SLlipgDMf34l0Uv0rVAqVb8xhVW7X
n1JlyNNNUqRC3wqcMe5DlX8epiwjylX/uQGaFbHkvUjym3Hkl6DI+xglCRsbGRri70Gy9aPEwV9b
TRPfX64gpLaIlPNrNstOEBEk4jP93VC/fFlzlDNYSH+t/WxhGU+fsXIqiGwBgNZ+VlDDioWlriaY
BdqqKrJhEwV4iGUD4jwsygccRw8UM82HMMdyBYJCwWLu+6oRqMCadsgg/wni9G2umm27Lrgc/K0c
3uGjy+308p7qkbK0Pt4xjUKBlxVjoWZrwN1VgWmY/uoiQvQUm7sIUkdc3noOV3pnIbqyIExbha41
SWhLCtX5qCUktNnRylj0m64HPEU8u/xOYs5/ALIxJ38I7G0N6LcvOcR9ALxVczJUW1l9q6ux7LdH
yMyGMAHAKI0XAe+rnG/GyaWX3I3TzwGBfhJr3abrPZiZF96K19VVB7qwESJewXJ5pN/4S5FMspf9
+PvHW08kWgW9wLFloBIjR9p009hN6PpOTh2/oSdXWFhNpFRsgRcEJgJSLu0J6d1/No+wGv2eyE2v
U9CNI1XLMTJcpkuKldOVTFPFVpNuPmzIG/YABy5VmkkQKJdodrunUGEoJA58maUOXwOvN9YKuvt9
7Xu1SmTKk6NmFci0UQ3wB6KjsTUa94cds1TIu+u2A2XiuXg0cDDv9aKB8yUSSlFH4PxHSIgQzGfE
U1U3a1ZiEd9jQRUBS1roUBGEah2TP6rF0fou8HiJl+C/RNiE0JCBoKqIxv8RQldo8uvF/iUi1CBV
C/HfVnhFn5eNU/cUc2GsUki3g2nnejTriaIjDmjGapRScCN/qblOpV2KAYMZ3q0+aLKB5IA2V+td
VL7Tlxs2psCIorlM7+WpCovje4CLdOiKYv3jESwa6Dgj8Id7u4B+hH/LdynC7OLdul0M0erndZG6
YmcHS7zEtphBqFE/SxXM9iF2akozdaWarg3i710W9lL/WoVYVNf6FvzxLUaogH51UzfSquDm2Kx2
lCXpIk3SQWjT04fAn/Rt2leU/cqY6EGE7qv55Za1jpYeipcKGqdhU1qhSV87fhY5pRa1UmtMyzMg
1/9v7+qb00aa/P1rPsUsZgPYgHkx5MXn1OZ147rHcco42a3aZIkAGXQGiZWE7VzO3/26e2akEZIw
zibZZ/daVbvBmveenp6eVk//0gbHpLkR8+iUlVnbAcHjqCTsAwgO55ZzxQEVETIj/L/+GL3Zqxlq
BSUOQLmoVKNOGF3/Su1RNYlLKDuweei8WJF6fQCvD2SSN4xr2Yo3Hic6M9Uoy1BdalH/DqSDgRed
n2A/3MrKh7eCEiPWMs+ctMQhUsozLJA353+JaTbDMJvTvXjZrNto1m4z+ZvMyirSe01kc30yBCHo
ucmsK8soSfO/gpgRIROfTNeJUXXEMQy28cEgtV0Z+w0ewtHY5MghGOSDDWBojzx5QUGfUdDDPRLr
G+557UegqGALiS3v+5NVEpWOk/54uDyvVOuPz8eVaoIlkxbw+JglPwJrL+QM30S1MPFi7UtgPH3O
Vp+cYQd5QYbbVd9Gw1vZJ3ej6ICuWtRbSbRzoRdZbJCvpbJF7AIUfinvnQn6FDCzrUvY2L3ZOOfE
GbsJ5O9Y0lAnffTdi3WeD3K3gozY4IbmyrSRbNXlSnqumV8kzL02Z8jGcFWHIxY1j9YV6Gn1jlSQ
fckfoybE2lFm3/zKZS2trigOuANvJUvm81ZuvtuYy/U0sVGpNIkdXQpBUn0Bp603J4Vehv6U0p2+
mNW0LL0brxk9yuS3L+K0tcO8K7etKth3ti3+BXZFdL37lrbFDXbZTfa+6EbWykEv4yzbXLXdaZ2c
OAe0SHkwukdDlodaGjw2Sj4asXkdv8sldCWSHFQurYjdRNfZlAeRDFFwThZo48oTRaHBPI1GI7oh
FkhzvNqji+qDVRFrq+jPibD94649tG2Xzq/iky0dDeFoGXjqthVOLH4GwFOlGaoJPVkcvCaHfjL4
MUXM4cyJuekyK1WKV6VsqlZelIpJGPlEpWkXXXOl+Uh/MKXLqZQ9+kKsvvhRih7cD4ebcG7K21I6
fpGrzXuq6n3qy1H2N7ubpGuo0f+X+Z0n9jgUVug5FXnfNrOSyLf0cKNBOe6lNXPGCQcheVk8+wt/
/pBSfP9sA7P1+hWhPDaK2ABUSC4wWEYRJc5557WS4C79mTrdE61aP/EnS/LkAOGtP3XrIE7qaw90
TH//cUnsmD5VUsnOc/mBLtDQjIGlDuz+SLkqr6RUhp5VExc1+lhWzZA+zzezjq+fCGVilzOhjHyS
SweXeFk59wOjO6qqydNM/dVnL/IQ2HD6tJ8Bzl+CEtDKqXEiikXL2pW5ahpHepCfX2xI8jR5JFGQ
PJJQFX1vPjo9g1hes2bj0cYLFzu9skJXhMKd5VAuq+DYXGTEvByPHg1cC+q/qnjRrR5FHicYuM4M
GWLDAcLA1O2cRBN3kLDuqP5YfxzKWhpP//xnEXHnLyPrFxrakr7VKhPlZCb3t+aHhjPeOOsF9M3I
jHNLu4wxUld2raoc09WghHotBxZ5axrp+vs+ZcgfJ7z45uJE+gvly5KX5OZq+ZM7yo81msl3FiE4
wq8lP/7txIcc3J+XHXq627Ae74mOP8Ypl16XdNcNKIfKL66JeM5XhATlVEcUulc4s91JONX+Tbcx
Bd1MpiUqb9LfqRB2zCimh7OPPgqSd5XZWqDZepVth7HEymZfI4Opo+pmunEzaukn1sba7fRvsW/m
ad7qdJEgT1GLN8OzsCAj961dKO2CDnW86XrJXjHt6trvV8O7rJg8iuhPHbjl+jZWOVCDrsjPJ9iN
g/TNpzi/yuepXEnNJMGPKLKTG/lbd/hVtnKxdm+WH/T/Jrvz19kMtfPrP3k7lGP8x26Ienj/6C3x
5V33Q5Q7ykFH3dlNnQ7wSH5320WUN7D/OBmFdhjsQDZkV50AJc88SurbfyzRPxSNGolFO7Wv6U/8
xr10A2ci4/eFwiETI/zzn1Bp/bEiXhXe7O5qNtCVBHYIP2eVcrNcVX9fVdr0E62R1cqOF1R/cz5o
vtXlxvbIcID1ggyxgKTJJEpNrDfS3WbjwjHO5DTh1WuKQQcMd5BJWOhbZUZ08wLNR7PqQcLtWbVK
lFwh4CxBNfIOUuHEgpHlnlfw5nizfV2s3XPVFucFQC40w6gv1xgvu63Jd2HOsWdO75lH9ApgmkRa
PqT4Tt/1INaLaJd9bDSHZdAMB/iYxlmvU3C+eJzBlUNicYdoG6kF+HG3/P59+VFhi2x+0I8K/g0j
T78YQj+iu2qyqLilpMgrCNvT+pJubsnwlpJhbkn/lpJ+uuRYhgo3y+3IvcbMd5NhCV3heJrRe2K4
PM9cLCrmkFazMZfcrPVNnTVSWt/UuVlpfvUW0Z/ogVjTgRuEoAmjVjdsDbgX0oL/AQ7utmg1wZ9m
WAZK/bBynQFeRgIDP00GMyuYRg7k6spTK74tgsFoRkYEA9KA6A4U7Z/oxI8OKCoCK0ZVfnHyMnWp
hlo1LlRSJbZ3Xqnm3w3N15ejzkQDMK6DpQdlrt5R9tLdWezuUlSZ9+U1y1TnEjmZ3ERVbk6uMJEr
zMnlJ3L55fxllaG9vNU3qGD2rBHeGoyhDHCM5leK3Hv3hcR9rc3oaBK/lU/JtByjMJky1uaWusRC
e+0of9yKOKNMlzH6mIOHRlyHYleuFPPWIEZ0XOJXPgkLoaImm3cKxY4nF5TBvFkrbFevM5llbs8x
LCctW4/+L9s+SC0Kz6hYLU3dU6M9WOC7h+ZbLSr/ZvO/If5Dw/OdCcrcL8R/2F+D/9Drdnrot9q8
37rf6+03Mbh5p8X4D4z/wPgPjP/A+A+M//BvjP/AYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAA
DAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwG
wGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBg
AAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAMBsBgAAwGwGAADAbAYAAM
BsBgAAwGwGAADAbAYAAMBsBgAAwGsDr/yfj/IxSmE/VPY37xdWLMN5vNXi83/n+z22pR/P9Wa7/Z
7rU6otnq3u/1OP7/93i20eeNAvm65PKhYufXVEjQCzu63x2Is5M3NfHs7enpi9dnifDp+I27sK09
ehoY4Vm8dfFTO36XQn9t9fEwZvHFzApBw5vLe4now7d00OFGxVuAOYH9C6rR+Qrb8IcIlu7+IPCC
d4Nuo5uIqNX3ZtDPQLQb3ZroL13Y7NBHb28yGtXbjfuN9mrxXk7xXn5xp/ugN4D+Lq9huTTN4tcP
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
6FTUL9jk7JkzR4GkiSAFciGxz5AT+l2HZ24pJAjhcGjPVRBGeanSVWgFaA6PpSESWG6wh0os7W0j
vzdKpW2qDA0rIEXQQBJ1WtaowtZRO2oYqwvGUBbkwiHkjqI/p337s0yBZd6k1G1lOaLI0woHMUAZ
IhV3ieMsT/cBfmTCrEsHFAm0KkmOo4JkGAGexDh5NYwoZg0xKBV29mrqzZD4GAZOSBbVHxNQ+ZCw
RRQ9VhkJzApr4r8RyTGGTcXNFvoji0F5s2BsliquoUqkQjW+TKpAFcYCPPhysbK+ojvIldt6tLFg
yawIiIzRaROSZBaxIuxyM3PTb8QsSadY4jrF5XqpUfdUJjrXRgybylkoqE4USKFrFu44/+vt/93v
bv9vtZtk/+922P7P9n+2/7P9n+3/bP9n+z/b/9n+z/Z/tv+z/Z/t/2z/Z/s/2//Z/s/2f7b/s/2f
7f9s/2f7/7ex/7f/Av//fWn/77L9n+3/bP9n+z/b/9n+z/Z/tv+z/Z/t/2z/Z/s/2//Z/s/2f7b/
s/2f7f9s/2f7P9v/2f7P9v8vtf//Bz/88MMPP/zwww8//PDDDz/88MMPP/zwww8//PDzj3v+D49I
TF0AaAEA

--ELM908526227-22766-0_--