2009-07-12 15:11:14 +03:00
|
|
|
|
#!/usr/bin/env python
|
2020-04-22 19:59:40 +03:00
|
|
|
|
# encoding: latin-1
|
|
|
|
|
# Thomas Nagy, 2005-2018
|
|
|
|
|
#
|
2009-07-12 15:11:14 +03:00
|
|
|
|
"""
|
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
|
|
|
modification, are permitted provided that the following conditions
|
|
|
|
|
are met:
|
|
|
|
|
|
|
|
|
|
1. Redistributions of source code must retain the above copyright
|
|
|
|
|
notice, this list of conditions and the following disclaimer.
|
|
|
|
|
|
|
|
|
|
2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
|
notice, this list of conditions and the following disclaimer in the
|
|
|
|
|
documentation and/or other materials provided with the distribution.
|
|
|
|
|
|
|
|
|
|
3. The name of the author may not be used to endorse or promote products
|
|
|
|
|
derived from this software without specific prior written permission.
|
|
|
|
|
|
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
|
|
|
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
|
|
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
|
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
|
|
|
|
|
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
|
|
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
|
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
|
|
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
|
|
|
|
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
|
|
|
POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
"""
|
|
|
|
|
|
2020-04-22 19:59:40 +03:00
|
|
|
|
import os, sys, inspect
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2023-11-18 18:08:39 +02:00
|
|
|
|
VERSION="2.0.26"
|
|
|
|
|
REVISION="bbbe549153f90c006795714355b81761"
|
|
|
|
|
GIT="ad7b733fc60852f77eff200b79e8b6f9562494d2"
|
2009-07-12 15:11:14 +03:00
|
|
|
|
INSTALL=''
|
2023-11-18 18:08:39 +02:00
|
|
|
|
C1='#-'
|
|
|
|
|
C2='#*'
|
|
|
|
|
C3='#%'
|
2009-07-12 15:11:14 +03:00
|
|
|
|
cwd = os.getcwd()
|
|
|
|
|
join = os.path.join
|
|
|
|
|
|
2010-11-14 16:35:43 +02:00
|
|
|
|
|
2009-07-12 15:11:14 +03:00
|
|
|
|
WAF='waf'
|
|
|
|
|
def b(x):
|
|
|
|
|
return x
|
|
|
|
|
if sys.hexversion>0x300000f:
|
|
|
|
|
WAF='waf3'
|
|
|
|
|
def b(x):
|
|
|
|
|
return x.encode()
|
|
|
|
|
|
|
|
|
|
def err(m):
|
|
|
|
|
print(('\033[91mError: %s\033[0m' % m))
|
|
|
|
|
sys.exit(1)
|
|
|
|
|
|
2020-04-22 19:59:40 +03:00
|
|
|
|
def unpack_wafdir(dir, src):
|
|
|
|
|
f = open(src,'rb')
|
2010-11-14 16:35:43 +02:00
|
|
|
|
c = 'corrupt archive (%d)'
|
2009-07-12 15:11:14 +03:00
|
|
|
|
while 1:
|
|
|
|
|
line = f.readline()
|
2010-11-14 16:35:43 +02:00
|
|
|
|
if not line: err('run waf-light from a folder containing waflib')
|
2009-07-12 15:11:14 +03:00
|
|
|
|
if line == b('#==>\n'):
|
|
|
|
|
txt = f.readline()
|
|
|
|
|
if not txt: err(c % 1)
|
2010-11-14 16:35:43 +02:00
|
|
|
|
if f.readline() != b('#<==\n'): err(c % 2)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
break
|
|
|
|
|
if not txt: err(c % 3)
|
2020-04-22 19:59:40 +03:00
|
|
|
|
txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00'))
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
import shutil, tarfile
|
|
|
|
|
try: shutil.rmtree(dir)
|
|
|
|
|
except OSError: pass
|
2010-09-13 21:35:41 +03:00
|
|
|
|
try:
|
2020-04-22 19:59:40 +03:00
|
|
|
|
for x in ('Tools', 'extras'):
|
2010-11-14 16:35:43 +02:00
|
|
|
|
os.makedirs(join(dir, 'waflib', x))
|
2010-09-13 21:35:41 +03:00
|
|
|
|
except OSError:
|
2020-04-22 19:59:40 +03:00
|
|
|
|
err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
os.chdir(dir)
|
2010-09-13 21:35:41 +03:00
|
|
|
|
tmp = 't.bz2'
|
2009-07-12 15:11:14 +03:00
|
|
|
|
t = open(tmp,'wb')
|
2020-04-22 19:59:40 +03:00
|
|
|
|
try: t.write(txt)
|
|
|
|
|
finally: t.close()
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
try:
|
|
|
|
|
t = tarfile.open(tmp)
|
|
|
|
|
except:
|
2010-09-13 21:35:41 +03:00
|
|
|
|
try:
|
|
|
|
|
os.system('bunzip2 t.bz2')
|
|
|
|
|
t = tarfile.open('t')
|
2010-11-14 16:35:43 +02:00
|
|
|
|
tmp = 't'
|
2010-09-13 21:35:41 +03:00
|
|
|
|
except:
|
|
|
|
|
os.chdir(cwd)
|
|
|
|
|
try: shutil.rmtree(dir)
|
|
|
|
|
except OSError: pass
|
|
|
|
|
err("Waf cannot be unpacked, check that bzip2 support is present")
|
|
|
|
|
|
2020-04-22 19:59:40 +03:00
|
|
|
|
try:
|
|
|
|
|
for x in t: t.extract(x)
|
|
|
|
|
finally:
|
|
|
|
|
t.close()
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2020-04-22 19:59:40 +03:00
|
|
|
|
for x in ('Tools', 'extras'):
|
2010-11-14 16:35:43 +02:00
|
|
|
|
os.chmod(join('waflib',x), 493)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2010-11-14 16:35:43 +02:00
|
|
|
|
if sys.hexversion<0x300000f:
|
|
|
|
|
sys.path = [join(dir, 'waflib')] + sys.path
|
|
|
|
|
import fixpy2
|
|
|
|
|
fixpy2.fixdir(dir)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2020-04-22 19:59:40 +03:00
|
|
|
|
os.remove(tmp)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
os.chdir(cwd)
|
|
|
|
|
|
2010-11-14 16:35:43 +02:00
|
|
|
|
try: dir = unicode(dir, 'mbcs')
|
|
|
|
|
except: pass
|
|
|
|
|
try:
|
|
|
|
|
from ctypes import windll
|
|
|
|
|
windll.kernel32.SetFileAttributesW(dir, 2)
|
|
|
|
|
except:
|
|
|
|
|
pass
|
|
|
|
|
|
2009-07-12 15:11:14 +03:00
|
|
|
|
def test(dir):
|
2010-11-14 16:35:43 +02:00
|
|
|
|
try:
|
|
|
|
|
os.stat(join(dir, 'waflib'))
|
|
|
|
|
return os.path.abspath(dir)
|
|
|
|
|
except OSError:
|
|
|
|
|
pass
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
def find_lib():
|
2020-04-22 19:59:40 +03:00
|
|
|
|
src = os.path.abspath(inspect.getfile(inspect.getmodule(err)))
|
|
|
|
|
base, name = os.path.split(src)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
#devs use $WAFDIR
|
|
|
|
|
w=test(os.environ.get('WAFDIR', ''))
|
|
|
|
|
if w: return w
|
|
|
|
|
|
|
|
|
|
#waf-light
|
|
|
|
|
if name.endswith('waf-light'):
|
|
|
|
|
w = test(base)
|
|
|
|
|
if w: return w
|
2020-04-22 19:59:40 +03:00
|
|
|
|
for dir in sys.path:
|
|
|
|
|
if test(dir):
|
|
|
|
|
return dir
|
2010-11-14 16:35:43 +02:00
|
|
|
|
err('waf-light requires waflib -> export WAFDIR=/folder')
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2010-11-14 16:35:43 +02:00
|
|
|
|
dirname = '%s-%s-%s' % (WAF, VERSION, REVISION)
|
2020-04-22 19:59:40 +03:00
|
|
|
|
for i in (INSTALL,'/usr','/usr/local','/opt'):
|
2010-11-14 16:35:43 +02:00
|
|
|
|
w = test(i + '/lib/' + dirname)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
if w: return w
|
|
|
|
|
|
|
|
|
|
#waf-local
|
2010-11-14 16:35:43 +02:00
|
|
|
|
dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
w = test(dir)
|
|
|
|
|
if w: return w
|
|
|
|
|
|
|
|
|
|
#unpack
|
2020-04-22 19:59:40 +03:00
|
|
|
|
unpack_wafdir(dir, src)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
return dir
|
|
|
|
|
|
|
|
|
|
wafdir = find_lib()
|
2010-11-14 16:35:43 +02:00
|
|
|
|
sys.path.insert(0, wafdir)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
2010-09-13 21:35:41 +03:00
|
|
|
|
if __name__ == '__main__':
|
2020-04-22 19:59:40 +03:00
|
|
|
|
|
2010-11-14 16:35:43 +02:00
|
|
|
|
from waflib import Scripting
|
|
|
|
|
Scripting.waf_entry_point(cwd, VERSION, wafdir)
|
2009-07-12 15:11:14 +03:00
|
|
|
|
|
|
|
|
|
#==>
|
2023-11-18 18:08:39 +02:00
|
|
|
|
#BZh91AY&SY<53><59><EFBFBD>#-b<><62><EFBFBD><EFBFBD><EFBFBD>#%P<50><7F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>e<EFBFBD>(<28>(<03>0<><30>0<><30>b<1A><>*<2A>#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%﮾<>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>*h5<68>ti<74>n<EFBFBD>k4:y<><79>=<3D>l<EFBFBD>}k<><6B>S<EFBFBD><53>^<5E><>Y+ۮѶ'<27><>W<EFBFBD>. <09><><EFBFBD>v<EFBFBD><1E><>]<1A><><EFBFBD><EFBFBD>ۘou<75>t<18>{ݳR7[=fQ#%<25><><EFBFBD>MY=u<17><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӥ<EFBFBD>g۪<67><<3C><><EFBFBD><EFBFBD>|<7C><><EFBFBD><EFBFBD><EFBFBD>*<2A><>{E<1E><><EFBFBD>0<1D><><EFBFBD>[<5B>{<7B><>#%#%#%#%(t<13><>#%}<7D>@<1E>l˘<03><>)<03><>z<07>;<3B>{^f<>[V<>#%<25><>\:<3A><><EFBFBD><EFBFBD>=<3D><01>:<03><><EFBFBD><EFBFBD>z<EFBFBD><07>M<EFBFBD><1E>#%<25><>!J#%^<5E><>J<EFBFBD><4A> #%<04><><01>P)<29><>=<3D><1B><>y<EFBFBD>G۸<47><DBB8><EFBFBD><EFBFBD>LĻ»<C4BB><C2BB><EFBFBD>:r<>Q<EFBFBD>-ۉJk<4A>k<EFBFBD><6B>ts<74><73><EFBFBD>#%[<5B>؞<EFBFBD><D89E>}7<><37><EFBFBD><EFBFBD>['<27>{<7B><>Ԟ<EFBFBD><D49E><EFBFBD>oo<6F><6F>w<EFBFBD><77>z<EFBFBD>|<7C>n<EFBFBD>ݮ<1E><><EFBFBD>m<EFBFBD><6D><EFBFBD><EFBFBD>Q<EFBFBD><51><EFBFBD><EFBFBD>9<EFBFBD><39>{}<7D><>}#-<2D><><EFBFBD><EFBFBD>{<06>#-!zb<7A>i*<2A><><EFBFBD><EFBFBD>2j<32><6A>t<EFBFBD>ws<77><73>`uҺn7`<60>l<EFBFBD>RD<52>S<EFBFBD><53>FSր(<28>#%R<> <14><>#*e<>{7y<37>;[L<><4C><EFBFBD>JW<4A><0E><>W<EFBFBD>}<7D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>#%(}<0C><>m<EFBFBD>_]H}<7D>w<EFBFBD>q@<40>{<03>3`:<3A><><EFBFBD><EFBFBD>#%<25>k<EFBFBD><6B>1<>G6<47>ꖲ<EFBFBD>+<2B>s<EFBFBD>]ۺ=\w<><77><08><>q҅<71>;8<><38>ݵ<EFBFBD><DDB5><EFBFBD><1D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>Wtwn<77>n6<6E><36>]<5D><><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39>ۊt]<5D>N<EFBFBD><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Kb<4B><62>M2<32><C2AD>4<0E>u<EFBFBD>x<EFBFBD>.٣<>c<><63>><3E><>^<5E><><EFBFBD><EFBFBD><EFBFBD>#*Jf<4A><66>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD>jڵ<6A>s<EFBFBD><73>lޏ<6C>^<5E><>z<EFBFBD><7A>e^<5E><><EFBFBD>x<EFBFBD>w<EFBFBD>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD>un<75>@{<7B><>^<5E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>v<><76>N<01>#%<12>PTT<54><0C>s<EFBFBD><73><03> Z핷vn;짼<><ECA7BC><EFBFBD>y<>.vm%zWt<57>;j<><6A><1A><>{̤\<5C><><1C><><EFBFBD><EFBFBD>c<EFBFBD>#%<13><>r#%#-<2D><><EFBFBD><EFBFBD>,<2C><>#G2<47><32>E<EFBFBD>6vtk<74><6B>8ևڕ<D687>h<EFBFBD><68>vZF<5A><46><EFBFBD><EFBFBD><EFBFBD>z<EFBFBD><7A>}><3E>暭3e\+<2B>4<EFBFBD><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD>>J<>k<EFBFBD>#*<2A><>=^<5E><><EFBFBD><EFBFBD>pkܞ}><3E>^<5E>i<EFBFBD>o<EFBFBD>#n<><6E><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>l<EFBFBD><6C>{<7B><>]<5D><><EFBFBD>;<3B><><EFBFBD>_n<0F><>绲<EFBFBD>>]<1E><>7n:<3A>](E<>({u<><75><EFBFBD>w<EFBFBD>y<EFBFBD>2<EFBFBD><32>nu<03><>ʯ<0F>ꔌ<><EA948C><EFBFBD>w<EFBFBD>S<EFBFBD><53>q#%}j<><6A><EFBFBD>T1ғ<31><D293>o\<5C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m<0F>s<EFBFBD>#-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Һ<EFBFBD><03>c6<63>n<EFBFBD>־<EFBFBD>d<EFBFBD>{ϭ<><CFAD><EFBFBD><EFBFBD>e<EFBFBD>(z<03><>:<0E>\Gm<47><6D><EFBFBD><EFBFBD>l=<3D><><EFBFBD>:h<><68><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<5B>=t#-C<><43><EFBFBD>eG<65>#%ʸ<><CAB8><EFBFBD><EFBFBD>{<7B><>{<7B><><05>R<EFBFBD>ڔ#--<2D><>^<5E><>]<5D>fz<66>x<EFBFBD><78><EFBFBD><EFBFBD>ݺ{]ê<><C3AA>j7w[<5B>t<EFBFBD>٥ <20>([<5B><><EFBFBD>M<EFBFBD><4D>'vݲ<76>.<2E><><1A><><EFBFBD>=1{X<><58>z<04>k<EFBFBD>><3E><>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD>af<61>|<1D>ё<0C>;<3B><>'gn#*k<>/s72<37><32><EFBFBD>շ<EFBFBD><D5B7>{<7B><><EFBFBD><EFBFBD><15>;<3B><><1A>t<EFBFBD><74><EFBFBD>Ot#*O<> #%L<><11>#%<25>#%<25>4<EFBFBD>h<EFBFBD><68>2'<27>j<EFBFBD><6A><EFBFBD>P<01><><EFBFBD>2)<29><>&<26><><EFBFBD>!A#% !<21>ɡ<EFBFBD>i<EFBFBD>I<EFBFBD><49><EFBFBD><EFBFBD>L@<40>4ɡ<34>#*<0C>#%#%#%<25>#%<04>D!jm<08>O<EFBFBD>@<40><>M<EFBFBD><4D><EFBFBD>O$<24>Rz<52>)<29><<3C><><EFBFBD>P#% 4#%#%#%$<24>JH<4A>d2i6<69><1A><>I<EFBFBD><49>S<EFBFBD>CG<43><47>@hz<><7A>4<06>#%#%#%#%#%#%I #%@d<08>M&CFS<46>4$ؓS<D893><53>5LF 2#%<25>#%d$<24>D#%#@CB5S<35>)<29>S<EFBFBD><53>Oi<4F>ꇨ<EFBFBD><EA87A8><<3C>M<EFBFBD>#%<01>#%#%<0F><><EFBFBD><EFBFBD>mV<6D><56><EFBFBD><EFBFBD><EFBFBD>5<EFBFBD>+<2B>Ui<55>%$<24><04><><EFBFBD><EFBFBD>]vFLV<4C>F<02>a<02><>,<2C> <20>@c<>?<14><><EFBFBD><EFBFBD><EFBFBD>\<5C><><EFBFBD>Wb<57><62><0F>f<1C><>Ԫ<EFBFBD><12><><EFBFBD>oupMT<4D><54><EFBFBD><EFBFBD><EFBFBD>"<22><>k<EFBFBD><EFBFBD><7F><EFBFBD>f<EFBFBD><66>gb<67>DBA<1F><><12>d<>1<EFBFBD>~Z<>UU<13><18><><EFBFBD>O<EFBFBD><4F>.<2E>^<5E><><EFBFBD>a<EFBFBD>E<EFBFBD><45><EFBFBD>Nxγ<78><CEB3><EFBFBD><<3C>6<D7B6>DH~~<15><>B<EFBFBD><42>T<EFBFBD><54><EFBFBD>eR<65>]<5D>Ҷ<EFBFBD>+k3kh<6B>[m<16>*حmb<6D><62><EFBFBD>S<EFBFBD>I<03>C<08><01>D 2<><32>X<04><><EFBFBD> <20><>튔EK<08>jU<6A><16>b<EFBFBD>i<EFBFBD>U<><55><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Lɐ<4C>Q<EFBFBD><51>i<EFBFBD>l<EFBFBD> <09><04>J<EFBFBD><4A>L<EFBFBD>B%<25><>MJQ<4A><14>I<EFBFBD><49>f<EFBFBD>2M<04>%<25><><EFBFBD><06><>f<EFBFBD>ɤ<EFBFBD><C9A4>-<10><>%"m)<29><>hԱ<68><D4B1><EFBFBD>,<2C><>h<EFBFBD>M<EFBFBD><4D>j"<22><><EFBFBD><EFBFBD>im1-!<21>A0e<19><>jH<6A>j-A<>h4<68><34>a&<26>J<04>E<EFBFBD>ZF0"<22><>54<35><12>m<EFBFBD><6D><EFBFBD>Ѧ4R<34>fL<66>M&<0C>m<EFBFBD><6D>M6<4D>5%)<29><><EFBFBD><EFBFBD>Sm<53>R<EFBFBD><52>$<24>E@dY<64>14Y(<28><>E"FЈTY<54>m<14>#*X6)6a<19>DAR<41><52>F<EFBFBD>!#- $DC"2Hڑ2<11><><EFBFBD><EFBFBD>ٚ$LR<4C><52>3 <20><><EFBFBD><0C>H<EFBFBD><48><EFBFBD>1<14>k&<26>ƋL"ȲC%<25><><EFBFBD>Ji<4A>lII<49>FQ&<26><>fLH*J4<4A>Di$#-<2D>)<29><>H<EFBFBD>L<>ZA<14><12>Y!<21>&)<29><><EFBFBD>L,F<><46>#%<25><><EFBFBD>`JM<4A>DD<44><44><EFBFBD>$I<><49><EFBFBD>(<28>"<22>D<EFBFBD> C!<21><><EFBFBD>F(L<><4C><EFBFBD><EFBFBD>3cF<63><46>RjH<6A>b iM<69>$"H<>[b<>2<EFBFBD>F̒<46><CC92><EFBFBD>3bdE(͑<>&U4Đ<34>)L6j,<05>#*4<><34><EFBFBD>F<EFBFBD>d<EFBFBD>F<EFBFBD><12>BdSI1Ԁ<>6i<36>,i1I5$<24><><EFBFBD>ƣI<C6A3>F<EFBFBD>@A<14>EZ<>`12<31>#*&<26><>EJL<4A><4C><EFBFBD>e"Th<54>&m(RcPl<11><><EFBFBD>B@E&L<><4C>#<08>He<48><65>l<>*fj<66>Q<EFBFBD>RؔD̆<44>S<10>FlhP<68><50>EBE`<60>L<EFBFBD>l<EFBFBD><6C><EFBFBD>d<EFBFBD><64>jf<6A>#)!I<><49>LR2<52>i<EFBFBD><69>"0DQ%&<26><>4̂<34><CC82>Q<14><>Sb<53>5*R<><52>)#*<2A><>2)<29><>H<>(<28>HR"<22>E$<24>$<24>JmMF<4D>H<EFBFBD><48>6<04>cA2<41><32>2<EFBFBD>C(<28><>d&<26>(<28>X<EFBFBD>&B̈%6JS<14>!4<>KY<4B><59>m<EFBFBD><6D>X<0C>K&2QT<04><>)d1<64><31><EFBFBD>aA<>,j,<2C>%F"Ԧ<>#--L4$̤<>d<><11><>"<22>hҘ<68>(4%<25>)!<21>Ui<55>(MLє<4C><D194>ҊI<D28A><15>Ԧ<EFBFBD><14>E<EFBFBD><45><EFBFBD>2<EFBFBD>,<2C><><EFBFBD>Qi<51><69><EFBFBD><EFBFBD>HQM<51><4D>(<28><>B4<42><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!*j<>F<18><>(<28><>lV<6C>Fɔ<46><C994><EFBFBD>T<EFBFBD>F<EFBFBD><46><EFBFBD><EFBFBD><08>&<26>k"0<>4<EFBFBD>e#e0<12><>dA<64><41><EFBFBD>e<EFBFBD>[E<18><><EFBFBD>QHZ2i<32><69><EFBFBD>bŅ<62>H)<29><>d<EFBFBD>J<EFBFBD>h*6U<36>h<EFBFBD><68><EFBFBD>VɖER<45>d<EFBFBD><64>6lf35lh<6C>"<22>M2<4D>%L<><4C>Y*<2A>e)K2-<2D>4JF<4A>X<EFBFBD><58>Ė<EFBFBD><C496>KQj<51><6A><18><>jђ<6A><D192>U<EFBFBD>Y(<28>Eb<45><62>J5<4A>h<EFBFBD><68>6ň<36>1b<31><0C>mc`-&L(<28>U<01>QH&<26><18>Zd<5A>V<EFBFBD><56>[6<><36><EFBFBD>-<2D>,m<>mT<6D><54>X<EFBFBD>d&S55<35>h<EFBFBD><68>bB&<26>HزEmJ<6D>lb<6C><62>U,<2C>L<EFBFBD>aZ<61>DF<44><46>K"R<><52><EFBFBD><EFBFBD><EFBFBD>[BJe5<65>,*Y5<59><35>B<EFBFBD>Y<EFBFBD>#-Q<><51><08>DX<44><58>&"D<>m<06><>!Kh<4B> @<40><><EFBFBD><EFBFBD>TVI<56><49><EFBFBD>&<26><>"<01><>"<22>)FȊ<46> <20>J2<4A><32>B<EFBFBD><42><EFBFBD>f<EFBFBD><66>(<28>Zd<5A><64>ͦ<EFBFBD>b<EFBFBD>cll<6C>0<EFBFBD>i<EFBFBD>1!F4RQa<51>$<24><><EFBFBD><EFBFBD>bCd ƂI<C682><49>4IL<49>Q<EFBFBD><51><EFBFBD><06>J<EFBFBD>#F<>a)S6HME<4D>!Q<><51>J6e$<24>d#*#-CSlDS#*<2A><>ԛ%<25>PY"<22>Q<><51>CAb<41><62>I<EFBFBD>E<EFBFBD>J<EFBFBD>IK)Y<>J<EFBFBD>Yb<59>ƤZ<C6A4>Q<EFBFBD>Z3DT4jR<6A>a<EFBFBD>*X<>2<EFBFBD>j4 2<04>ALM<4C>*J<>(QR<51>cd<63>ș<EFBFBD>%)<29><>#*<2A>(l<>Y63I<33><49><EFBFBD>D<EFBFBD>J)-26<32><36><EFBFBD>B<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD>D<EFBFBD><44>eAɣT<C9A3>6(<28>Y<><59>)<29>X<EFBFBD><58><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѵ[ Q<><51>Q<EFBFBD><51>-<19><>I<EFBFBD><49>M#-L<><4C>R<EFBFBD>#b<><62>-f<>C2<43>#*<2A><><EFBFBD><EFBFBD>)e%L<><4C><EFBFBD><EFBFBD>#X<><1A>M&Y<>(,PA&<26><><1A>&<18><>cT<63>#*<2A>m<06><>,<2C>h<>*<2A>%<25><08>"<22>e+l<><6C>UƓ%$Y4E3(Z<>R<19><>*lC6Dʵ<11><05><>MFх1f<31>[&Jŵ<4A><C5B5>%e6Ȗɱ<C896>4J<34>S <20>TX@<40>65%&<26>1<18><>D<EFBFBD><44><EFBFBD>f5fLTiM<69><4D>1<14>6<EFBFBD><36>VM<56>#HSI5<14>QE<12><>+<16>Icd<63>Q<EFBFBD><51>4<EFBFBD>2JԈ<4A>ie<69>he<68><65><EFBFBD>j<EFBFBD><6A><EFBFBD><EFBFBD>i5<69> <20><><EFBFBD><1A><><14>hL<68>dfA1<41><31>F%#*L<>&kDlU%<25><>jJ<6A>U<EFBFBD>Z&mH<18>5Q<><51><EFBFBD>*<2A><>TҶ6<D2B6><36>cm<63>ZL<5A>R<EFBFBD>K5<4B><35>j1X<31>J<EFBFBD><4A><EFBFBD><EFBFBD>J<EFBFBD>SQ<53><51>1P<31>4<EFBFBD>P4h<34>D<EFBFBD>Ѥ<EFBFBD>řREi+bɶReh<65>lCLZ)1<>h<EFBFBD><68>e<EFBFBD>b<EFBFBD>2<EFBFBD>Q1%<11><>4lSI6<49><18>6Ѷ-<2D>i<EFBFBD><69><EFBFBD>kYi*he<68><65><EFBFBD>m<EFBFBD><6D><EFBFBD>BړMX<4D>2<EFBFBD>"4dm!(<28><>k5&<26><><EFBFBD>f<EFBFBD>5@<40>D<EFBFBD><44>L<EFBFBD><4C><11><><EFBFBD>F<EFBFBD>-<2D>̶<EFBFBD><EFBFBD><7F><1F><><05><><EFBFBD>W<EFBFBD>!<21><><EFBFBD><EFBFBD><EFBFBD>צ<D7A6><7F>AuY<0B>Qɾ<51>輧<EFBFBD>ś!5g<35><67><EFBFBD><02><08><>1<EFBFBD>K<EFBFBD>&<26>8<EFBFBD><38><EFBFBD><EFBFBD>bƘ5#q<><1F>/<2F><>"S<7F><53><EFBFBD><EFBFBD>g<13>E7{<7B>;<3B>Q`D<>@\:8<><38><EFBFBD>p<EFBFBD>I <20><>m<EFBFBD><6D>?g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*<2A><>7<EFBFBD>C?<3F>}ִ<D6B4>I(R<>+<2B><><EFBFBD>:ଡT<E0ACA1>#*<2A><>h<EFBFBD>#*<2A>npOd<4F><01>>'o<>#<23><>t+<2B>ʆ<><CA86>Xxf<78>Zv<5A><76><EFBFBD>2<EFBFBD><32>0<EFBFBD>"M<><4D><EFBFBD>8<EFBFBD><38>'%<25><><EFBFBD>ݳf<DDB3>B<C28B>#-JL`I<1D><>"l<>Lh<4C>c<EFBFBD>h<EFBFBD><68>z:<3A><><EFBFBD>t<EFBFBD><74><EFBFBD>˽=*<2A>/<1A><><EFBFBD>Y<59><7F>ϱ<EFBFBD>g5r 6<0E>1<10><>Y<EFBFBD>eS<65>\<5C><14>R<EFBFBD>JH<4A><48>#<14>#*<2A>۠<EFBFBD><01><><08>։I^<<3C><>|[<5B>#7<><37><EFBFBD><06>#-`<60>)<29>f<EFBFBD> <09><>k{<7B><1C><>l<EFBFBD><6C><EFBFBD><01><><1B>S(<28>R;<3B>)L7ac<03>,/<2F><><EFBFBD>%<25><18>'<27><><1E>{8<><38><EFBFBD><EFBFBD><EFBFBD>h'k<>b(<28>ShR(<1D><>Jg<4A><67><19><><EFBFBD>64<><13>T<EFBFBD><54><04><><EFBFBD><EFBFBD>\<5C><><EFBFBD><EFBFBD>م<19><><EFBFBD>
|
2009-07-12 15:11:14 +03:00
|
|
|
|
#<==
|
2023-11-18 18:08:39 +02:00
|
|
|
|
#-----BEGIN PGP SIGNATURE-----\n\niQIzBAABCgAdFiEEjH6y+TsMRfVzL+XRG6xXHc13IpUFAmTW3xEACgkQG6xXHc13\nIpUBBA//X7EWVmGwG3rZIELAPfIre2RAFutwAtZwi10FhwtSSPcQDUW0oMgYgbea\ny8tCMpLXEPpPC2OQQhoxjHrMHu+xZwwKE419fBZjzHCbJ3HCfKa/K8zkJfRhFQgI\nnR4FxsCvWrV7RVoqKucmocGAsoTy4BAuPPo86cQSiAK+baHwP3Oo1O3zedXoXaBc\nJoNO1Fl6ldGSDh4xrcxonF+YomjWXgCy1Vplh2SD97c1SKREMtVpls3u0hUUg00q\nOXqfWT6MSdrAGq1zGTGWVl6/SSiFTlkRQhJfaNlA4uRdfYx37x4wuUhI1+OQpbyM\n6qs7s4pvbLG8t9tMB1onAJW7K92VkYxNjP67AeXuKD1HK9aJFw5xmPa3oIS9Cxly\nFAdoXSB99Y1QPNOgyPHqY0qzWiRyKK3melcsGE3CniKqQUosuzeNzagTY9hN0YwU\nB2DYQX6Yar7VLbaHROtk7KPs0nOnDgEezQZ0ZNdEbJXGv16n3s7QGD0w/e3tI3Ow\nC5vaBIGC/7iwoNmw0+iu//Cczw9Vjl1Ga5o++cpA2KCpwFB6/XC9OjEp3TEuPUf5\nn0p5BLFk3BsrhfGhui/mE+Q08LEFjX1yvWl6zyPEa0Gb9al+scK4uco12MslIV6H\n3GS7C2mrZVe8Mdjquttk1o/OSm7QlZ5Ej3aOlilbhiT6D3p2L1Y=\n=4SRH\n-----END PGP SIGNATURE-----\n
|