Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » How to use Progress Monitor with JET2 Transformation
How to use Progress Monitor with JET2 Transformation [message #52534] Mon, 25 September 2006 15:46 Go to next message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
hi ,

I am calling the Jet2Transformation from my Editor via an Action class ,
I need to use the progress monitor to show the progress. How should do
that ? What are the considerations that I need to take in mind to make
my progress service more appropriate .

I have an confusion here because , when I create a progress monitor
using ProgressMonitorDialog ( something typical as that of doSave
methods), the operation that am running should implement IRunnable ,
but where in the JET2Platform.runTransFormXXX() methods are not
impementing IRunnable ..

Please advice me on the same.

Thanks.

Kamesh
Re: How to use Progress Monitor with JET2 Transformation [message #52643 is a reply to message #52534] Mon, 25 September 2006 17:42 Go to previous messageGo to next message
Paul Elder is currently offline Paul ElderFriend
Messages: 849
Registered: July 2009
Senior Member
Kamesh:

Take a look at the performFinish() method of

org.eclipse.jet.ui.newproject.NewProjectWizard
It does exactly what you want. (JET create's its new projects by running a
JET transformation, of course!).

Paul

"Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
news:ef8tke$q98$1@utils.eclipse.org...
> hi ,
>
> I am calling the Jet2Transformation from my Editor via an Action class , I
> need to use the progress monitor to show the progress. How should do that
> ? What are the considerations that I need to take in mind to make my
> progress service more appropriate .
>
> I have an confusion here because , when I create a progress monitor using
> ProgressMonitorDialog ( something typical as that of doSave methods), the
> operation that am running should implement IRunnable , but where in the
> JET2Platform.runTransFormXXX() methods are not impementing IRunnable ..
>
> Please advice me on the same.
>
> Thanks.
>
> Kamesh
Re: How to use Progress Monitor with JET2 Transformation [message #52856 is a reply to message #52643] Tue, 26 September 2006 05:49 Go to previous messageGo to next message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Paul,

thanks for the info . I am able to club the ProgresMonitor with the JET2
Transform.

I face one more problem , I am trying to simulate an erroneous condition ,
want to display the error dialog , i tried something similar to that of
Jet New Project Wizard but am getting an Invalid Thread Access error when
i try to open the dialog ? What could be the problem ??

Kamesh
Re: How to use Progress Monitor with JET2 Transformation [message #53016 is a reply to message #52856] Tue, 26 September 2006 12:19 Go to previous messageGo to next message
Paul Elder is currently offline Paul ElderFriend
Messages: 849
Registered: July 2009
Senior Member
Kamesh:

You are not running on the UI thread. You must use Display.syncExec() or
Display.asyncExec() to display GUI. See the following Eclipse FAQ for
details:

http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F

I find the Eclipse FAQ (http://wiki.eclipse.org/index.php/Eclipse_FAQs),
very useful in answering this kind of question. You can get them in book
form, too - see the bottom link on the FAQ main page.

Paul

"Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
> Paul,
>
> thanks for the info . I am able to club the ProgresMonitor with the JET2
> Transform.
>
> I face one more problem , I am trying to simulate an erroneous condition ,
> want to display the error dialog , i tried something similar to that of
> Jet New Project Wizard but am getting an Invalid Thread Access error when
> i try to open the dialog ? What could be the problem ??
>
> Kamesh
>
>
Re: How to use Progress Monitor with JET2 Transformation [message #53038 is a reply to message #53016] Tue, 26 September 2006 14:20 Go to previous messageGo to next message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Paul,

I have a small ambiguity in this .. When i run the transformation from
an action class (IEditorAction) , i will not be getting the display
right . then how can i call Display.aSyncExec() , i tried a round about
way of achieveing this by declaring a member variable status and
accessing the same after the run is through .. but i guess thats not the
right way .. Any insight in to this ?

Kamesh

Paul Elder wrote:
> Kamesh:
>
> You are not running on the UI thread. You must use Display.syncExec() or
> Display.asyncExec() to display GUI. See the following Eclipse FAQ for
> details:
>
> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>
> I find the Eclipse FAQ (http://wiki.eclipse.org/index.php/Eclipse_FAQs),
> very useful in answering this kind of question. You can get them in book
> form, too - see the bottom link on the FAQ main page.
>
> Paul
>
> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>
>> Paul,
>>
>> thanks for the info . I am able to club the ProgresMonitor with the JET2
>> Transform.
>>
>> I face one more problem , I am trying to simulate an erroneous condition ,
>> want to display the error dialog , i tried something similar to that of
>> Jet New Project Wizard but am getting an Invalid Thread Access error when
>> i try to open the dialog ? What could be the problem ??
>>
>> Kamesh
>>
>>
>>
>
>
>
Re: How to use Progress Monitor with JET2 Transformation [message #53088 is a reply to message #53038] Tue, 26 September 2006 14:58 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

Kamesh,

If you have an IEditorPart you can do
getEditorSite().getShell().getDisplay(). Another way is
PlatformUI.getWorkbench().getDisplay().


Kamesh Sampath wrote:
> Paul,
>
> I have a small ambiguity in this .. When i run the transformation
> from an action class (IEditorAction) , i will not be getting the
> display right . then how can i call Display.aSyncExec() , i tried a
> round about way of achieveing this by declaring a member variable
> status and accessing the same after the run is through .. but i guess
> thats not the right way .. Any insight in to this ?
>
> Kamesh
>
> Paul Elder wrote:
>> Kamesh:
>>
>> You are not running on the UI thread. You must use Display.syncExec()
>> or Display.asyncExec() to display GUI. See the following Eclipse FAQ
>> for details:
>>
>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>
>>
>> I find the Eclipse FAQ
>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>> answering this kind of question. You can get them in book form, too -
>> see the bottom link on the FAQ main page.
>>
>> Paul
>>
>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>
>>> Paul,
>>>
>>> thanks for the info . I am able to club the ProgresMonitor with the
>>> JET2 Transform.
>>>
>>> I face one more problem , I am trying to simulate an erroneous
>>> condition , want to display the error dialog , i tried something
>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>> Thread Access error when i try to open the dialog ? What could be
>>> the problem ??
>>>
>>> Kamesh
>>>
>>>
>>>
>>
>>
>>
Re: How to use Progress Monitor with JET2 Transformation [message #53167 is a reply to message #53088] Tue, 26 September 2006 15:48 Go to previous messageGo to next message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Thanks Ed . :-) , you seem to be rocking every where .. kudos !

Ed Merks wrote:
> Kamesh,
>
> If you have an IEditorPart you can do
> getEditorSite().getShell().getDisplay(). Another way is
> PlatformUI.getWorkbench().getDisplay().
>
>
> Kamesh Sampath wrote:
>> Paul,
>>
>> I have a small ambiguity in this .. When i run the transformation
>> from an action class (IEditorAction) , i will not be getting the
>> display right . then how can i call Display.aSyncExec() , i tried a
>> round about way of achieveing this by declaring a member variable
>> status and accessing the same after the run is through .. but i
>> guess thats not the right way .. Any insight in to this ?
>>
>> Kamesh
>>
>> Paul Elder wrote:
>>> Kamesh:
>>>
>>> You are not running on the UI thread. You must use
>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>> following Eclipse FAQ for details:
>>>
>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>
>>>
>>> I find the Eclipse FAQ
>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>> answering this kind of question. You can get them in book form, too
>>> - see the bottom link on the FAQ main page.
>>>
>>> Paul
>>>
>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>
>>>> Paul,
>>>>
>>>> thanks for the info . I am able to club the ProgresMonitor with the
>>>> JET2 Transform.
>>>>
>>>> I face one more problem , I am trying to simulate an erroneous
>>>> condition , want to display the error dialog , i tried something
>>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>>> Thread Access error when i try to open the dialog ? What could be
>>>> the problem ??
>>>>
>>>> Kamesh
>>>>
>>>>
>>>>
>>>
>>>
>>>
Re: How to use Progress Monitor with JET2 Transformation [message #53199 is a reply to message #53088] Tue, 26 September 2006 16:03 Go to previous messageGo to next message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080602000405040009080306
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ed,

My dialog box is getting displayed correctly but ,

In the details section i get repeated line of the same status message .
Attached please find the screenshot.

My code sinppet is ,

public void run(IAction action) {
IFileEditorInput editorInput = (IFileEditorInput) targetEditor
.getEditorInput();
final IResource modelFile = editorInput.getFile();
if (modelFile != null) {

IRunnableWithProgress progress = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor)
throws InvocationTargetException,
InterruptedException {
final IStatus status =
JET2Platform.runTransformOnResource(
TRANSFORMER_ID, modelFile, monitor);
targetEditor.getEditorSite().getShell().getDisplay()
.syncExec(new Runnable() {
public void run() {
if (!status.isOK()) {
new ErrorDialog(
targetEditor.getEditorSite()
.getShell(),
"Struts config editor",
"Java artifact
generation failed",
status, IStatus.ERROR
| IStatus.WARNING)
.open();
}

}

});
}
};
try {
targetEditor.getEditorSite().getWorkbenchWindow()
.getWorkbench().getProgressService().run(true, true,
progress);
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}


Thanks.

Kamesh


Ed Merks wrote:
> Kamesh,
>
> If you have an IEditorPart you can do
> getEditorSite().getShell().getDisplay(). Another way is
> PlatformUI.getWorkbench().getDisplay().
>
>
> Kamesh Sampath wrote:
>> Paul,
>>
>> I have a small ambiguity in this .. When i run the transformation
>> from an action class (IEditorAction) , i will not be getting the
>> display right . then how can i call Display.aSyncExec() , i tried a
>> round about way of achieveing this by declaring a member variable
>> status and accessing the same after the run is through .. but i
>> guess thats not the right way .. Any insight in to this ?
>>
>> Kamesh
>>
>> Paul Elder wrote:
>>> Kamesh:
>>>
>>> You are not running on the UI thread. You must use
>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>> following Eclipse FAQ for details:
>>>
>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>
>>>
>>> I find the Eclipse FAQ
>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>> answering this kind of question. You can get them in book form, too
>>> - see the bottom link on the FAQ main page.
>>>
>>> Paul
>>>
>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>
>>>> Paul,
>>>>
>>>> thanks for the info . I am able to club the ProgresMonitor with the
>>>> JET2 Transform.
>>>>
>>>> I face one more problem , I am trying to simulate an erroneous
>>>> condition , want to display the error dialog , i tried something
>>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>>> Thread Access error when i try to open the dialog ? What could be
>>>> the problem ??
>>>>
>>>> Kamesh
>>>>
>>>>
>>>>
>>>
>>>
>>>


--------------080602000405040009080306
Content-Type: image/jpeg;
name="error_dialog.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="error_dialog.JPG"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAMABAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1W5juhOBE0sjKoKMwGN22 X2x3UflU9gsg
8zdJI6cY3oy4POfvkn09v1q5FbQwqVi8qNSc4VSBn8qfsX/nqn5H/CsLFjKz YjKkdwkbT+cT
L5aGLCA7iQd23H5nHNauxf8Anqn5H/CofsNp5nmeXb787t3l859c4osBkzRP I8q2y3BV02nz
N/J2ScZbtkr7dK1YNnkrs8zb28zdu/HdzU+xf+eqfkf8KNi/89U/I/4UAVb1 WewuFUEsYmAA
HJODVORJYbkxpG7RpE+xgDhVZl447jDYA7AYrVaJHUqzoVIwQQcEflUSWNpE 4eOO3Rh0ZY8E
fpRYDPhN0sTOjO5VyiiRHAIYLg4PPDdyem72pdkkcrJK1y1upwGUsWJ2pg/L z/f9s1q7F/56
p+R/wpkttDMoWXypFBzhlJGfyosBkRyXDLaODLu2xD7rsHBxuJIO0dT1GeM+ lAiljtLeNWmj
VFIl+WRjvAXgbSDjr0+X9K2ti/8APVPyP+FGxf8Anqn5H/CgCGHeIY/MJL7R uJABJxz04pty
EMDb9+AQcopJBByCAAe+KsbF/wCeqfkf8KNi/wDPVPyP+FFgMiU3LhcySiEF sOY33NwuMhNp
HO/24HsaV2uRNCSZQ6mNT8jEOCRuJwdg6nrnp16VrbF/56p+R/wqF7G0lcvJ Hbux6s0eSf0o
AoIkiW1r57XLK0eZMFt2/C4Hy89N39eafBE8TxuolBeeQOCSRty5Bx0HO3n/ ABrS2L/z1T8j
/hRsX/nqn5H/AAosAyqU1vLPdzoGCxSQqjkoSSMvnBzweffqK0Ni/wDPVPyP +FRS2dtMwaVY
JGAxlkycflRYCjslEW6RpyrTvvALZCZbbjHPXb07e1RSfaMRhHlDMj8EknYJ FwcZznaT/tfj
WusSIoVXQKBgAA4A/KjykDFt6biME4OSPy9zRYDKQSBU857hoMtgqrq2flx3 L4+91/wqzZp5
ZmUiQOZGY7s7cFiRjt0Pb8au7F/56p+R/wAKNi/89U/I/wCFFgGVnwxTLIjS D90s8jKFQ7gS
zAE88jBPb07ZrT2L/wA9U/I/4VA2n2bsWaK2LE5JMfJP5UWAzi08iW0X+kBl RVmOGHO9Afm7
8buQfWr1srIZkO/Yr4TcSTjaD1PJ5Jq1sX/nqn5H/CjYv/PVPyP+FFgGVluj NF5MPntbrtJD
IUKBWUgLwCeN3qeB+OvsX/nqn5H/AAo2L/z1T8j/AIUWAzNkuJpFafaskexS W+4Ahbg8nof1
7k5auZb8TOs/lB2VOHXBIjxx1xkN14rV2L/z1T8j/hRsX/nqn5H/AAoAoWHm fvN/mN0/ePuX
cec/I33fw4/kK9sZF09Iw1yXCJuVoiu1QRuCnaM8Z7k+la+xf+eqfkf8KNi/ 89U/I/4UAYZi
d3kEa3HkF9x3bwSAYueec8NjvxxVn955w2+fu3p5Wd23y/l3Zzxn733uf0rT 2L/z1T8j/hRs
X/nqn5H/AAoAqWKOllF5jSNIyAt5h5zgcf5/nVin7F/56p+R/wAKNi/89U/I /wCFFgMgw3Ue
fK48rMMfGcKc47cgZjyf9hvxeluxvDCfOW3QEIFdlAAWMDkH/e/Wrn9m2P8A zxtf+/X/ANap
kgiiQJG0aKOiqpAH6UWAyP30iRG4WczF4WUANtx8pbIHy9d3Xn9Kcv2gRqy+ fvVA04O7lgyk
hc8cgOPl46e1a+xf+eqfkf8ACjYv/PVPyP8AhQBQt0uVuQJmyFQkkE4JYg45 9CG+gK1cp+xf
+eqfkf8ACjYv/PVPyP8AhRYDKuLeZ49RKySruztRVGH/AHa+oz7cVFOly/2k FpSxWQbBG2Cu
Dt5zt/u9Bn9a1HsbSVy8kdu7HqzR5J/SpViRFCq6BQMAAHAH5UAZlszNcAoZ i3nSCTcW27QW
xjPHXb05/WtGnLEijCugGSeAep69qXYv/PVPyP8AhRYBlFP2L/z1T8j/AIUb F/56p+R/wpWA
ZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/AM9U/I/4UWAZ RT9i/wDPVPyP
+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/89U/I/4UbF/5 6p+R/wAKLAMo
p+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56p+R/wosAyin7 F/56p+R/wo2L
/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/ AM9U/I/4UWAZ
RT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/ 89U/I/4UbF/5
6p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56 p+R/wosAyin7
F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/ AJ6p+R/wo2L/
AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/ I/4UWAZRT9i/
89U/I/4UbF/56p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1 T8j/AIUbF/56
p+R/wosAyin7F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5 H/CiwDKKfsX/
AJ6p+R/wo2L/AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+ei /kf8Kf8AZyOs
iL/vEj+dOwiGipvs/wD01i/76o+z/wDTWL/vqizAhoqb7P8A9NYv++qPs/8A 01i/76oswIaK
m+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z/wDTWL/vqizAhoqb 7P8A9NYv++qP
s/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z /wDTWL/vqizA
hoqb7P8A9NYv++qPs/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCG qerf8ge+/wCv
eT/0E1pfZ/8AprF/31VLV4MaLfnzYzi3k4Df7Jq6afOvUT2Mr4a/8gS//wCv 9v8A0XHXZ1xn
w1/5Al//ANf7f+i467OuzF/xpEQ+FGRRRWBofhKyjt7S/SWTzHjVyDHFjJGf 7ma5KcIzum7D
nKUbWVzbE0bTNEHBkUZI/L/EfTI9RUlZsmlCxvbZRcbofOZkTylD5KZ5cDJ/ 1ZyerAgEnHMf
iNtdj0WaXw4llJqUfzJDeKxSUDqoIZdrHsTxxg4zkc1OUpXurWZrJJWsa1Ma VVbbhyePuoT1
6dBVfTBqC6bbjVXtXv8Abmc2qMsW70UMScDpk9cZwM4ErFvMlCDLARMBnrhi f6VtFXdiWPMm
BkxzAe8Lf4UqOHXIzjJHIx0qP+0TeFYkVfvKxIkU4AYHsadCcqx9ZH/9CNOU UkJMczhMZDEs
cAKpJP4CkWVHcoCQ46qwII/A0zc/m793EchUBVJPKdc8+vpTQsk0ylz8+7Id kzgYOc/Kvt3p
qF1cLlimSTRw7PMYLvcIue7E4AohcyQxucZZQTj6U2aXymhP2jyd0qrnbktk /dHoT0zUdSiW
ori5itYxJM+1C6Rg4J+ZmCqOPUkCpa4nxjCsd7aSXUU4gnulRZBeSGEHYTuk j3KE243grnOw
5K5zRFXZM5cqudokkcjOqOrNG21wDkqcA4PocEH8RTq4aW7m0XUY4bbVbho5 p2MhmtvtLySM
vBZUAZlwmF2kbcYOQML2bO1xZGSyni3SR7oZivmJkj5WwCNw6HgjI7ilpuhQ mpE1FYXhhvFE
lpO/ihNMin80rDFYK+NgJG5mZjndwQMDAxnkkK/xbcS2vha+lhDF9qr8vXaz AN+hND0HKXLF
y7EsviTSYpChui2OrRxO6D/gSgj9a0YZoriFZoJEkjYZV0bIP41zGhnT7r4d m61Ii1WORysg
X5lPQYHfOAMd6h8B3j3K6gmHEIZHXcuDuYsDx24VTj396zjKV7PqYQrNySfU 7Giue18+Ll1L
T18PnSDZStsu2vYpGeAcneu11DDHG3g5xzgkr0NaHSUbvV7GylMU8x8wAEqi M5XPTIUHH41Z
trmC8gWa3lWSNujLXH2N+uka14kOtqJIX5hixlpQWO0D8Mc9se1L4PvjEL2S 6DQQyzRrGMMy
qzdAWxgEhowM4zkeoqFJ3szCnUlOfKlff5HaUVHOJWt5Ft3SOYqRG8iF1Vsc EqCCRntkZ9RW
N4YbxRJaTv4oTTIp/NKwxWCvjYCRuZmY53cEDAwMZ5JC2bm7TI5o5t/lsG2O UbHZgASP1FPq
K3l8xZR9o83ZKy4C4EfA+X3POc+9AEtVjqFqt69m0wWeOHz2UggBMkZz06g9 6S6lnW7s4o3j
SOeQxuzLlh8pYY7dFPX24rmyYdQ12+uZ7uxsrf7OlvCWuYpy7KzENjJyvPRu +O4BFKL5ZPsi
W9Uu51kciyoHQ5B9Rgg9wR2PtTqytEmjuEupRPDJK8zFxEwwOTjgAe/zHlgA T6CLxBKynT4h
ZPdLJcHKgrjIRsA5I69fwPTjOV5KN5LU0UU5WTNU3MIEh8xSYmCOFOSrEAhc DnJDDA6nI9ak
VldFdGDKwyCDkEVw9ndSQvfSjTHtxbXQkEjCMoMKpw3XGcfeAJXPHcV12m2x tLGONid5AZ8q
q4Y9cKvyr9B+pJJmE5Sla2hU6aity2SACScAVUj1SwmLCG9t5WXqsUgdvToO epA/GsnxHIJd
R0bTJiwtL2crNtON2MYU+xz+lZc+rNBeXSxaCbSHT7kf6Rt+UDdgbgQc7sDD KMrnIznBubaT
aOV1kp8r0R2isrorowZWGQQcgilqjo8YTSbZgxYyRrITtCDJAPCjhfoP1OSc y0Pi4+LLmO7O
kf8ACPou+GWOKQXEhOcIcuQCuMlsYIxgDJ2ON2rs206HQ0zzo/P8jcPN2b9v fbkDP5kU+ohL
/ppi+0YzEW8kLyfmA3E+gzjHvTAlqpBfG73taWz3KI20vDNCw6Bh/HxkEHns RVuuehP2uwz/
AMfO1wM/6/bmGI/9N8dc9VznOGzubWnS9pfWxEp8ptxTs88kMlvLBIiq5EhU 5BJA+6T/AHTU
1ZemxGC7aIoqEWkTbVAGMySnoETH/fI/rWpWTVm0Ve+oxZo3lkiVgXjwXH93 OcfyNPqKKXdc
XEf2jfs2HyguPLyDyT3zj9KgvpSjWsW8os82x2U4OAjNgHtnbjPXBOMHBCnJ RV2VFXdhsms6
fFd/ZXuVEuQpGDgE9i2MA8jqavV5pq+gTRatfXunzyXO5iyII5mIYkblBClS R8wzuyD7jNav
gtdSXVLpbiAW8CwgtH5Zjy5b5Tt+gfn6deznUpXiqcr3RnNzjLl5XbudtTJZ EhjaSRgqKMkm
m3M621u0zq7Bf4UXczE8AAepNc7caqzXUf2tfMjY+UsMO5XjdjtBznJYE47E dRgjFROTSfLq
zWEbvU6C3u4bksIy4ZcbleNkYZ6cMAanqnY2hg3SMqozoqCNOFjRc7VA6dz/ AJFXKcG5RTas
KSSdkMhmjniEsTBkbIDDvgkH9QaV5FTGc5Y4UAEknrwByeAfypltL51rG/2j z87h5gXaDhiM
Ae3T8KZJMIr6HODmJ/5pSqy5IuQ4R5nYmSRXzjOVOGBBBB68g8jgj86dVSaa AuT9gSZUKrIw
j3MC3oApzgEE8jg8ZPFOsiDAwDZxI/GCCoLEgYIBGARxjpjtU06vOOUOUs0V z12fFw8WW0do
dI/4R913zSyRSG4jIxlBhwCWzkNjAGcg4G/oa1IGNNGkscTMA8mQi+uBk/oK fUTy7LqBPtHl
79w8sLkyYUnGe2Ov4VLQBXnvbe3kWJ3JlYZEaKXbHrgAnHHWltb23vAxglDl DhlwQy/UHkVz
N/rkOl/aHkMsNzHdOzyq38BBAz7Bdv0xnrWVoWqy6l43SWEFYnWQMgAG2MLw OOoDYHbqK29n
unfRXv0ZzxquTXLtez8j0KmedH5/kbh5uzft77cgZ/Min1EJf9NMX2jGYi3k heT8wG4n0GcY
96xOglpgfODtYIzFVbjBIzkevY/lTm3bDsxuxxnpms8vJOkMERilnSZm2OmV zzncM8AbuufT
rkCqSuI0aKZJHFHcxmOJUyr/AHV25GV9hRL5gjJi2lh2bvSas7APqC5uktUL yA7QMkjHAyB3
PqRUybtg343d8dKid1FzGrPJHkEFlB+YHkrnt068H060JagOjlaVEdIWIcBl +dOQen8VORxJ
GrjOGAIzT7W7M7Mu52COF80qVD8kewyMHOOOh9hDbf8AHrD/ALi/yqpJJaAi Wio187ziG2eX
2IHJpt3B9qtZId5TeMbh1FQMk3oApLLhuFOetOrOsoobPTzDNJhtwy4AUpyD t5yOv6Y9BVhJ
kaVFimaTJ+YEqcDB54Hrj86px7CuWaQsoYKWAJ6DPWhiQhKruIHAzjNRs1v5 KF5yjb87+ASc
EY5+p4/+vSSuBLRUKSKZQscxlXaSxODg8Y6D6/lTpfOAHk7Cc8hqGrASUUDO Bnr3xULyIspW
WZol2gqRgZPOeoPt+dCVwJQylioYEjqM9KWole08p9k7O+/IfgkHAGMADI4H H/1qkUkoCy7S
RyM5xQ1YBaKjj87e3mbNo+7tHWpKQwooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKA
ClVSxwOtJUpzEm3o56+wpgJvCcJgn+9/hUdFFIAoqhrih/D+pI3Ctayg/wDf BrB0/wAPaNa3
8y211LOghQ7oLWKTBYtkExx/7I4PB5yCK0hGMk9dSJSaa00OpimjnUtE4YA4 yPz/AJEEeoIP
emwwfarSW8mv5LWFGkB2bAqqjEEsWU/3Se1Z+jRsZrt5WzJEywcQ+UCqohBK 4Byc55+70HHJ
ZrF7DaeCbiOaV4vtU89urIVHLSPnJYEAYBzxnHTnFZ0ZPkcpLUdRxi99C5aT 6Vf3LW1r4laa
cNt2I8JLHaG+X5PmGD1GRwR1BqVYrV9Vk0xdYvDeRxCZo/Lj4QnGc+Xjr71x Xh5zca9b3X9r
ybEvTNOZZ4doLRFVC5UFt23acDOM8Dhq6zSbDU5fGV7rN7ZCzia1W2RDMshc hs7hjtx3wa2o
vni5SViZuOjpu6Zq/wBjt/0E7z8ov/iKP7Hb/oJ3n5Rf/EVjaxql3ofipXbU ZJbO40y5mSym
VBGs0b2yRqjJGZSWMpGPnJLAKpOBVex+IUDwmfVLGTT4IXuIbmVhLiOWOFbg KqPGkhDQmRsl
FwYyADuUmtOwWOh/sdv+gneflF/8RUF3aSafCs4vJph5iIySqmMMwXjao9ay bjxtPZajptrd
6Vt8/wCzRXgheWZrO4mKqImZYjDwXQktKpKtkKcqG6DW/wDkG/8AbeD/ANGp RZdgZBRRRXOa
BRRRQAUUUUAFFFFABVPVv+QPff8AXvJ/6CauVT1b/kD33/XvJ/6Caun8a9RP Yz/hr/yBL/8A
6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrtxf8aRnD4UZFRacLixsIrV5YpBEg RGWMqcAY5+Y8
0qm4cbo7G4ZT0J2rn8GYEfiKdi7/AOgfP/33H/8AFVwWZpoV3ivZ7iB57i3M cMhkCxwMrMdr
LyS5/venarVNxd/9A+f/AL7j/wDiqMXf/QPn/wC+4/8A4qkotdB3HVVuYJZf NCbMSR7OSRjr
7e9WMXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qqV1qhFR4buS4jlZ1ITo pkY9iD1HuPyq
zAjJFh8bsknB9STTsXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qm3JhoVJ 7e7M7vBOFRsH
afXGPQ+lRm31HHF0ufw/+Jq/i7/6B8//AH3H/wDFUYu/+gfP/wB9x/8AxVNS khWQRJ5cSJnO
1QM0MJC0Zjl8vDgsQuSV7gc8Z9aMXf8A0D5/++4//iqMXf8A0D5/++4//iqi zGOqpfWMF4m6
W2iuXjRvLjnP7skjHIwR7ZwSATjqQbOLv/oHz/8Afcf/AMVRi7/6B8//AH3H /wDFUWYaGJon
hWw0WO1fMlzdwRCMTzSM2OACVUkhc47djjOK3agmluIEDPp12QTj5Arn8lY1 FFf+eu6G3lkH
cq8Zx/49Q79RRikrIuVHPDHcwSQTIHikUo6nuDwRUf2mX/nyn/76T/4qj7TL /wA+U/8A30n/
AMVSGczdeCGnjitk1RxZRMXjhki3FSepyGAJ9yDXQaVpVto9n9mttxBbczuc sx9T+AA/Cpvt
Mv8Az5T/APfSf/FUfaZf+fKf/vpP/iqSilqZwowg+aK1LFFV/tMv/PlP/wB9 J/8AFUfaZf8A
nyn/AO+k/wDiqZqLc2VpeAC6tYZwvTzYw2Pzrz1vAXiDcwXU7cqWDctycYx/ yzJ7DjOD3zk5
9B+0y/8APlP/AN9J/wDFUfaZf+fKf/vpP/iqmUFLc3oYidC/J1Cwt3tdOtbe R97xRIjP/eIA
BNWKqi8cyNGLOfcoDEZToc4/i9jTvtMv/PlP/wB9J/8AFVRi3d3ZYpqCQKwk l35clRtwEXjA
689+feoftMv/AD5T/wDfSf8AxVH2mX/nyn/76T/4qgRBq1rdXMMLWUscdxDJ vXzOhyrKecHB
wxIODyBxVKK21mGMRxwWIUf9PLkk9SSfL5JPOe9an2mX/nyn/wC+k/8AiqPt Mv8Az5T/APfS
f/FVrTrShskRKCluFra/Z1LO/mzvjzJCMZ9AB2Uc4H8ySSzUNPTUIo1aaWFo n8xHiIDA4I7g
joT2qaK4SYlcMjr95HGCP8R7jim3V3BZQ+bcSBF6c9zWcrzeuty4+7sYy+Fl P2pJtUvZIp3y
yfIMjaAQTt56HkY4wO2T0FYf/CV6f/cn/wC+B/jR/wAJXp/9yf8A74H+NWsN VW0H9zFKspbs
vatpNtrFn9nuNww25JEOGRvUGskeF7i5aNNV1m5vrVDn7OwKq31yxyKsf8JX p/8Acn/74H+N
H/CV6f8A3J/++B/jT+r1f5X9zMpKlJ3djcAAAAGAKKw/+Er0/wDuT/8AfA/x o/4SvT/7k/8A
3wP8af1er/K/uZftIdzcpoEnmlvNxFsx5YXq2epOfTPGO9Yv/CV6f/cn/wC+ B/jR/wAJXp/9
yf8A74H+NHsK38r+5hzw7m5WYNPu0fKz2ciq++L7TbyTMmAAMM0vBwo6Yycn qTVb/hK9P/uT
/wDfA/xo/wCEr0/+5P8A98D/ABpqjXW0X9zE5Qe7Ra0XRbfRLPyovnmfBmmY fNI39AOw7fXJ
OlWH/wAJXp/9yf8A74H+NH/CV6f/AHJ/++B/jU/V6v8AI/uYRlTirJo2lEga QtLuQ42R7cbe
uTnPOePyqlqunNqMESx3DW8sUnmI4GR0KkEZBwQx6EEcHNUv+Er0/wDuT/8A fA/xo/4SvT/7
k/8A3wP8aUsNVkrOD+5lRqxi7pj00zUo0VEv7NUUYVVs2AA9B+8rTtbWO0i2 Jkknc7tyzt6n
3/lwBgACqFvr9rdNtiSQnjhmRf5tV37TL/z5T/8AfSf/ABVc8cPCk9FZmsqs prVllAizpK6b
ygO0E8Anv9ev5mqFxpcF1rh1OXBIVQsQXChxn5z6nGAPTA9Bib7TL/z5T/8A fSf/ABVH2mX/
AJ8p/wDvpP8A4qq5Ve5N2WKKr/aZf+fKf/vpP/iqPtMv/PlP/wB9J/8AFVQi aMSLEiyy+a4z
ltu3ucADJ6DAqOe1iuQvmqcr0KsVI/EHNN+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqGk9G
CbWxEbOeN2NtcrGjYJWRC5yFC9dw7AdamtbdoBIZJPMklfe7BcDOAOBz2A70 n2mX/nyn/wC+
k/8AiqPtMv8Az5T/APfSf/FVnGlCMuZLUpzk1Zliiq/2mX/nyn/76T/4qj7T L/z5T/8AfSf/
ABVaEkxEnmoyy7EGd6hcl+OBnPHPNOqv9pl/58p/++k/+Ko+0y/8+U//AH0n /wAVQBQ1fw5Y
6yQ0/mxSgY8yFtpI98gg/lUmkaDYaIji0jbzJMb5XOWbHQZ9PYVb+0y/8+U/ /fSf/FUfaZf+
fKf/AL6T/wCKqnOTXK3oTypO9ixTQJPNLebiLZjywvVs9Sc+meMd6h+0y/8A PlP/AN9J/wDF
UfaZf+fKf/vpP/iqkosVUgju4pmZmjaMoE2cDkd87cnncef7xp/2mX/nyn/7 6T/4qj7TL/z5
T/8AfSf/ABVNSa2E0SfvXmV3VFADDhskk49h6VJVf7TL/wA+U/8A30n/AMVR 9pl/58p/++k/
+KobuBYqKeNpFXbjKtnB78Ef1pn2mX/nyn/76T/4qj7TL/z5T/8AfSf/ABVI YsNsIotu+QEk
sQsjAZJJ9feplUIgVRgAYAqD7TL/AM+U/wD30n/xVH2mX/nyn/76T/4qndsR Yoqv9pl/58p/
++k/+Ko+0y/8+U//AH0n/wAVSGSSQrIyscgqQcjvg5wakqv9pl/58p/++k/+ Ko+0y/8APlP/
AN9J/wDFUAWKjMKmZZeQw5wOh4xzUf2mX/nyn/76T/4qj7TL/wA+U/8A30n/ AMVQBYoqv9pl
/wCfKf8A76T/AOKo+0y/8+M//fSf/FUAWKKr/aZf+fGf/vpP/iqX7TL/AM+M /wD30n/xVADx
CgmaXkseeeg4xxUlQfaZf+fGf/vpP/iqPtMn/PjN/wB9J/8AFUAT0VB9qk/5 8Zv++k/+Ko+1
Sf8APhN/30n/AMVQBPRUH2qT/nwm/wC+k/8AiqPtUn/PhN/30n/xVAE9FQfa pP8Anwm/76T/
AOLpftUn/PhN/wB9J/8AF0ATUVD9qk/6B83/AH0n/wAXR9rk/wCgfN/30n/x dAE1FQ/a5P8A
oHy/99J/8XR9rk/6B8v/AH0n/wAXQBNRUP2uT/oHy/8AfS//ABdH2uT/AKB0 v/fS/wDxdAE1
FQ/a5P8AoHS/99L/APF0fa3/AOgdL/30v/xdAE1FRfa3/wCgdL/30v8A8XR9 rf8A6B0v/fS/
/F0AS0AEnAGTUX2x/wDoHS/99L/8XQb2bGFsZlHt5f8APdmmIsgeV8x+/wBh 6fWo6r/aZf8A
nyn/AO+k/wDiqPtMv/PlP/30n/xVIZYoqv8AaZf+fKf/AL6T/wCKo+0y/wDP lP8A99J/8VQA
X9r9t066tA/l+fE8e/Gdu4EZx361XSPWo7l5xf6fueNIyDYvjCliP+WvX5j+ lWPtMv8Az5T/
APfSf/FUfaZf+fKf/vpP/iqabWwmrjLK2uIXupbqeOWa4lEjGKIxqMIqAAFm P8OeveoLi00j
UdFfTNWuI4GFxJIpaQI6kuxDLng8N7jk1a+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqala9
yZRUlZnn2teHZLWVbTQtStpLOQAyTPdwh2bkfPnHygHgKD1PGa9K0/UtOtNN tbaXVrOSSKFI
2fz1+YgAE9arfaZf+fKf/vpP/iqPtMv/AD5T/wDfSf8AxVausuVRtohRhyqy IHsPCsst1LPe
xTyXOdzz6k8hiywf90Wc+T8yqw8vbgohHKrgtrDwraWctql7FJHNdx3shn1J 5neaMxlGLu5Y
48qPjOPlxjGan+0y/wDPlP8A99J/8VR9pl/58p/++k/+KqfaLsOzIL2w8K3+ orfT3sXnCWOc
rFqTxxySRlSjvGrhHYFE5YE4VR0AAu6lf2d5arBa3UM8pmibbE4YgLIrEnHT gGoftMv/AD5T
/wDfSf8AxVH2mX/nyn/76T/4qj2i7ByssUVX+0y/8+U//fSf/FUfaZf+fKf/ AL6T/wCKrIss
UVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsUVX+0y/wDPlP8A99J/ 8VR9pl/58p/+
+k/+KoAsUVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsVT1b/kD33/ AF7yf+gmpBdh
WAmhlhB4DOARn6gnH41Hq3/IHvv+veT/ANBNXT+NeonsZ/w1/wCQJf8A/X+3 /ouOuzrjPhr/
AMgS/wD+v9v/AEXHXZ124v8AjSM4fCjHvtQuLbVbSKKCW4jkglZo4tgOVaMA 5YjpuI696xfC
/iy71vUpLe4jgVBEZAYwM9Iz2kbu7DkDp65A0b5Lt9Ys5LV449tvMGkkhMij LRYHDLgnHr2N
ZHhq21631GR9UMxhMRA3y7huxH0/eN3EnYdffA8+pKXNGx0U1Hllc39U8RWG j3Fvb3RumnuE
d447azmuGKoVDEiNWIALryfUVoQXUN1bxXFvKk0EqB45I2DK6kZBBHBBHeuY 1nSb/UfFGl3V
rfXVhDBZXUclxbCEtud4CqESI4wQjHIH8I5GcHndU8NX0XiDS207TZ1i0+Wz gsp7UW22KzR0
8xJZJP8ASN23zhhDtZSoOSXzrcyPQbzVIbG60+3lVy99cG3iKgYDCKSXLc9M RsOM8kfWrm+v
LoPC1/JYaRZxaY+l6lbXCnUdWTyc3ji1uI2m3I/muGd+S2yTEpIKtllW+0XW LnXNNvI9Deyl
s57WK3NiLPyYLVJF81WkbE+CPOwse1TGyAqCXWi4HqG+q99qFvpun3N/dyeX bW0TTTPtJ2oo
JY4HJ4B6V4xBpf8AaV0ul6bYomq2Wmvb61fWkltI17KtxamQMwZsvIIp8C4C 7tzBhjfjrrbw
9dwfDjxBpNta3Uct7b3K2trcvbqyF4dgULCqwxgsCcKSPmLE5YgFwOx0zW7X VvN+zRXyeVjd
9qsZrbOc9PNRd3TtnHGeorQ31wos7q60d7Kz0fV7C6FwslteanfrctbSFSPO VvOkYhQMeXwH
37T8rORzt9oxu9Z1Cxg8MY1P+xoI7W68yKT+z52mu/3/AJzsJDl8Sb1BkONz APxRcD1DTdUh
1S1e4gV1RLia3IcAHdFK0THgnjKEj2x06Vc315Xc+GNUePUUk0n7VcXP2pdM uN8R/syZ7q5k
W4yzBkyssDbowz/uuQCqgz33hC5k0KRfss7STazc3V7DC0MslxbmW4MSKs+Y ioMscmxsAHcw
AfqXA9N31BeXL21jcTxQtPJFGzrEvVyBkKOvJ6VxHhXwxJp+si9vLafbDYQx WhuJ0dom865Y
rtjCorLHKijau1FZkRiuSevu5Z0sp2tUV7hY2MSN0Z8cA8jvjvRcCL+1rj7P u+yx+Zs83zPO
P2Xy8Z3+dtxjHbGc9tvzVIkaalZ211NC9rcvErHH+sjyMlCSOcZIwR+GazvL uf7P8n7HJ9l3
b/K3p9p8zfv83du8vO/nZ0xzn+CtK0lneyga6RUuGjUyovRXxyBye+e9DYFd WeOXyJ8eaBlW
HAkHqP6jt+RqWpbiJLmPY+Rg5Vh1U+oqmkxjkEFwVWX+E9BIPUe/qO361m0M gm1mwgttTuJZ
9sWmZ+1tsY+XiNZT25+RlPGeuOvFWoZlnQugcAMyfOjIcqSDwQDjI4PQjBGQ Qa4nW/B82p2n
jKXZe/ar3f8AYY4tQkijl/0SJF3IrhDl1YHeOQOeMVk3vg3Vbm7kee3vXVpb k2n2WS1H2V3u
7iQSl5VZotyyQnfCC42HIyqiiyA9QorhZvDNzH4dvof7O86S+1O4lvEAhmmk tzcSyRCMT5iG
C0bbW4AaQgBzVHRvCGrmy1J5o5rW+/sx7XTJridA1u5mvNhxCSqMscsQBQfK GZUwMiiwHeya
hFHq9tprK/nXEEs6sANoWNo1YHnOcyrjjsfxt1xNv4W03UNXsHl8G2tjpkEF 2Htbm3tivnO1
vtcJGzLkqjjPX5cHGRmvo2kXrX2m6bezOzizstR1iKQ72+1RrsQmTOWLvErZ U4H2TnPmkksB
2yf8hGb/AK5R/wA3qxVdP+QjN/1yj/m9WKQzO1H7Z9pt/I+2fZ9j+Z9k8ndu yu3Pm8Yxv6e1
Qw/bvtttt/tTyt5877X9l27djYx5fzZ3bf1rXop3EUdWkuI7D/RX2TvNDGrZ A+9IqnkhgOCe
cHHpVHUbLxBZaZd3X2rHkQvJn7VG33VJ6fZhnp0yPqK1L23e6twkUixyLLHK rMm4ZRw4yMjI
+X1qK9TWL6xuLSW9sRHPE0TFbN8gMMHH73rzTjbqBJeKAIZRw6SqAfZmCkfT n9BXK+JJHl1V
4yfkjACj6gGurvf9Qv8A11i/9DWuX1tN2r3H/Af/AEEV1YC3tlcyr/Acz4iu V0jy4baWKa5x
mRM7gBnrweAe2ck4zgAil069g1O0E8SmNwdkkTHJVgBznAyDnj8R2yaniO0v 7a+E1hG1zbTK
vypv3o3I5AbAHA/+vnNaGj6fcW1n5l5gXMpyY1YsEXAwMknnrnHt+Hsqa0V7 /IxqRio6Im8u
jy62FmxDFCZG8oQuGTnbuO4jj8V5qeW6idwMoI2JC4DkxqVK9zgYyOF4OPYU 3UfYwsjA8unR
27SyLGgyzEKB6k1rSSRTxhMeVvkUN1baq5APvw2P+A+9Ptp0hgi3uRscNsjJ G7DZO4Hg8Dgg
+n4DqO2wWRieXTlt2dXZRkINzewyB/MitlbkxGHdMZSs++Rhklh8mOTg9uns PalidLe38qO5
AkbdiRNwC5KH0z/CelL2j7BZGH5dHl1uLNGIoQ0mCowqoW2IdpAYgjhskHI9 +/UilCsN9zux
JulPzHzlwPl6c9CMHA5p+0fYLIxY7dpZFjQZZiFA9SaWS32Hh0dc4DL36djg 9/StuK6UXCeZ
KxiRYtoOSFZSmcDtwG/yabbyPLGE8xzcsX2v8xK/c5yOeisOKXtH2HZGH5dS 2un3V61wLaNJ
DBGJGjDfvHGSDsXHzY4zz3GMkgVfv0LXZ3NvYIgZueSFAPXnrTdPuhp981z9 maWeNP8ARWJA
jRzuDM4zuOFPAHXJzjgiatSfJeG44Jc1mUrmwurFrf7RGsZnjMipu/eIAQBv XHy55xzng5wQ
RWtpOtzWjJDcMXt+g9VqtqF0NQvlufszRTyJ/pTAgxu42hWQZ3DKjkHpgYzy TB5ftWXJ7ana
qtfyK5uSXuHeo6yIrowZWGQR3p1cnpWpvYv5cmWtyeR3X3FdTHLHMgeJ1dT0 KnIrxq1GVKXK
zshNTV0PooorIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK999o/s+5 +yf8fPlN5PT7
+Dt68dcdazv9K/6mD/yRrZoppiK9j9o/s+2+1/8AHz5S+d0+/gbunHXPSs21 tdcv0lnhucRf
aJkQfaETAWRlAwbdvT+8a2qpW0eqWUbw215Z+UZZJFElozMN7l8EiQZ5b0px t1Bkemi7Jv7X
UHErwz+XyyuNpjRsZCID94/wj05plxn/AIR28UsW2RTICTkkLuAz+VW7SCeK S6muZo5ZbiUS
MY4yijCKmACx7L696qXP/IA1D/duP5tVQ/iL1B7Ff4a/8gS//wCv9v8A0XHX Z1xnw1/5Al//
ANf7f+i467OuzF/xpGcPhRlbqN1NorzzUduo3U2igB26jdTaKAHbqN1NooAd uo3U2igB26jd
TaKAHbqN1NpOSwRBudug/qfamIfuo3VXiuoZUQiSMMwB27hnntU1ADt1MlVZ ozHIu5T1FMae
JGKtKikdiwFLFIXjRmXaXQOvOQQfQ/j/AJ4o1AhME8X+puNw/uTDd9ACMH8T ml33n/PCD/v8
f/iKsVFukaN5VwFUnggc465ORjoexoSuAzfef88IP+/x/wDiKN95/wA8IP8A v8f/AIipFlJ2
bo2UP91iQQeM9ie1ExIQYOPnX/0IUnoMj33n/PCD/v8AH/4ijfef88IP+/x/ +IqxWauqOw4g
ycAkKJGxkAgEhCM4IqowlLYlyS3JlW8Fy83kwfMirjzjxgk/3fepN95/zwg/ 7/H/AOIplrfC
4kMTxvHJglQyOAyjGSCyjucVLcz/AGeNTgFnYIoJwNx4GT2H/wCoZJAMz9z4 hx97YbvvP+eE
H/f4/wDxFG+8/wCeEH/f4/8AxFZ0mrpp13cW13cJMyuCredDHgFVONrOCOc4 znjHJ61qW06X
Vuk8edrjIz/nBHuMg9QSKzhVjPRblyg46sZvvP8AnhB/3+P/AMRRvvP+eEH/ AH+P/wARTroX
JtZPsjRLcY+QyglM++CD/nv0rNFzqEuyO3vrN7kkebC1kymAd9/7049uu7qP lyw1sQWrlrkx
oJIolXzY8lZST99e20Vj6hby3Gr3KxRPIw2nCKScbV9K3r3/AFC/9dYv/Q1q PSv+Rnvf+uQ/
klb4aXLPm8iKqurGB/Zd7/z53H/fpv8ACj+y73/nzuP+/Tf4V6FRXZ9cl2Mf YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wqWC 11S2JMEF0meo
ERIP4EYrvaKmWJ51aUbjVG2qZycd5qqriXTJJD6qjL/Q0/7dqH/QIm/8e/8A ia6miuZqn/L+
Jr73c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/ 0CJv/Hv/AImj
7dqH/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x 7/4mupootT7f
iHvdzlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8A QIm/8e/+Jo+3
ah/0CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/ +JrqaKLU+34h
73c5b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0C Jv8Ax7/4mj7d
qH/QIm/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A 4mupootT7fiH
vdzlvt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib /wAe/wDiaPt2
of8AQIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJ rqaKLU+34h73
c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv /Hv/AImj7dqH
/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4m upootT7fiHvd
zlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/ 8e/+Jo+3ah/0
CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+Jrq aKLU+34h73c5
b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8A x7/4mj7dqH/Q
Im/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mup ootT7fiHvdzl
vt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe /wDiaPt2of8A
QIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaK LU+34h73c5b7
dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv/Hv/ AImj7dqH/QIm
/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4mupoo tT7fiHvdzlvt
2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/8e/+ Jo+3ah/0CJv/
AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+JrqaKLU +34h73c5b7dq
H/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8Ax7/4 mj7dqH/QIm/8
e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mupootT 7fiHvdzlvt2o
f9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe/wDi aPt2of8AQIm/
8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaKLU+3 4h73c5VtQv0U
s2kyqoGSSWAA/wC+ajeTzfDN5JjG+KdsZzjJaul1H/kGXf8A1xf/ANBNcun/ ACKdz/1wm/8A
ZqfLG8Wl1Fd6pjfhr/yBL/8A6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrbF/x pBD4UZFFReeP
+eN1/wCA0n/xNHnj/njdf+A0n/xNcFmaktFReeP+eN1/4DSf/E0eeP8Anjdf +A0n/wATRZgS
0VF54/543X/gNJ/8TR54/wCeN1/4DSf/ABNFmBLRUXnj/njdf+A0n/xNHnj/ AJ43X/gNJ/8A
E0WYEtFReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATRZgS0VF54/543X/gNJ/8 TR54/wCeN1/4
DSf/ABNFmBLUZdrdmkHKtjce6/8A1v5c/gnnj/njdf8AgNJ/8TR54/543X/g NJ/8TQroQ3zr
m5tsFI1WVOfnJwCPpU9ReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATTd2AqPcw qUj8spuJBLEH
k59PemJcS3saFgFUYYkc8+gP6E/h9HeeP+eN1/4DSf8AxNHnj/njdf8AgNJ/ 8TRdgS1mXq3S
IpRN0SSF3XAIcFgfUHgZPQ8/QGr3nj/njdf+A0n/AMTR54/543X/AIDSf/E0 JtA9TO02SWeV
t2FRZCypwNo5HHJPOQewzn8dKf8A1Y/31/8AQhUaNFGcpaTqemRaOP8A2Wle UOoHk3Q5B/49
pOxz/doldsFoT1labDqksMw065tbZkkVZRdWryEnyoxxh0x0Prnj8dDzx/zx uv8AwGk/+Jqv
JBZzSGSXTndz1ZrJyT+O2rpzcL6EThzDvKv4r+2Goz200pimKtbwtEu3MXBB duevOfwqy6JL
G0ciq6MCrKwyCD1BFVYYrW3cvDYSRMRglLN1OPwWp/PH/PG6/wDAaT/4mpm+ Z3KiuVWOce7l
sbW/jWK4j8wsxmmExMXyhQdyxEHAUc7j0zuPWtuyd45ZLQzNcrEP9cRgrnor 9i2MHI/EDI3S
TmK5t5IJbe6aORSjr9nkGQRgjpRCYreFYore6VF/6d5CSepJJGSSeSTyTXJC hOM076G8qkZR
21LNFReeP+eN1/4DSf8AxNHnj/njdf8AgNJ/8TXTZmQy9/1C/wDXWL/0Naj0 r/kZ73/rkP5J
S3Um+AfJKuJYv9ZEyfxr0yBmk0r/AJGe9/65D+SVrR3foRPoa+r3clho19eR BTJb28kqBhwS
qkjPtxXP6N4Z02+8M2k90sk19dwR3D37vm4WQqpBWQ8jbgYHTjnPOeqlijmi eKVFkjdSrowy
GB6gjuK5+Dw9qVnpx0u112RbEYVGeHdcRx8ZVZAwA74O0lc8dBXTTmlGydnc ynG8r2ujL8J+
Jb+6GiW1+I/JvLKQRTfMXlmicqQTk/wAMSRySee1C+NZ5ILdibKBb+9mSzu5 8rCLaMjLuCwO
48gD5cn076moeEoLjQ7LT7C6ksJrHH2e6iUb14w2SMH5gSTgjJ59qlk8MQR2 ulpp8v2W40vi
2mMYcEEYcOowG3DOSMHPII77OdBvmtvf9bfp+Jmo1Urf10/4Jhah44nsLfU4 op9Ov7i3gjuI
Li2yYmQyKjK67yQwLZ4Y5BHTodHUdX8Q6NbG+1GLSxZi7iVzAZHMUDMQxOcZ YZQDA9eKn1bw
/qWt6ZeWV7rEYSdEVFhtNqIVcMWILliTgD7wA9DWxqNhBqmnXFjcruhnQo3A JHoRkEZB5B7E
Cpc6Stot9fTT08ylGo76+n4mBrOsTS3Ov6ekEE1lZaU8lxuDA+cykqhIIypQ Z4/MGqsPiVbW
30PTIZbDTjJpsV1JNdk+UibQqogLgs2fVuAO5rR0/wAK/Y9A1Gwlv5Lq81BH We9lXLnK7F75
IUdAT69M06Pw3JaNptzY3qxXtnaLZPJJDvSaIDoU3Ag7gGBB9jkU1Kily/1t v94uWpv/AFuZ
MnjWeKxvplNlc/2ZdQi6mt8tHNbyHAMQ3cOOAQSQCDyatN42ii12/tpYP9Bt 0mEUyEl5JYVD
yptPTAbgnA+U8nPGpcaPdahpeo2epX8dx9rQpGFtgscHy4BCkkk7vmyW6gYx WXd+BoLjw5Dp
qXskd5G7Stf7AZJHfIk3dCQwOCM9AuScctSw7+L9ey1+/wDMTVVbG3oN3d3+ g2V5fCAXFxEJ
SIAdoDcr15ztIz75rRpsUUcMSRRIscaKFRFGAoHQAdhTq5JNNto6ErKzCiii pGFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5B l3/1xf8A9BNc
un/Ip3P/AFwm/wDZq6jUf+QZd/8AXF//AEE1y6f8inc/9cJv/ZqtbR9Ser9B vw1/5Al//wBf
7f8AouOuzrjPhr/yBL//AK/2/wDRcddnWuL/AI0gh8KKuoXEltaeZFt3mSOM FxkDc4XOMjOM
561zOmeNrHVb+e1sdb0u9kt7iOFo4ACZFby8yIRK2VHmhc4+8pFdPf2hvbNo Fl8piysr7c4K
sGHH1FYlr4Vlt76S5bUA3nXKXM4EJHmOoRQeWOOI0HA7etYpgzS1q8urGyjm tTCCZ443Mqls
K7BMgAjJyy9+mayZdbsreYiPXLOOdSVkE82/J7grvAHPpjH04rW16wuNT0aa 2tJY47ndHLE0
oJTcjq4DY5wSuCR0z3rmINB8UW6EBNMZmO53a8k3O3qf3P09gAAMAAUlQ9q7 uVrDdRwWkbm5
oOuf2peXsDXthP5JUR/ZzhmG0Fm27m+XLAZB6g1mXfjr7JrGu6a+nfvrHy47 D9//AMf8zLD+
7+7+6w9zbpuYkfvM9FbG3o2kvYp9ovHWa/dcMy/djXrsTPbgZPViMnACqrLf w9bx6rd387ed
JLqAv4Bgr5L/AGVbY9D83yhuv9/pkA05JJ2TuCbau1Yr6N4u07VfD1rqzt9n 837LHLFhn8qa
4SJkjztG7/XxjcBjnnGDjL07x8osNPv/ABDbWmk2mo2SX1tMl20yqjPCmJSY 02HdcRcjcPvE
lQMmTR/CP9naxo/mL5kOj6Vb2yXWcfaZkWSNW2bvk8tHl45DfafWMVJp/gLT dK8MWWk2Udpb
zwvYvc3cNoqNdNbSJJlwDklih5JON5PPeRmoPFGkm8htTNOskuwZe0lVI2cA pHI5XbHIdy4R
yrfOoxlhmnb+N9HktUnmmkQM8u7ZbTsIESV498+YwYBlGyZAoBV8EhS1F14X muNUuJFv400+
7vbfULmA25Mpmh8rZsk3gKn7iLIKMT8+GGRt5+P4dDUB9tvodNW4uXnM0d9p 8d48ET3M86CI
ltkcoE5DEiRCVXAIX5gDoNW8aafpsU7QxXd2be4hglMVrMY/nnSFgkgQrI6l zlFJbKlcAg46
CCZbm3inQSBJEDqJI2RgCM8qwBU+xAI71zb+Frw211Yx6nAtg12b+2RrQmWO 4+0i5Bd/MAeP
zMjaFU7SBuyNx6SATLbxLcSRyThAJHjQorNjkhSSQM9snHqaAJKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAy9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKv63 /qIf+usf/oa1
Q0r/AJGe9/65D+SUU/ifoKWyOjooqneM7SxQhmVGVmYqSCcYwMjp1/SnFXdg bsi5RWZ9nX/n
rcf9/wB/8aPs6/8APW4/7/v/AI1fIu5POadFZn2df+etx/3/AH/xo+zr/wA9 bj/v+/8AjRyL
uHOadFZn2df+etx/3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8A f/Gqcl7pkWpx
aZJqipqEyb4rVr0iV155CbskfK3IHY+lHIu4cxv0VmfZ1/563H/f9/8AGj7O v/PW4/7/AL/4
0ci7hzmnRWZ9nX/nrcf9/wB/8aPs6/8APW4/7/v/AI0ci7hzmnRWZ9nX/nrc f9/3/wAaPs6/
89bj/v8Av/jRyLuHOadFZn2df+etx/3/AH/xo+zr/wA9bj/v+/8AjRyLuHOa dFZn2df+etx/
3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8Af/Gp7Mus0sRdmRVV l3MSRktnk/Sk
4WVxqV2XKKKKgoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHVW5XM8R9FY fqKtU1kDMCew
NOLs7g1dHzhZ281iL7QbeLw14onvNN1Ro9W0pTPqCsY3IedxuOXMnlgZ5LAb jj5t7R9Y1drD
4f6J4e8VIRqVlPFcyPBBcC2eO1jYR7VCkFCSQGOckbtw4r3HYKNgp3FY8Vm8 da3b6mNMn1RI
tQPjVbEWrxxrKdObG35CM7DkYkxk5HzVk+GtV1Tw/wDB62TTNdtYdTt73ybv T766treS0Xzp
S0aGRcJI4Un97u4DFRwBX0BsFGwUcwWPML3xVrKfBF/E2mxXzak1qJVN7CjS oDJhn2oqqVVS
WVtoBUKxHWq+q+JXtL3w9bWfjTztFvbq5S+1vdaN5DJCGjh8wR+Uu45OGUse xxXq+wUbBT5g
5TwKx8a+MNTslludUn0+WHwlPq+2K1hHnSxzOiOwkRvldArELgHORgGsm+1i 9udK+IHiEmAT
z2GhzSW7W8csBeVIiSUkVs45Ayf4snJAI+k9go2ClcLHiV54212PxMttJrX2 W5Pi2PSxpPlQ
jNgQuJdrKZfmyPn3Y+bjHFZi/EfxEND0GJ9YQaybLWX1SAwxCWKWCORofMj2 5jIK5xgZxzmv
aLrwrpN9q8Op3cM9xcQSrPCk11K8McirtV1hLeWGAJwQuQeevNbGwUcwWPIZ vE2u2XhHw1Nq
Gs4utc2TjUMQ2Vtap9mVvLkkeOVdzMCw+UbiTjaF21geDdcvde8b+Gte1rU/ 7PlvdBa3E6rH
Gl7LHesvkjepBZhtJVMNzxtBxXvuwUbBT5gsfOei+NdatfCGnhtUg0W2Gg31 9bSwWtvAl1eJ
cuqwgMmw4UKdqAMd2STkVp6h458XQWXifVpb6S0m0a30mZdNNrGIt9wiGaOQ MpkxktwHBHrX
vOwUbBS5gsVNp9KNp9Kt7BRsFVzi5SptPpRtPpVvYKNgo5w5SptPpT7ZcTyn 1VR+pqxsFCoF
YkdwKTldWGo2Y6iiioKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD OT8V6bHda74c
LXWpQi6vWtpltdRngV4xbXEgBWN1GdyKd3XgDOOK5+38Ral4U0S71GUWl5p8 mp6wIrVYmilR
o3u58tLuYMD5LLgIMbwcnbhvSJIIZnheWKN3hffEzKCUbaVyvodrMMjsSO9R rYWaeXttIF8q
V548RgbJH3bnHox3vk9Tub1NAGH4X1XXL24vbPXbKO3ngSKWNgIo2ZXLjmJJ 5iAChwxYbskA
fISce38W69JYWN6Le0uRqOmf2vBbW9u/mxQo8BkhHznzpTHOQhAQb0GRhvl6 CP8Asrw1cWmj
6To0cT3rtN9nsIY4lVFKLJM2Sowu+MHGWORgHBxc0zT9Lt/Nv9O06C0kv8TT utr5EkpOSDIC
A275j97kEnPOaAOTvfFuv3FxbxaJp8c6Xr3M1pIsKyk20Jij3lXniUh3kZ1d XIMew7TuJWTT
/FPiDUrDVdShsbH7PY/Z3Ftbs1zNMGgt55URkO12CSSKhGQ7Mn3QpL9RdaFo 99p0GnXmlWNx
YwbfJtprdHjj2jau1SMDAJAx0FXI4IYXmeKKNHmffKyqAXbaFy3qdqqMnsAO 1AHn+qeM9Sgu
4ryzs454LpJ49NVWbMi/aLO3SQqZFjcM8sjqcjdGUw6bmNSL4v8AEseLO40u BL9/PtosopDX
X+jmHekc0nlrtmld13s3lwtIMDiuos10LU9O0/7NZQTWNzp5Fr/oZ8v7KwTM fK4VWGz5DjIX
odpxcttJ02yt7a3tNPtIILVy9vHFCqrCxDAlABhSQ7gkf3j6mgDn7fxfNL4X 8Q+IG0+RbfT0
eW2glUxO6pbJI6OfmAdZTLG2PulCCMqaw/EMusajrWneFr+fSriRruGZ5HsH NtNG8F4RHJbm
U79rWwYHfjJU4ynPokMENshSCKOJC7OVRQoLMxZjx3LEknuSTVOx0LR9Miji sNKsbSOOUzok
FukYWQqULgAcMVJXPXBx0oAy9Vk1I+OtCt7K9jggayu5bmOWNpFlVZbUcAOo D4YgMd2Mng5r
j9G8S614c8EeHLdo7TUHvdHtmsVhgMTRHfawKr7pcSn/AElT1iHyEZG7K+mX VhZ33kfbLSC4
8iVZ4fOjD+XIv3XXPRhk4I5FRnSdNa3S3bT7QwJbtapGYV2rCwAaMDGAhCqC vQ7R6UAY+jXu
uazoOp2955ematE72yTqkTmNjGrJI0SyyBSN4+QuchQ3AYAcuW1Sw13TNHtJ ZNO1R72OSUz6
ndapbvC9tebQRK0bZ3QuSowMiNstjA9Ah0nTbbSzpcGn2kWnlGQ2iQqsRVs7 hsAxg5ORjnJq
vH4a0GHS5tLi0TTU0+Z98totqgiduOWTGCflXkjsPSgDD0/xJrFxeWRuY7Fb W71u702NY1cv
5cIujvJJwGJgQYwRwxz84VM/Stc8Qaj4k1y5tvInjs7R1XTcMvnvHdX0UYRy +2Jm8mPcxVs8
fdAFdpPpOm3VhLYXGn2k1nK5eS3khVo3YvvJKkYJLfNn1561XHhrQRb29uNE 03yLdJUgj+yp
tiWQESBRjADAkMB1zzmgCv4X1S51Oyuft08cl5bXBgnjWxe1MD7EbYytI4Yg MDvVipBGCRyd
yq9jYWemWcdnYWkFpax52QwRiNFySThRwMkk/jVigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigCtqP/IMu/8Ari//AKCa5dP+RTuf+uE3/s1dRqP/ACDL v/ri/wD6Ca5d
P+RTuf8ArhN/7NVraPqT1foN+Gv/ACBL/wD6/wBv/RcddnXGfDX/AJAl/wD9 f7f+i467OtcX
/GkEPhQUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAZet/6iH/AK6x/wDoa1Q0r/kZ73/rkP5JV/W/9RD/ANdY /wD0NaoaV/yM
97/1yH8kop/E/QUtkdHRRRQM5fUtLMnjKC/u9E/ta18qBLV8Qv8A2fKskheX EjAruDRcx7mP
lcjhc8mngzULizsbSTQo4zElrFrEkhhK6vKt1bO85wxMoCxXDZlCufNwASzA eqUUAcHYeDhD
43E0uj2g0Wye4fTkKRmO2ZksSpjT+A+ZHcHIA53H+IE8nFpi6T/YOjarpUFz 4hMukSWkolt5
JrOCL7MsqAF/NChobhj5asmGZifv49oooA8rl8Ma5e2fh3SJdHu4o9IsoLKe 6W6iRZtt1Ysz
xMknmAbLeVgSEbgcBjitDXPDeov4q0+5sNLkjSzuLOOznsYrOOKGzR0MqSO+ J1OPOG2I7ChU
YOXB9EooA8rtvBmoWmk6PZWuhR2wsLJrfUFjMKrqDCayaQjDfOJo4Jl/ebc9 H2g1oad4KivP
EEM+peG7SPQ1S7a2066jhkWyLizVVEalkUs0Vw/yEj5ySQzEV6JRQBl+Gob6 28K6RBqhkOoR
2UKXRkk3sZQgD5bJ3HdnnJzWpRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/1xf8A9BNcun/Ip3P/AFwm/wDZ q6jUf+QZd/8A
XF//AEE1y6f8inc/9cJv/ZqtbR9Ser9Bvw1/5Al//wBf7f8AouOuzrjPhr/y BL//AK/2/wDR
cddnWuL/AI0gh8KCiiiucoKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigDL1v/UQ/9dY//Q1qhpX/ACM97/1yH8kq/rf+ oh/66x/+hrVD
Sv8AkZ73/rkP5JRT+J+gpbI6OiiigZn6nDFcTadFNGkkbXJyjqCD+6k7Gn/2 Ppn/AEDrP/vw
v+FF9/x96b/18n/0VJV2qu0kTZXKX9j6Z/0DrP8A78L/AIUf2Ppn/QOs/wDv wv8AhV2ildjs
jHu4dCsbi0gnsbNZLqTy4x5C8nH0+g+pFW/7H0z/AKB1n/34X/CuU1rRb5NT iBle/wDtr+XH
LLwYD1wccYwC3ygfdrrdNtJrGySCe8lu5F6yygZP+fck+9RGcm2mZwbcmmjN 83wp/bH9keZo
v9p/8+W6Lzvu7vufe+7z06c1cn07RrW3luLizsIYIkLySSRIqooGSSSMAAc5 rkNRWe4k8ZaJ
DZX39oaldq+nz/Y5RCjfZLdUm8/bsXy5ELZDbgY/lBbaDj+KIfEWp6rqdnZx XyyX8V7ZyWP2
e6aHyvsswifz3c2w3usLfIqsC+0tkPuu7NLI9L/sfTP+gdZ/9+F/wqnqS+Gt Gt1uNUGk2MDO
EWS6EcSlsE4BbAzgE49jXEeKrjUI9Hgbw9/bkC21pLNYSSW2o3M1xcbm/dyL vBXaVTBuFdGE
mANqsD1nigWkVxZXb3Ws2d4iSxxXOl2D3TCNihdGAilUAlYzkgH5eDjcCXYW Rpwado11bxXF
vZ2E0EqB45I4kZXUjIIIGCCOc1J/Y+mf9A6z/wC/C/4VxEUniGa/gl1GHUoN ee4smiitjMbJ
LcpB9qVtpMGQftYHmEv93aT+7rPluPEN3Z+HdMhk8QW99aWUFvqc628wxP8A arFXbzHUxykK
Lg7hvUrvJypOS7CyPR/7H0z/AKB1n/34X/Cj+x9M/wCgdZ/9+F/wrkL6HULa 81mC1OsnVo7d
00AiS4e3KC1UL5jEmFn87zeZyWJ2542VjxxatDo1yRq+sy2f2iEiI6XqUbTE LIXjDmSS6jB/
dEyAeWu0ABy0ikuwsj0f+x9M/wCgdZ/9+F/wo/sfTP8AoHWf/fhf8KXSRMNG sRcW0ltP9nj8
yCS4M7RNtGVMhJLkHjd3xnvVyi7CyKX9j6Z/0DrP/vwv+FH9j6Z/0DrP/vwv +FXaKLsLIz9M
hit5tRihjSONbkYRFAA/dR9hWhVKx/4+9S/6+R/6Kjq7Q9wQUUUUhhRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGX f/XF/wD0E1y6
f8inc/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/ AG/9Fx12da4v
+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooA
KKKKACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8A rrH/AOhrVDSv
+Rnvf+uQ/klFP4n6Clsjo6KKKBlK+/4+9N/6+T/6Kkq1LLHBG0ksixxryzOc AfjXIeLvEbWe
oW9jZFRcw/vpJThhHuVlAA/vYbdzx04OeMQ+IdSuUCTanIyhlfHlRjlSCP4f UCuuGEqTipbG
Mq0Yto9Cj1XTppFjiv7V3Y4VVmUkn2Gat15odXvG8zfqVw/mSrMQwUgMu3G0 EfKPlBwMDOTj
JOZz4l1L/oJy/wDfmP8A+JqvqU+jX4/5ErERO+mu4LeWCOaVUed9kYP8TYJx +Q/zmpq8svr1
9SuIZ7q+neWDmJgFXYcg5GAMHIHPtV7/AISbUv8AoKS/9+Y//iaPqNTuvx/y D6xE9ForyJor
GTWJNXlhtptSklSY3U1lDJIrqqqpVmQlcBFxjHIz1JNbH/CTal/0FJf+/Mf/ AMTS+o1O6/H/
ACH9Yiei0V51/wAJNqX/AEFJf+/Mf/xNZ+rXK69FBFq0q3sMEvnRxT28Tpv2 suSpXDcO3UH1
6gGj6jU7r8f8g+sRPVaK8ysdYudNs47S01CWK3jyI4xGhCAknauV4UZwFHCg AAAACrH/AAk2
pf8AQUl/78x//E0fUandfj/kH1iJ6LRXnX/CTal/0FJf+/Mf/wATR/wk2pf9 BSX/AL8x/wDx
NH1Gp3X4/wCQfWInotFedf8ACTal/wBBSX/vzH/8TR/wk2pf9BSX/vzH/wDE 0fUandfj/kH1
iJ6LRXnX/CTal/0FJf8AvzH/APE0f8JNqX/QUl/78x//ABNH1Gp3X4/5B9Yi dxY/8fepf9fI
/wDRUdXa83TxBfRvK6alKGlbe58qPk4A/u+gFP8A+Em1L/oKS/8AfmP/AOJp vBVO6/H/ACEs
RE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AIml9Rqd1+P+Q/rE T0WivOv+Em1L
/oKS/wDfmP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6 Ckv/AH5j/wDi
aP8AhJtS/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj /hJtS/6Ckv8A
35j/APiaPqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+Y//iaP+Em1L/oKS/8A fmP/AOJo+o1O
6/H/ACD6xE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AImj6jU7 r8f8g+sRPRaK
86/4SbUv+gpL/wB+Y/8A4mj/AISbUv8AoKS/9+Y//iaPqNTuvx/yD6xE9For zr/hJtS/6Ckv
/fmP/wCJo/4SbUv+gpL/AN+Y/wD4mj6jU7r8f8g+sRPRaK86/wCEm1L/AKCk v/fmP/4mj/hJ
tS/6Ckv/AH5j/wDiaPqNTuvx/wAg+sRPRaK86/4SbUv+gpL/AN+Y/wD4mj/h JtS/6Ckv/fmP
/wCJo+o1O6/H/IPrET0WivOv+Em1L/oKS/8AfmP/AOJo/wCEm1L/AKCkv/fm P/4mj6jU7r8f
8g+sRPRaK86/4SbUv+gpL/35j/8AiaP+Em1L/oKS/wDfmP8A+Jo+o1O6/H/I PrET0WivOv8A
hJtS/wCgpL/35j/+Jo/4SbUv+gpL/wB+Y/8A4mj6jU7r8f8AIPrET0WivOv+ Em1L/oKS/wDf
mP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6Ckv/AH5j /wDiaP8AhJtS
/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj/hJtS/6C kv8A35j/APia
PqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+o//iaa3ijUh/zFJf8AvzH/APE0 /qNTuvx/yD6x
E9HorzU+KtS/6Ckv/fmL/wCJph8Xaojqy6kzbSDteGPDexwoOPoQaPqFTuvx /wAg9vHsem0V
ieGPEC6/pzSMqx3ULbJkU8ZxwwGchT2z3BHOMnbrknBwk4y3RsndXCiiipGF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAVtR/5
Bl3/ANcX/wDQTXLp/wAinc/9cJv/AGauo1H/AJBl3/1xf/0E1y6f8inc/wDX Cb/2arW0fUnq
/Qb8Nf8AkCX/AP1/t/6Ljrs64z4a/wDIEv8A/r/b/wBFx12da4v+NIIfCgoo ornKCiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAy9b/1
EP8A11j/APQ1qhpX/Iz3v/XIfySr+t/6iH/rrH/6GtUNK/5Ge9/65D+SUU/i foKWyOjooooG
eM+P73+z/EWsXRGdnl44yNxjQDPtkivO1vWuZPNnAnc95Bn3wPQe1dz8VVzd 66f9u3/lFXJ+
E9ITV9Tjt5mZYVXzJNg+YqMDA/EivtMucKeF9rLol+SPEx0JVKipx3Y1LuJR xaW3/fsU5tQj
H/Lpbf8AfoV0GvaFb21w6afply0YHDKsjZrkJ4ZoXKzQSwt/dlQqceuDXXhs XRxDtFa+Zw18
FVoK8ndeRcOpRf8APnbf9+hR/aUX/Pnbf9+hWjr3haPQ7t9Ne7uJNVUwhLf7 E+y58wc+S4J3
bW4yyrk5xyMVW1LwlrOm67No/wBjmurqJBJ/osTuGQgfMvygkAnBOMZBFaQx FCaTT317afP1
M5YapHdFf+0ov+fO2/79Cj+0ov8Anztv+/Qqv/ZWo/8APhdf6/7L/qW/13/P Pp9//Z61dm8L
6pb+Hm1qa2eO3S6Nq6NG4dWHViMYC7htyT97jrWjqUo2u1roSqUnsmRf2lF/ z523/foUf2lF
/wA+dt/36FVLzT7zTphDfWc9rKy7gk8RRiOmcEdOD+VP/srUf7P/ALQ+wXX2 L/n58lvL67fv
Yx14+tVeFk+5Ps3sWP7Si/587b/v0KP7Si/587b/AL9Cq8+laja2cV5cWF1D ay48uaSFlR8j
IwxGDkc099F1WNY2fTLxVkm8hC0DANJkjYOOWyCMdcg0c1Puh+zfmS/2lF/z 523/AH6FH9pR
f8+dt/36FbGp+DDpV3qFrPJqLSWFkbmWWLTXeF3KgqiMrE7T843sqgFD74wp NF1WGxF9Lpl4
loVVhcNAwjwcYO7GMHIx9ayp4ijVV4v9PzLnh6kPiRL/AGlF/wA+dt/36FH9 pRf8+dt/36FV
7LStR1PzPsFhdXfl43+RC0m3OcZwOM4P5VZ0LQrzXtShtraCdommjjmnihMi wBjjc2Og6nkj
oa0lOnFNye25CpSbSXUT+0ov+fO2/wC/Qo/tKL/nztv+/QrTbwdO8621s11J cyatJp0O6xkE
TKhYGYyjKgZRsryQAT2NZ8vhnWU1O90+LTbq5ns5DHL5EDsBycHpnDAZBI5H NZwxFCezRcsN
UjumM/tKL/nztv8Av0KP7Si/587b/v0KrwaVqN1Zy3lvYXU1rFnzJo4WZEwM nLAYGBzVStly
vRGbg0af9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFPlQuU0/7Ti/587b/v0KP7 Ti/587b/AL9C
szFGKOVBymn/AGnF/wA+dt/36FH9pxf8+dt/36FZmKMUcqDlNP8AtOL/AJ87 b/v0KP7Ti/58
7b/v0KzMUYo5UHKaf9pxf8+dt/36FH9pxf8APnbf9+hWZijFHKg5TT/tOL/n ztv+/Qo/tOL/
AJ87b/v0KzMUYo5UHKaf9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFHKg5TT/tO L/nztv8Av0KP
7Ti/587b/v0KzMUYo5UHKaX9pRf8+lr/AN+hR/aUX/Ppa/8AfoVmY9qMe1HK h8pp/wBpRf8A
Ppa/9+hR/aUX/Ppa/wDfoVmY9qMe1HKg5TT/ALSi/wCfS1/79Cj+0ov+fS1/ 79CszHtRj2o5
UHKaf9pRf8+lr/36FH9pRf8APpa/9+hWZj2ox7UcqDlNP+0ov+fS1/79Cj+0 ov8An0tf+/Qr
Mx7UY9qOVBymn/aUX/Ppa/8AfoUf2lF/z6Wv/foVmY9qMe1HKg5TT/tKL/n0 tf8Av0KP7Si/
59LX/v0KzMe1GPajlQcpp/2lF/z6Wv8A36FH9pxf8+lt/wB+hWZj2oI9qOVB ymtDdm7uI7e2
0+GSaRgqIkIJY1rP4e1kHnTtJHsbu2H/ALPVDwWxXxRE3TFtdH/yXkr0q2to 9agmignC6mvz
RQvgLKoHIB/vf59SPm85zitga8aVKKd1fW/d+a7H0GU5PRxdKVWrJpJ20PP3 0DVhybDRx/2+
2v8A8crA1C8vdEvjHLbrb3CYYqhGyQdj8pwwIPBGfavStU01dM0VZdSmaPUr ghoLRVGVj7tJ
6Z7D/wCvt858aD9xomB/y4t/6Uz1hlGeV8diHh60Ela+l/8ANnZmGSUMHRWI ozb962v6HsHw
nnW6TU7hM7JY7d13dcEORXpFeX/BkY0q497S0P8A469eoV5WO/3iXy/IuHwo KKKK5CgooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACii
igCtqP8AyDLv/ri//oJrl0/5FO5/64Tf+zV1Go/8gy7/AOuL/wDoJrl0/wCR Tuf+uE3/ALNV
raPqT1foN+Gv/IEv/wDr/b/0XHXZ1xnw1/5Al/8A9f7f+i467OtcX/GkEPhQ UUUVzlBRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAZet
/wCoh/66x/8Aoa1Q0r/kZ73/AK5D+SVf1v8A1EP/AF1j/wDQ1qhpX/Iz3v8A 1yH8kop/E/QU
tkdHRRRQM8R+KJH2vXQe72/8oq5Hw7fjTLvzXTdHJGY3+UHg45weDyBXV/FP /j+1v/rpb/yi
rm9M8JeJNRsY7uy0zzbd8hX8+Nc4JB4LZ6g19rgZUVgUq7ST01duiPExiq+3 UqSu1qV9ZvdS
acrZfYbiM8hzZxDH1DJ/jVNYZjEPP8kyfxGGFYx+SgD8a6QeCvFoH/IG/wDJ mL/4qj/hCvFn
/QGP/gTF/wDFVeHnl9B80aqv5tHNiHja6tKFl5Jk+razp7+Dzoz3h1a5hkh/ s2RrSSOW1Q4M
qyMfl2hRtAVn5x2A2z6jr2lTeI/GOqJcMU1XRXhgUQSbxK0UaCNvlxnKHkEq M9az/wDhCPFv
/QHP/gTF/wDFUf8ACEeLf+gOf/AmL/4qoawDvesuvWPW1/xV/v7lxli42tT7 d+n/AA5b0TV7
CLSbCHUL5oZ7bxCmqyySxyymZdhDYKKxLbufmwOetMuNdsZ9NuBDdSQTJ4qf VoHNszF42LhW
VSMbhkNh9ox3zxVf/hCPFv8A0Bz/AOBMX/xVH/CEeLf+gOf/AAJi/wDiqGsv dRz9svS6t0/y
BSxigo+zfrr5/wCZH4svtP1G9txYXE1w6m4kuHTzo7UPJMWBjjlJKswOXx8u cYqbXNQsL2C0
uodVuraaHQ4dOa1t4ZfNmdXYMhcYQRnIJJfoOVzxTf8AhCPFv/QHP/gTF/8A FUf8IR4t/wCg
Of8AwJi/+Kq1LAqEYqsvdv1j1Jf1pylL2b19TQ8S+IdLu08UyWc7yz67LYGK JIJFaFYgpfzG
ZQn8JHys2SfrS+IvEWmXzeNza3EjnU59PW0PkyDzFi2eZ1XgDDdcA9s5rO/4 Qjxb/wBAc/8A
gTF/8VR/whHi3/oDn/wJi/8AiqxhTy+NrVlp/eXTl/8AkV+Jo6mMe9P8H5/5 mhqOv6VN4p8c
6jHM7QajpUlpauIHzLIYYlCgbc43KwyRj3rR8WJJeXXiyz0827XUq291qrzC aJvLtgmTGjRB
VGcHmV8rkjOeOe/4Qjxb/wBAc/8AgTF/8VU1z4U8dXlp9kuba+ltMKPsz6mD FhcbRs8zbgYH
GO1ZTpYNShKnWjpZayXS1tvTyNIVcQ1JVKb17LuS6FrGn2fhu2sriS0hubbW Uv0kvLeeZFAj
27kWEgl1I6MQvPr0fpuv6fc2Vu+o3Zt5Y/Ew1lzLayfPGQ3CpH5hVgccE4HH zE1R/wCEI8W/
9Ac/+BMX/wAVR/whHi3/AKA5/wDAmL/4quipHL5ylL2y1/vIxhPFxjGPs9vJ l4+I9NSKJ1ea
Rh4wl1UIsLAm3+fDfMAATkYBIPNTx6xonnOkmoIiQ+LDrPmm1nKyxEMcKBGW 3jIHIA9GNZX/
AAhHi3/oDn/wJi/+Ko/4Qjxb/wBAc/8AgTF/8VUeyy+1vbL715f5Fe1xl7+z /B+f+Yaprtvq
Phe5gie5iur3xBc3whZWV1tpIpF+Zh8oyHClc9yOlc55HtXR/wDCEeLf+gOf /AmL/wCKo/4Q
jxb/ANAc/wDgTF/8VXXh8RgaCajVjr5o561PFVWm4P7mc35Bo8g10f8Awg/i 3/oDn/wJi/8A
iqP+EH8W/wDQGP8A4Exf/FV0/wBoYP8A5+x+9GH1XE/yP7jnPINHkGuj/wCE H8W/9AY/+BMX
/wAVR/wg/i3/AKAx/wDAmL/4qj+0MH/z9j96D6rif5H9xznkGjyDXR/8IP4t /wCgMf8AwJi/
+Ko/4Qfxb/0Bj/4Exf8AxVH9oYP/AJ+x+9B9VxP8j+45zyDR5Bro/wDhB/Fv /QGP/gTF/wDF
Uf8ACD+Lf+gMf/AmL/4qj+0MH/z9j96D6rif5H9xznkGjyDXR/8ACD+Lf+gM f/AmL/4qj/hB
/Fv/AEBj/wCBMX/xVH9oYP8A5+x+9B9VxP8AI/uOc8g0eQa6P/hB/Fv/AEBj /wCBMX/xVH/C
D+Lf+gMf/AmL/wCKo/tDB/8AP2P3oPquJ/kf3HOeQaPINdH/AMIP4t/6Ax/8 CYv/AIqj/hB/
Fv8A0Bj/AOBMX/xVH9oYP/n7H70H1XE/yP7jnPINHkGuj/4Qfxb/ANAY/wDg TF/8VR/wg/i3
/oDH/wACYv8A4qj+0MH/AM/Y/eh/VcT/ACP7jm/JPpR5J9K6T/hB/Fv/AEBv /JmL/wCKo/4Q
fxb/ANAb/wAmYv8A4qj+0MH/AM/Y/eg+q4n+R/cc35J9KPJPpXSf8IP4t/6A 3/kzF/8AFUf8
IP4t/wCgN/5Mxf8AxVH9oYP/AJ+x+9B9VxP8j+45vyT6UeSfSuk/4Qfxb/0B v/JmL/4qj/hB
/Fv/AEBv/JmL/wCKo/tDB/8AP2P3oPquJ/kf3HN+SfSjyT6V0n/CD+Lf+gN/ 5Mxf/FUf8IP4
t/6A3/kzF/8AFUf2hg/+fsfvQfVcT/I/uOb8k+lHkn0rpP8AhB/Fv/QG/wDJ mL/4qj/hB/Fv
/QG/8mYv/iqP7Qwf/P2P3oPquJ/kf3HN+SfSjyT6V0n/AAg/i3/oDf8AkzF/ 8VR/wg/i3/oD
f+TMX/xVH9oYP/n7H70H1XE/yP7jm/JPpR5J9K6T/hB/Fv8A0Bv/ACZi/wDi qP8AhB/Fv/QG
/wDJmL/4qj+0MH/z9j96D6rif5H9xzfkn0o8k+ldJ/wg/i3/AKA3/kzF/wDF Uf8ACD+Lf+gN
/wCTMX/xVH9oYP8A5+x+9B9VxP8AI/uKXhZPL10v6Wd2f/JeSu10TVdM0+1e /mH2jUUYC2gZ
fkU4/wBYT3x6f/rHN2ng/wAZ2V0lxDpADpn71xCQQRggjdyCCQR71of8I94l /wChI03/AMD5
P/kivks/wyxuJjWw9WGitrJd3/mfU5HjI4TDzo4iEtXfRdLbF7XNW07WtK+1 3J8nWodqFkT5
bpemTj7rAf5/u8F4rXzbDRH/AOnF/wD0qnrrW8OeJGHPgfTT/wBv8v8A8kVz Xi3RvEVnaJe6
vpsdnaKBbwpFKjLGOWCgBif7xyepJJOTWXD+Xyw2N9tVqwd01pK7bOnOMypY jCKjQhJWlfVa
Jdkem/Bwj+zbgf8ATpZ/+gvXp1eYfBv/AJB9z/152f8A6C9en1z4/wD3iXy/ I56fwoKKKK4y
wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigCtqP/IMu/wDri/8A6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+ gmuXT/kU7n/r
hN/7NVraPqT1foN+Gv8AyBL/AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467O tcX/ABpBD4UF
FFFc5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFAGXrf+oh/66x/+hrVDSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAj Pe/9ch/JKKfx
P0FLZHR0UUUDPDvip/x+63/10t/5RV23gH/kS7D/AHpf/Rr1xPxU/wCP7W/+ ulv/ACirtvAP
/Il2H+9L/wCjXr28d/yK6f8AiX/pJx0/96fo/wA0dJRRVW71KzsMC5uI42YZ Ck5Y/QDk1843
bc9CMJTdoq7LVFZQ8R6TuCteCPPeRGQfmQBWmjpIivGyujDIZTkEUk09i6lG pT+OLXqh1FFF
MzCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK89+Mn/ ACJcP/X4v/oD
16FXnvxk/wCRLi/6+1/9FyV6GVf75T9TDE/wpFr4N/8AIPuf+vOz/wDQXr0+ vMPg3/yD7n/r
zs//AEF69PrTH/7xL5fkOn8KCiiiuMsKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAraj/yDLv/AK4v/wCgmuXT /kU7n/rhN/7N
XUaj/wAgy7/64v8A+gmuXT/kU7n/AK4Tf+zVa2j6k9X6Dfhr/wAgS/8A+v8A b/0XHXZ1xnw1
/wCQJf8A/X+3/ouOuzrXF/xpBD4UFFFFc5QUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf+oh/wCusf8A6GtUNK/5 Ge9/65D+SVf1
v/UQ/wDXWP8A9DWqGlf8jPe/9ch/JKKfxP0FLZHR0UUUDPDvip/x+65/v2/8 oq7bwD/yJdh/
vS/+jXrifip/x+65/v2/8oq7bwD/AMiXYf70v/o169vHf8iun/iX/pJx0/8A eX6P80T+KteG
haapjK/ap22Qg9vVvw/mRXEfbLux0uTWnsp7iMth7pxnLfzx79Kr/Fe+kh8R WMOTsW13r9Sz
A/8AoIpPhz4wuxqq+HbqBr3T7wlQmNxiz1PP8PqK+SclKryv5ep91hcO6GXL EUkm95X0vHsm
UoPFFzrd4lnHaNLNKdqIgySas2Hia98IauYLmKVLbfi4tXH3f9pff6dfyx3u pabpHw20W/1v
SdJee5Y4GTuEefU9Qg9v/r14NqutXmrXst9fTtNcytuZj+gA7AelTUi6Vru8 jsw1WGYKolBK
ja3nfv5WPpmGaO4gjnhcPFIoZGHQg9DTLy0jv7R7aZpljfGTBO8L8HPDoQw6 dj7VynwuvJLz
wJaGQ58mSSFT/sqxArp9Q0vT9Wt1t9SsLW9hVt6x3MKyKGwRkBgRnBPPvXYj 4qceWTj2OF0f
xZqsekeHXije+tBBp9rqE0kYLLPOsQyZWlDE4mjbiJwc43AkldaPxTqBtpRN bpDcWkH2e6Pk
MytfvIIokiBcZRiC2HZTslgYlQxI6G50TSb2/hv7vTLKe8g2+VcS26NJHtOR tYjIwSSMd6ne
ytJI7mN7WFo7rP2hWjBE2VCneP4vlAXnsAKd0QYWieI7h9H1a616D7HJpMrL ct5YHyCJJt2x
Hkx8r4wHbOM8Z2jFh8U+JzqkGjXFhawX808SiW5iEaiKSK5bcEjmlyVNtn74 3Z24T79dnp+l
6fpNu1vptha2ULNvaO2hWNS2AMkKAM4A59qgsfDuiaY++w0fT7R9wfdBbJGd wDKDwOuHcZ9G
I7mi6A4HWdV1m08JX9w1/uWW/wBWitmQyxzQCOO+YZcSYfBjTaNoCgDgkKw1 tV1W/wDCGlLa
6ZZ2Vx/Zlq97fQWNgsEKxFnZdoaceXu2S5KiU5BO0cBusl0TSZ5p5ptMspJb jHnO9uhaTCNG
NxI5+RmXnsxHQmjUtE0nWPK/tTTLK+8rPl/ardJdmcZxuBxnA/IUXA5fVNT1 u+0ea9tb21tI
f7Wis4I1gcyIyX6QFncSAOjBWJQKvDbd3BJ3dVvtQs4dKs4ZbX7ffT/ZjcPC xiRhDJKzeWHB
IPlEAb+NwOTjBtvomkyXdzdvplk1zdRGG4ma3QvNGQAUdsZZcADB44FR6lod nqWhNo5RILQq
iKkcETqiqQQAkiMmBtAwVOO2Dg0AcYfGniTE6Q6fa3L6cs0l5KiJFE6pcXEQ 5knXyRi3JLfv
cbicDbhrd14v1bS7CfV7tLK5szdahbxWsUTxSL9mFwwLSF2DZFsQQEHL57YP Q2PhTRLGxsLU
adazCwZpLZ5oEZonZt7OnACEtzhQAOMAAADSWytE8vbawjy5WmjxGPkkbduc ejHe+T1O4+po
ugOMi8R+KRe2umXFjZQXlxdJGslwqpiNobh93lRzyn5TBkEsA+WUbcF6qeK/ FmqwWurLaRv/
AGZNBe2tteRxiJop4beVmIfzS7EPC6/6pB3DHA3dvZ6JpOnRpHY6ZZWsccpm RYLdECyFdpcA
DhtpK564OKP7E0n+1f7V/syy/tL/AJ+/s6ed93b9/Gfu8denFF0BzU+r6zae JU0cz2T311Fb
ILryJRChYXkhPk+af4bcLwwJLZJIUKKjeLtbaLVrpP7PWHRbN57mJrdy100c 1zGwRvMAiDC2
yMh9u/8Aixz1g8O6Iti9iuj6eLR1VGgFsnlsqsXUFcYIDMzAdixPU1ONL09b d7dbC1ELwLbN
GIV2tCoIWMjGCgDNheg3H1ougMLXLaW+8a+H7dWtTDFBc3bR3VuZlLJJbhWQ bgFkAdtr87dz
cHNY0njDUpru3je13affy29xp9zs8jfCbu3j/gmZmys6n5hH0wUYMVHemCJr hLhokMyKyLIV
G5VYgsAeoBKrkd9o9Kox+HdEivJbyPR9PS6mbfJMtsgd23h8lsZJ3qrZ9QD1 FFwOF8J+JdZX
StEtrbTkbS7SDT7OeVzGoLSQQtu8xplKkecuEET7iAA2W+XW0S+1DVfE2gar eS2vk32iXNzb
wQwsrQK72rbXcuRIQCBkKnQnHOB1CaJpMd3bXaaZZLc2sQht5lt0DwxgEBEb GVXBIwOOTRba
JpNlfzX9ppllBeT7vNuIrdFkk3HJ3MBk5IBOe9FwL1FFFIYUUUUAFFFFABRR RQAUUUUAFFFF
ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFee/GT/kS4v+vtf/ AEXJXoVee/GT
/kS4v+vtf/RclehlX++U/UwxP8KRa+Df/IPuf+vOz/8AQXr0+vMPg3/yD7n/ AK87P/0F69Pr
TH/7xL5fkOn8KCiiiuMsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAraj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1 dRqP/IMu/wDr
i/8A6Ca5dP8AkU7n/rhN/wCzVa2j6k9X6Dfhr/yBL/8A6/2/9Fx12dcZ8Nf+ QJf/APX+3/ou
OuzrXF/xpBD4UFFFFc5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFAGXrf8AqIf+usf/AKGtUNK/5Ge9/wCuQ/klX9b/ ANRD/wBdY/8A
0NaoaV/yM97/ANch/JKKfxP0FLZHR0UUUDPDvir/AMfuuf79v/KKu28A/wDI l2H+9L/6NeuJ
+Kn/AB+65/v2/wDKKu28A/8AIl2H+9L/AOjXr28d/wAiun/iX/pJx0/96fo/ zRy/xg0Oa60y
11i3QsbQlJgBzsbGD9Af/Qqw/B3i/wANeEvCU+owwtP4ikYxCKX6cMD2T9e3 vXs0kaSxtHIi
vG4KsrDIYHqCK8g8VfB2ZrmS68OSpsc5+yTNjb/ut6ex/OvmHFqXNHc+mwuM pTorDYhvlTv6
+TI/CHxWuk1KWz8UTfa9OvXO+SQZ8gt14/ue3btXA+LrnRh4hvP+EfEx0/fi EP8AxH/ZHXaT
0zzj8q1T8LPGpbaNLjA/vNdR4/Q5ru/BPwjTSbyLVNeljubuM7ordBmOM+p9 TUqEpJKZ1Vsb
hqE5VcN8TVrLb1Os+H2jS6F4K0+zuBicoZZR6Mxyf5109Fc94s1uXRYdMMd9 p9gl3eeRJdag
haKJfJlfON6ckoq/e71sfPN31Z0NFchL48s9N0awudTCG4u2mWIRyxQpOkT7 fORppFXY4KOo
3scSDG4AtVubxxo0N/pVsZcx6pFDLbTebEu4SnEf7ouJTk4GQhAzyRhsOzEd JRXN2vjK1vrC
K9s9PvbiC6l8qwaNoT9tOHY7P3ny4WNyRJsIxjG75ajbxxZgzMum6g8NrB59 9Moi22aiSWNw
4Mm5irQS58sPnb8u7IyWA6iioLe58+a6j8iaP7PKI90iYWTKK25D3X5tufVW Hap6QwooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACvPfjJ/yJcX/AF9r/wCi5K9Crz34yf8A Ilxf9fa/+i5K
9DKv98p+phif4Ui18G/+Qfc/9edn/wCgvXp9eYfBv/kH3P8A152f/oL16fWm P/3iXy/IdP4U
FFFFcZYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAU
UUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGXf/XF /wD0E1y6f8in
c/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/AG/9 Fx12da4v+NII
fCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKK
ACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8ArrH/ AOhrVDSv+Rnv
f+uQ/klFP4n6Clsjo6KKKBnh3xU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXE /FT/AI/dc/37
f+UVdt4B/wCRLsP96X/0a9e3jv8AkV0/8S/9JOOn/vT9H+aOkooor5w7wooo oAKqXenxXtzY
XEjOHspzPGFIwWMbx4PHTEjenIFW6KAMJ/C8KeSbHUL2we33pbtB5beRE+wt CokRgE3RqQCC
VxtUqvy1HP4RtpLhWi1HUIbfz7e5mtlkSRZ5YTHsZ3kVpM4ijBwwztz1JJ4L wpPY6f4OsJtF
1HwwNcli06HNlZJ9oiSSaFJRPiQtJ94Bvuc+hIx1E+oazajXnbVne3sLy2sl ZoIw0Ubx2xmu
HYLtyqySOPlCr8xYMuAtWEaSeDbVZprw6hetqskqS/2lthWZSiOi/KsYjb5J JFyyE4br8q7X
r4O09bHU7XzrojUrM2ly5ZdzbmmdpB8uA7NcSE8bRxhQBisbSdX1TUfEtrYW 2t/adKX7TIt6
Iona9jjFoRh1ATh5ZYyVXGFIxvG8X/BWr3Oq/bvtWofb5Y/LLzWssMtiGbcS sDoofjjKyZZc
ryQdzLUDpLe28ia6k8+aT7RKJNsj5WPCKu1B2X5d2PVmPep683g8Uao1lDIm refLNaxyaquy
I/2NI00CuuAv7vaklw2JtxHkZOQr51bfWIpNYsrZvF2bExRPaXO+2/4mcrSy LJFu2bW27I1x
EFYb+SSQQWA7OivM5PGOpT2mgWllrFr/AGs9nCNSjKJI0Nw1zZxMJYxgof3s wK/L36EAjSvd
R1+ztvEcsOp+cun3VvZw+dHGmxXjtjLPJIEIG0SO+dm1fmLKygKpYDuqjgni ubeO4t5UlhlU
PHJGwZXUjIII4II7159aeIL57e1TVPE9rZ6e7T7dYtponWRlEOyMzSQrC5O+ f7iD/VYzlJM2
7G/ksPh14P8A9O/s61mtbaO6v/kH2aP7MWDbpAUXLrGmWBHz4HJBBYDtoZ4r hC8MqSIGZCyM
CAykqw47gggjsQRUleUWHik6J4X15zrkIj+y3k+lXM7RD7VcfarzcyHAWRji AlVGPmXAG7m3
rms6zbeH5NWa/R5k1HVI7UG1j/cLBDfbCCQSXyigtxlVAxy5csFz0yiuF1HV NR0jVW0m516Z
bH/R5Z9VuEgWS2SRbn+LYIgpeCJQWQ8ysM5K7ZItd1Jvh1NqVpfpe3AvJYEv pCir5AvGi84s
iFAFiG7fsKjbuKkZBLAdtRXA2Ov6wNIjmTU7XULnz5I4VtkN2s8G1C8xaOOL eYiT/qwFb/Vc
ysCGf2/q58VwWtvrNlJaCW2jt45Z08y/gZIy86xJAWk+9Jh0dIwUyQAjZLAe g0VwOneJZFtd
Kv7zxEjGSeP+2beUwLHpm63mPlthQ0Q84In7xi2VC5yTnCn1iS7i8Sau+sJi bSbtLKMrA0N+
sM1+AAGU+YETyyQp6MC2QeSwHrdFeb6z4o1S0ttUmttW/wCJlF/aCyabsiP2 OGKOcw3G3b5g
3GOA7nJQ+dwPmXHV6RLeW+vahpNzfzX8cFrb3KTXCRrIDI0ylf3aqu0eUpHG clsk8AFgN2ii
ikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAK89+M
n/Ilxf8AX2v/AKLkr0KvPfjJ/wAiXF/19r/6Lkr0Mq/3yn6nPif4Ui18G/8A kH3P/XnZ/wDo
L16fXmHwb/5B9z/152f/AKC9en1pj/8AeJfL8iqfwoKKKK4ywooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD PDvip/x+65/v
2/8AKKu28A/8iXYf70v/AKNeuJ+Kn/H7rn+/b/yirtvAP/Il2H+9L/6Nevbx 3/Irp/4l/wCk
nHT/AN5fo/zR0lFFFfOHeFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQBBeWkd/aP
bTNMsb4yYJ3hfg54dCGHTsfaizs7fT7RLa2j2RJnAJLEknJZieWYkkliSSSS SSanooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAoo
ooAKKKKACvPfjJ/yJcX/AF9r/wCi5K9Crz34yf8AIlxf9fa/+i5K9DKv98p+ phif4Ui18G/+
Qfc/9edn/wCgvXp9eYfBv/kH3P8A152f/oL16fWmP/3iXy/IdP4UFFFFcZYU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQBW1H/k
GXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGXf/XF/wD0E1y6f8inc/8AXCb/ ANmq1tH1J6v0
G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/AG/9Fx12da4v+NIIfCgooorn KCiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAy9b/ANRD
/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8ArrH/AOhrVDSv+Rnvf+uQ/klF P4n6Clsjo6KK
KBnh3xU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXE/FT/AI/dc/37f+UVdt4B /wCRLsP96X/0
a9e3jv8AkV0/8S/9JOOn/vL9H+aOkooor5w7wooooAKKKKACiiigAooooAKK KKACiiigAooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAK89+Mn/Ilxf9fa/wDouSvQq89+Mn/Ilxf9 fa/+i5K9DKv9
8p+pz4n+FItfBv8A5B9z/wBedn/6C9en15h8G/8AkH3P/XnZ/wDoL16fWmP/ AN4l8vyKp/Cg
ooorjLCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACi
iigAooooAKKKKAK2o/8AIMu/+uL/APoJrl0/5FO5/wCuE3/s1dRqP/IMu/8A ri//AKCa5dP+
RTuf+uE3/s1Wto+pPV+g34a/8gS//wCv9v8A0XHXZ1xnw1/5Al//ANf7f+i4 67OtcX/GkEPh
QUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAZet/6iH/rrH/6GtUNK/wCRnvf+uQ/klX9b/wBRD/11j/8AQ1qh pX/Iz3v/AFyH
8kop/E/QUtkdHRRRQM8O+Kn/AB+65/v2/wDKKu28A/8AIl2H+9L/AOjXrifi p/x+65/v2/8A
KKu28A/8iXYf70v/AKNevbx3/Irp/wCJf+knHT/3l+j/ADR0lFFFfOHeFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnvxk/5EuL/r7X /wBFyV6FXnvx
k/5EuL/r7X/0XJXoZV/vlP1OfE/wpFr4N/8AIPuf+vOz/wDQXr0+vMPg3/yD 7n/rzs//AEF6
9PrTH/7xL5fkVT+FBRRRXGWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAF
FFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/ANcX/wDQTXLp/wAinc/9 cJv/AGauo1H/
AJBl3/1xf/0E1y6f8inc/wDXCb/2arW0fUnq/Qb8Nf8AkCX/AP1/t/6Ljrs6 4z4a/wDIEv8A
/r/b/wBFx12da4v+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAy9b/1EP8A11j/APQ1qhpX/Iz3v/XI fySr+t/6iH/r
rH/6GtUNK/5Ge9/65D+SUU/ifoKWyOjooooGeHfFT/j91z/ft/5RV23gH/kS 7D/el/8ARr1x
PxU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXt47/kV0/8S/8ASTjp/wC8v0f5 o6SiiivnDvCi
iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAoooo
AKKKKAEJwCfSsmzu9d1O0ivbDTtPNnOoeFrm9eN3Q8hiqxMBkc9a1n+430qr 4RfHgvQuf+Yd
b/8Aota1ppWbaIk3dJEXl+KP+gdo3/gxl/8AjFHl+KP+gdo3/gxl/wDjFb2/ 3o3+9V7vb8/8
xWff8jB8vxR/0DtG/wDBjL/8YpPL8U/9A7Rv/BjL/wDGKv6zqv8AZOmm5EXn SNLFBFGW2hpJ
ZFjTccHC7nXJAJAyQCeDzOveL7/whbf8Tueymz5c/wBqt7aSNEgFxBFMGj3u 24LOGUhjnkFR
tG893t+f+YWff8jX8vxT/wBA7Rv/AAYy/wDxijy/FP8A0DtG/wDBjL/8YrT0 6e+mt2mv4kt3
kctHApy0SYGFdgSGfqTt4GdoLY3tc3+9Hu9vz/zCz7/kYHl+Kf8AoHaN/wCD GX/4xR5fikDJ
07Rz9NRl/wDjFb+/3pGf5TzR7vb8/wDMLPv+Rj6bejULFLjyzG2543Q9UdGK sPwZSPwrJbX7
65uni02ytrhUYofMllDDEnlkkJE4UbwwBJGQrHopIt+HOdKl/wCv+9/9KZaq +CZv3uqR7/u3
Ex27umbq55xu46ddozjq2MLLSUn62/ME20vT/IamreIH240a2+bGMyXQ67MZ zbcffXOemGz9
1sCat4gfbjRrb5sYzJdDrsxnNtx99c56YbP3Wx0mo6ta6VbrNdPIA77ESKJp ZJGwThUQFmOA
TgA4AJ6Amqn9v/ZtP+2arZz2HmS+XBbY+0XD8Z+5Duy3DnCF8Ku4kfMFLLt/ X3hr3MZNW8QP
txo1t82MZkuh12Yzm24++uc9MNn7rYF1bxA+3bo1qN2Mbnux12Yzm24++uc9 MNn7rY0dS13U
bPwfrGstp32O4tLWaeC3uZFkY7Iyw8wRkqMsDwrH5cHIJIFS88UzeGC8fiS4 tZg1u1xDcWkJ
gU7ZI4zGyySMFJaaPDlwvzNu2BdzOy7f194a9yFNW8Qvtxo9r82MZe7HXZjO bbj765z0w2fu
tgTVvEL7caPa/NjGXux12Yzm24++uc9MNn7rYbp3j+PWtY0230qzkuredLhb oRSQu1u8bW+G
LrKY2TbPk7C55AxkMBJJ8QdNfU7jS4n8u9guooSu+GfepuY4GO2OUlOZFH7z aw3ZCttZaOVd
v6+8evcamreIX240e1+bGMvdjrsxnNtx99c56YbP3WwJq3iF9uNHtfmxjL3Y 67MZzbcffXOe
mGz91sO8H+MG1ux0y1aKe7vVsLaXUbpDEqQyyQiQbk3B/myCCqFecZ+VtvW7 /elZdv6+8Ne5
haRqR1O2kd4vKmicJInOFJVXH3gD911PIBGcECuN+Mn/ACJcX/X2v/ouSt3w YMW2ojbtxcxD
bt24xa2/GNq4+m1foOlYXxk/5EuL/r7X/wBFyV2ZZ/vlO39aGWI/hSv/AFqW vg3/AMg+5/68
7P8A9BevT68w+Df/ACD7n/rzs/8A0F69Pq8f/vEvl+RVP4UFFFFcZYUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QBW1H/kGXf8A
1xf/ANBNcun/ACKdz/1wm/8AZq6jUf8AkGXf/XF//QTXLp/yKdz/ANcJv/Zq tbR9Ser9Bvw1
/wCQJf8A/X+3/ouOuzrjPhr/AMgS/wD+v9v/AEXHXZ1ri/40gh8KCiiiucoK KKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gDL1v/UQ/wDX
WP8A9DWqGlf8jPe/9ch/JKv63/qIf+usf/oa1Q0r/kZ73/rkP5JRT+J+gpbI 6OiiigZ4d8VP
+P3XP9+3/lFXbeAf+RLsP96X/wBGvXE/FT/j91z/AH7f+UVdt4B/5Euw/wB6 X/0a9e3jv+RX
T/xL/wBJOOn/ALy/R/mjpKKKK+cO8KKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooARvuN9KyfCd5APCOjx+Yu6Ky hjcf3WVACD7g
ites640DRbudp7nRtOnmY5aSW0jZj9SRmtISSTTIkne6NL7ZD/z0FH2yH/no Kyf+EX8Pf9C/
pP8A4Axf/E0f8Iv4e/6F/Sf/AABi/wDiafNHv+H/AARe92/r7i/eix1C0e1u sPE+MgMVIIOQ
ykYKsCAQwIIIBBBFZB0GynUNf6peX9yssMiXM/lh0WOVJQihEVQpeNd2F3Ng ZPyrtsf8Iv4e
/wChf0n/AMAYv/iaP+EY8Pf9C/pP/gDF/wDE0c0e/wCH/BD3u39fcW9Ois9L t2traZhbB8xQ
sQVgXA+ROMhAckA525wMKFUW/tkP/PQVk/8ACMeHv+hf0n/wBi/+Jo/4Rjw9 /wBC/pP/AIAx
f/E0c0O/4f8ABD3u34/8A1vtkP8Az0FI17AEJMgxisr/AIRjw9/0L+k/+AMX /wATR/wjHh7O
f7A0n/wBi/8AiaOaHf8AD/gh73b+vuGeGGD6KZFOUkvLuRD/AHla4kII9iCD WP4Z1O20y51J
LyR4991NtG1mH/HzKexIHDqeg45yQPl68AKioqqqqAqqowAB0AFUrvRdJv5v OvdKsLmXGN89
sjtj6kVE3zO6dtb9+/mu5UVyrvpb8v8AIq3et+HdUtGtL4R3VtLt3Q3Fozo3 KkZVlxwSp56Y
P904qRXfhs6ZJpl1PNqFjK4YQajHJcAD5CFJkUsw3EN85JBzyAuFvf8ACL+H v+hf0n/wBi/+
Jo/4Rfw9/wBC/pP/AIAxf/E0ry/m/D/7Yenb8f8AgGVc3WjS+GNS0aLUL2eK 8t5Io1unlLIJ
EC7fNdGYDLZy28rluy7RiWdxJeyhNcljnZ9uzUDdu89ttZJE8uMWkcfEgjY5 HO35twTaOw/4
Rfw9/wBC/pP/AIAxf/E0f8Ix4e/6F/Sf/AGL/wCJovL+b8P/ALYNO34/8Ayo ZtHW4s7s69qc
l9CzZupY8tLG5j3RMvl7FQ7Is7FUjYTkHeTQi07w4JrItrepyW9kkcdlbPCo S3jWaCVUBEQY
jMMS5dmOA2TkEjpP+EY8Pf8AQv6T/wCAMX/xNH/CMeHv+hf0n/wBi/8AiaLy /m/D/wC2DTt+
P/AMLTrfw5ZXWkTHVL25TSrdYLCK4t1Ag/dLEWDLEr5ZT8wZiuSTgbBt6IeK dIbGLl+cYzA4
649v9ofr6HEX/CMeHv8AoX9J/wDAGL/4mj/hGPD3/Qv6T/4Axf8AxNF5fzfh /wDbBp2/H/gG
Z4HXbp9+VUKhukCYXAwLeFeBgYwQR0HToOlYvxk/5EuL/r7X/wBFyV38MMVv AkEEUcMMYwkc
aBVUewHArgPjJ/yJcX/X2v8A6LkrvyqyxlNLp+iMMT/Ck/63LXwb/wCQfc/9 edn/AOgvXp9e
YfBv/kH3P/XnZ/8AoL16fWmP/wB4l8vyKp/CgooorjLCiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHRRRQM8O+Kn /H7rn+/b/wAo
q7bwD/yJdh/vS/8Ao164b4rSxrqWtRFwHZ7che54jrufAP8AyJdh/vS/+jXr 28d/yK6f+
Re: How to use Progress Monitor with JET2 Transformation [message #53236 is a reply to message #53199] Tue, 26 September 2006 16:16 Go to previous message
Eclipse UserFriend
Originally posted by: merks.ca.ibm.com

This is a multi-part message in MIME format.
--------------040808080301040304030801
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Kamesh,

That probably just a reflection of the contents of the IStatus's
getChildren().


Kamesh Sampath wrote:
> Ed,
>
> My dialog box is getting displayed correctly but ,
>
> In the details section i get repeated line of the same status message
> . Attached please find the screenshot.
>
> My code sinppet is ,
>
> public void run(IAction action) {
> IFileEditorInput editorInput = (IFileEditorInput) targetEditor
> .getEditorInput();
> final IResource modelFile = editorInput.getFile();
> if (modelFile != null) {
>
> IRunnableWithProgress progress = new IRunnableWithProgress() {
> public void run(IProgressMonitor monitor)
> throws InvocationTargetException,
> InterruptedException {
> final IStatus status =
> JET2Platform.runTransformOnResource(
> TRANSFORMER_ID, modelFile, monitor);
> targetEditor.getEditorSite().getShell().getDisplay()
> .syncExec(new Runnable() {
> public void run() {
> if (!status.isOK()) {
> new ErrorDialog(
>
> targetEditor.getEditorSite()
> .getShell(),
> "Struts config editor",
> "Java artifact
> generation failed",
> status, IStatus.ERROR
> | IStatus.WARNING)
> .open();
> }
>
> }
>
> });
> }
> };
> try {
> targetEditor.getEditorSite().getWorkbenchWindow()
> .getWorkbench().getProgressService().run(true,
> true,
> progress);
> } catch (InvocationTargetException e) {
> e.printStackTrace();
> } catch (InterruptedException e) {
> e.printStackTrace();
> }
> }
>
> }
>
>
> Thanks.
>
> Kamesh
>
>
> Ed Merks wrote:
>> Kamesh,
>>
>> If you have an IEditorPart you can do
>> getEditorSite().getShell().getDisplay(). Another way is
>> PlatformUI.getWorkbench().getDisplay().
>>
>>
>> Kamesh Sampath wrote:
>>> Paul,
>>>
>>> I have a small ambiguity in this .. When i run the transformation
>>> from an action class (IEditorAction) , i will not be getting the
>>> display right . then how can i call Display.aSyncExec() , i tried a
>>> round about way of achieveing this by declaring a member variable
>>> status and accessing the same after the run is through .. but i
>>> guess thats not the right way .. Any insight in to this ?
>>>
>>> Kamesh
>>>
>>> Paul Elder wrote:
>>>> Kamesh:
>>>>
>>>> You are not running on the UI thread. You must use
>>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>>> following Eclipse FAQ for details:
>>>>
>>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>>
>>>>
>>>> I find the Eclipse FAQ
>>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>>> answering this kind of question. You can get them in book form, too
>>>> - see the bottom link on the FAQ main page.
>>>>
>>>> Paul
>>>>
>>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>>
>>>>> Paul,
>>>>>
>>>>> thanks for the info . I am able to club the ProgresMonitor with
>>>>> the JET2 Transform.
>>>>>
>>>>> I face one more problem , I am trying to simulate an erroneous
>>>>> condition , want to display the error dialog , i tried something
>>>>> similar to that of Jet New Project Wizard but am getting an
>>>>> Invalid Thread Access error when i try to open the dialog ? What
>>>>> could be the problem ??
>>>>>
>>>>> Kamesh
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>
>
> ------------------------------------------------------------ ------------
>


--------------040808080301040304030801
Content-Type: multipart/related;
boundary="------------090202040308090703030407"


--------------090202040308090703030407
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Kamesh,<br>
<br>
That probably just a reflection of the contents of the IStatus's
getChildren().<br>
<br>
<br>
Kamesh Sampath wrote:
<blockquote cite="midefbj12$hna$1@utils.eclipse.org" type="cite">Ed,
<br>
<br>
My dialog box is getting displayed correctly but ,
<br>
<br>
In the details section i get repeated line of the same status message .
Attached please find the screenshot.
<br>
<br>
My code sinppet is ,
<br>
<br>
public void run(IAction action) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFileEditorInput editorInput = (IFileEditorInput) targetEditor
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; .getEditorInput();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final IResource modelFile = editorInput.getFile();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (modelFile != null) {
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; IRunnableWithProgress progress = new IRunnableWithProgress()
{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void run(IProgressMonitor monitor)
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; throws InvocationTargetException,
InterruptedException {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final IStatus status =
JET2Platform.runTransformOnResource(
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; TRANSFORMER_ID, modelFile, monitor);
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targetEditor.getEditorSite().getShell().getDisplay()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; .syncExec(new Runnable() {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run() {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; if (!status.isOK()) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; new ErrorDialog(
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
targetEditor.getEditorSite()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .getShell(),
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; "Struts config editor",
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; "Java artifact
generation failed",
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; status, IStatus.ERROR
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
IStatus.WARNING)
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; .open();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; });
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; try {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; targetEditor.getEditorSite().getWorkbenchWindow()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; .getWorkbench().getProgressService().run(true,
true,
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; progress);
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; } catch (InvocationTargetException e) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; e.printStackTrace();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; } catch (InterruptedException e) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; e.printStackTrace();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp; }
<br>
<br>
<br>
Thanks.
<br>
<br>
Kamesh
<br>
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Kamesh,
<br>
<br>
If you have an IEditorPart you can do
getEditorSite().getShell().getDisplay().&nbsp; Another way is
PlatformUI.getWorkbench().getDisplay().
<br>
<br>
<br>
Kamesh Sampath wrote:
<br>
<blockquote type="cite">Paul,
<br>
<br>
I have a small ambiguity in this .. When i run the&nbsp; transformation from
an action class (IEditorAction) , i will not be getting the display
right . then how can i call Display.aSyncExec() , i tried a round about
way of achieveing this by declaring a member variable status&nbsp; and
accessing the same after the run is through .. but i guess thats not
the right way .. Any insight in to this ?
<br>
<br>
Kamesh
<br>
<br>
Paul Elder wrote:
<br>
<blockquote type="cite">Kamesh:
<br>
<br>
You are not running on the UI thread. You must use Display.syncExec()
or Display.asyncExec() to display GUI. See the following Eclipse FAQ
for details:
<br>
<br>
<a class="moz-txt-link-freetext" href=" http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F"> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F</a>
<br>
<br>
I find the Eclipse FAQ
(<a class="moz-txt-link-freetext" href="http://wiki.eclipse.org/index.php/Eclipse_FAQs">http://wiki.eclipse.org/index.php/Eclipse_FAQs</a>), very useful in
answering this kind of question. You can get them in book form, too -
see the bottom link on the FAQ main page.
<br>
<br>
Paul
<br>
<br>
"Kamesh Sampath" <a class="moz-txt-link-rfc2396E" href="mailto:kamesh_sampath@msn.com">&lt;kamesh_sampath@msn.com&gt;</a> wrote in message
<a class="moz-txt-link-freetext" href="news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org">news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org</a>...
<br>
&nbsp;
<br>
<blockquote type="cite">Paul,
<br>
<br>
thanks for the info . I am able to club the ProgresMonitor with the
JET2 Transform.
<br>
<br>
I face one more problem , I am trying to simulate an erroneous
condition , want to display the error dialog , i tried something
similar to that of Jet New Project Wizard but am getting an Invalid
Thread Access error when i try to open the dialog ? What could be the
problem ??
<br>
<br>
Kamesh
<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; </blockquote>
<br>
<br>
&nbsp; </blockquote>
</blockquote>
</blockquote>
<br>
<br>
<hr size="4" width="90%"><br>
<center><img src="cid:part1.02010901.07020003@ca.ibm.com"></center>
</blockquote>
<br>
</body>
</html>

--------------090202040308090703030407
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-ID: <part1.02010901.07020003@ca.ibm.com>

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAMABAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1W5juhOBE0sjKoKMwGN22 X2x3UflU9gsg
8zdJI6cY3oy4POfvkn09v1q5FbQwqVi8qNSc4VSBn8qfsX/nqn5H/CsLFjKz YjKkdwkbT+cT
L5aGLCA7iQd23H5nHNauxf8Anqn5H/CofsNp5nmeXb787t3l859c4osBkzRP I8q2y3BV02nz
N/J2ScZbtkr7dK1YNnkrs8zb28zdu/HdzU+xf+eqfkf8KNi/89U/I/4UAVb1 WewuFUEsYmAA
HJODVORJYbkxpG7RpE+xgDhVZl447jDYA7AYrVaJHUqzoVIwQQcEflUSWNpE 4eOO3Rh0ZY8E
fpRYDPhN0sTOjO5VyiiRHAIYLg4PPDdyem72pdkkcrJK1y1upwGUsWJ2pg/L z/f9s1q7F/56
p+R/wpkttDMoWXypFBzhlJGfyosBkRyXDLaODLu2xD7rsHBxuJIO0dT1GeM+ lAiljtLeNWmj
VFIl+WRjvAXgbSDjr0+X9K2ti/8APVPyP+FGxf8Anqn5H/CgCGHeIY/MJL7R uJABJxz04pty
EMDb9+AQcopJBByCAAe+KsbF/wCeqfkf8KNi/wDPVPyP+FFgMiU3LhcySiEF sOY33NwuMhNp
HO/24HsaV2uRNCSZQ6mNT8jEOCRuJwdg6nrnp16VrbF/56p+R/wqF7G0lcvJ Hbux6s0eSf0o
AoIkiW1r57XLK0eZMFt2/C4Hy89N39eafBE8TxuolBeeQOCSRty5Bx0HO3n/ ABrS2L/z1T8j
/hRsX/nqn5H/AAosAyqU1vLPdzoGCxSQqjkoSSMvnBzweffqK0Ni/wDPVPyP +FRS2dtMwaVY
JGAxlkycflRYCjslEW6RpyrTvvALZCZbbjHPXb07e1RSfaMRhHlDMj8EknYJ FwcZznaT/tfj
WusSIoVXQKBgAA4A/KjykDFt6biME4OSPy9zRYDKQSBU857hoMtgqrq2flx3 L4+91/wqzZp5
ZmUiQOZGY7s7cFiRjt0Pb8au7F/56p+R/wAKNi/89U/I/wCFFgGVnwxTLIjS D90s8jKFQ7gS
zAE88jBPb07ZrT2L/wA9U/I/4VA2n2bsWaK2LE5JMfJP5UWAzi08iW0X+kBl RVmOGHO9Afm7
8buQfWr1srIZkO/Yr4TcSTjaD1PJ5Jq1sX/nqn5H/CjYv/PVPyP+FFgGVluj NF5MPntbrtJD
IUKBWUgLwCeN3qeB+OvsX/nqn5H/AAo2L/z1T8j/AIUWAzNkuJpFafaskexS W+4Ahbg8nof1
7k5auZb8TOs/lB2VOHXBIjxx1xkN14rV2L/z1T8j/hRsX/nqn5H/AAoAoWHm fvN/mN0/ePuX
cec/I33fw4/kK9sZF09Iw1yXCJuVoiu1QRuCnaM8Z7k+la+xf+eqfkf8KNi/ 89U/I/4UAYZi
d3kEa3HkF9x3bwSAYueec8NjvxxVn955w2+fu3p5Wd23y/l3Zzxn733uf0rT 2L/z1T8j/hRs
X/nqn5H/AAoAqWKOllF5jSNIyAt5h5zgcf5/nVin7F/56p+R/wAKNi/89U/I /wCFFgMgw3Ue
fK48rMMfGcKc47cgZjyf9hvxeluxvDCfOW3QEIFdlAAWMDkH/e/Wrn9m2P8A zxtf+/X/ANap
kgiiQJG0aKOiqpAH6UWAyP30iRG4WczF4WUANtx8pbIHy9d3Xn9Kcv2gRqy+ fvVA04O7lgyk
hc8cgOPl46e1a+xf+eqfkf8ACjYv/PVPyP8AhQBQt0uVuQJmyFQkkE4JYg45 9CG+gK1cp+xf
+eqfkf8ACjYv/PVPyP8AhRYDKuLeZ49RKySruztRVGH/AHa+oz7cVFOly/2k FpSxWQbBG2Cu
Dt5zt/u9Bn9a1HsbSVy8kdu7HqzR5J/SpViRFCq6BQMAAHAH5UAZlszNcAoZ i3nSCTcW27QW
xjPHXb05/WtGnLEijCugGSeAep69qXYv/PVPyP8AhRYBlFP2L/z1T8j/AIUb F/56p+R/wpWA
ZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/AM9U/I/4UWAZ RT9i/wDPVPyP
+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/89U/I/4UbF/5 6p+R/wAKLAMo
p+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56p+R/wosAyin7 F/56p+R/wo2L
/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/ AM9U/I/4UWAZ
RT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/ 89U/I/4UbF/5
6p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56 p+R/wosAyin7
F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/ AJ6p+R/wo2L/
AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/ I/4UWAZRT9i/
89U/I/4UbF/56p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1 T8j/AIUbF/56
p+R/wosAyin7F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5 H/CiwDKKfsX/
AJ6p+R/wo2L/AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+ei /kf8Kf8AZyOs
iL/vEj+dOwiGipvs/wD01i/76o+z/wDTWL/vqizAhoqb7P8A9NYv++qPs/8A 01i/76oswIaK
m+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z/wDTWL/vqizAhoqb 7P8A9NYv++qP
s/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z /wDTWL/vqizA
hoqb7P8A9NYv++qPs/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCG qerf8ge+/wCv
eT/0E1pfZ/8AprF/31VLV4MaLfnzYzi3k4Df7Jq6afOvUT2Mr4a/8gS//wCv 9v8A0XHXZ1xn
w1/5Al//ANf7f+i467OuzF/xpEQ+FGRRRWBofhKyjt7S/SWTzHjVyDHFjJGf 7ma5KcIzum7D
nKUbWVzbE0bTNEHBkUZI/L/EfTI9RUlZsmlCxvbZRcbofOZkTylD5KZ5cDJ/ 1ZyerAgEnHMf
iNtdj0WaXw4llJqUfzJDeKxSUDqoIZdrHsTxxg4zkc1OUpXurWZrJJWsa1Ma VVbbhyePuoT1
6dBVfTBqC6bbjVXtXv8Abmc2qMsW70UMScDpk9cZwM4ErFvMlCDLARMBnrhi f6VtFXdiWPMm
BkxzAe8Lf4UqOHXIzjJHIx0qP+0TeFYkVfvKxIkU4AYHsadCcqx9ZH/9CNOU UkJMczhMZDEs
cAKpJP4CkWVHcoCQ46qwII/A0zc/m793EchUBVJPKdc8+vpTQsk0ylz8+7Id kzgYOc/Kvt3p
qF1cLlimSTRw7PMYLvcIue7E4AohcyQxucZZQTj6U2aXymhP2jyd0qrnbktk /dHoT0zUdSiW
ori5itYxJM+1C6Rg4J+ZmCqOPUkCpa4nxjCsd7aSXUU4gnulRZBeSGEHYTuk j3KE243grnOw
5K5zRFXZM5cqudokkcjOqOrNG21wDkqcA4PocEH8RTq4aW7m0XUY4bbVbho5 p2MhmtvtLySM
vBZUAZlwmF2kbcYOQML2bO1xZGSyni3SR7oZivmJkj5WwCNw6HgjI7ilpuhQ mpE1FYXhhvFE
lpO/ihNMin80rDFYK+NgJG5mZjndwQMDAxnkkK/xbcS2vha+lhDF9qr8vXaz AN+hND0HKXLF
y7EsviTSYpChui2OrRxO6D/gSgj9a0YZoriFZoJEkjYZV0bIP41zGhnT7r4d m61Ii1WORysg
X5lPQYHfOAMd6h8B3j3K6gmHEIZHXcuDuYsDx24VTj396zjKV7PqYQrNySfU 7Giue18+Ll1L
T18PnSDZStsu2vYpGeAcneu11DDHG3g5xzgkr0NaHSUbvV7GylMU8x8wAEqi M5XPTIUHH41Z
trmC8gWa3lWSNujLXH2N+uka14kOtqJIX5hixlpQWO0D8Mc9se1L4PvjEL2S 6DQQyzRrGMMy
qzdAWxgEhowM4zkeoqFJ3szCnUlOfKlff5HaUVHOJWt5Ft3SOYqRG8iF1Vsc EqCCRntkZ9RW
N4YbxRJaTv4oTTIp/NKwxWCvjYCRuZmY53cEDAwMZ5JC2bm7TI5o5t/lsG2O UbHZgASP1FPq
K3l8xZR9o83ZKy4C4EfA+X3POc+9AEtVjqFqt69m0wWeOHz2UggBMkZz06g9 6S6lnW7s4o3j
SOeQxuzLlh8pYY7dFPX24rmyYdQ12+uZ7uxsrf7OlvCWuYpy7KzENjJyvPRu +O4BFKL5ZPsi
W9Uu51kciyoHQ5B9Rgg9wR2PtTqytEmjuEupRPDJK8zFxEwwOTjgAe/zHlgA T6CLxBKynT4h
ZPdLJcHKgrjIRsA5I69fwPTjOV5KN5LU0UU5WTNU3MIEh8xSYmCOFOSrEAhc DnJDDA6nI9ak
VldFdGDKwyCDkEVw9ndSQvfSjTHtxbXQkEjCMoMKpw3XGcfeAJXPHcV12m2x tLGONid5AZ8q
q4Y9cKvyr9B+pJJmE5Sla2hU6aity2SACScAVUj1SwmLCG9t5WXqsUgdvToO epA/GsnxHIJd
R0bTJiwtL2crNtON2MYU+xz+lZc+rNBeXSxaCbSHT7kf6Rt+UDdgbgQc7sDD KMrnIznBubaT
aOV1kp8r0R2isrorowZWGQQcgilqjo8YTSbZgxYyRrITtCDJAPCjhfoP1OSc y0Pi4+LLmO7O
kf8ACPou+GWOKQXEhOcIcuQCuMlsYIxgDJ2ON2rs206HQ0zzo/P8jcPN2b9v fbkDP5kU+ohL
/ppi+0YzEW8kLyfmA3E+gzjHvTAlqpBfG73taWz3KI20vDNCw6Bh/HxkEHns RVuuehP2uwz/
AMfO1wM/6/bmGI/9N8dc9VznOGzubWnS9pfWxEp8ptxTs88kMlvLBIiq5EhU 5BJA+6T/AHTU
1ZemxGC7aIoqEWkTbVAGMySnoETH/fI/rWpWTVm0Ve+oxZo3lkiVgXjwXH93 OcfyNPqKKXdc
XEf2jfs2HyguPLyDyT3zj9KgvpSjWsW8os82x2U4OAjNgHtnbjPXBOMHBCnJ RV2VFXdhsms6
fFd/ZXuVEuQpGDgE9i2MA8jqavV5pq+gTRatfXunzyXO5iyII5mIYkblBClS R8wzuyD7jNav
gtdSXVLpbiAW8CwgtH5Zjy5b5Tt+gfn6deznUpXiqcr3RnNzjLl5XbudtTJZ EhjaSRgqKMkm
m3M621u0zq7Bf4UXczE8AAepNc7caqzXUf2tfMjY+UsMO5XjdjtBznJYE47E dRgjFROTSfLq
zWEbvU6C3u4bksIy4ZcbleNkYZ6cMAanqnY2hg3SMqozoqCNOFjRc7VA6dz/ AJFXKcG5RTas
KSSdkMhmjniEsTBkbIDDvgkH9QaV5FTGc5Y4UAEknrwByeAfypltL51rG/2j z87h5gXaDhiM
Ae3T8KZJMIr6HODmJ/5pSqy5IuQ4R5nYmSRXzjOVOGBBBB68g8jgj86dVSaa AuT9gSZUKrIw
j3MC3oApzgEE8jg8ZPFOsiDAwDZxI/GCCoLEgYIBGARxjpjtU06vOOUOUs0V z12fFw8WW0do
dI/4R913zSyRSG4jIxlBhwCWzkNjAGcg4G/oa1IGNNGkscTMA8mQi+uBk/oK fUTy7LqBPtHl
79w8sLkyYUnGe2Ov4VLQBXnvbe3kWJ3JlYZEaKXbHrgAnHHWltb23vAxglDl DhlwQy/UHkVz
N/rkOl/aHkMsNzHdOzyq38BBAz7Bdv0xnrWVoWqy6l43SWEFYnWQMgAG2MLw OOoDYHbqK29n
unfRXv0ZzxquTXLtez8j0KmedH5/kbh5uzft77cgZ/Min1EJf9NMX2jGYi3k heT8wG4n0GcY
96xOglpgfODtYIzFVbjBIzkevY/lTm3bDsxuxxnpms8vJOkMERilnSZm2OmV zzncM8AbuufT
rkCqSuI0aKZJHFHcxmOJUyr/AHV25GV9hRL5gjJi2lh2bvSas7APqC5uktUL yA7QMkjHAyB3
PqRUybtg343d8dKid1FzGrPJHkEFlB+YHkrnt068H060JagOjlaVEdIWIcBl +dOQen8VORxJ
GrjOGAIzT7W7M7Mu52COF80qVD8kewyMHOOOh9hDbf8AHrD/ALi/yqpJJaAi Wio187ziG2eX
2IHJpt3B9qtZId5TeMbh1FQMk3oApLLhuFOetOrOsoobPTzDNJhtwy4AUpyD t5yOv6Y9BVhJ
kaVFimaTJ+YEqcDB54Hrj86px7CuWaQsoYKWAJ6DPWhiQhKruIHAzjNRs1v5 KF5yjb87+ASc
EY5+p4/+vSSuBLRUKSKZQscxlXaSxODg8Y6D6/lTpfOAHk7Cc8hqGrASUUDO Bnr3xULyIspW
WZol2gqRgZPOeoPt+dCVwJQylioYEjqM9KWole08p9k7O+/IfgkHAGMADI4H H/1qkUkoCy7S
RyM5xQ1YBaKjj87e3mbNo+7tHWpKQwooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKA
ClVSxwOtJUpzEm3o56+wpgJvCcJgn+9/hUdFFIAoqhrih/D+pI3Ctayg/wDf BrB0/wAPaNa3
8y211LOghQ7oLWKTBYtkExx/7I4PB5yCK0hGMk9dSJSaa00OpimjnUtE4YA4 yPz/AJEEeoIP
emwwfarSW8mv5LWFGkB2bAqqjEEsWU/3Se1Z+jRsZrt5WzJEywcQ+UCqohBK 4Byc55+70HHJ
ZrF7DaeCbiOaV4vtU89urIVHLSPnJYEAYBzxnHTnFZ0ZPkcpLUdRxi99C5aT 6Vf3LW1r4laa
cNt2I8JLHaG+X5PmGD1GRwR1BqVYrV9Vk0xdYvDeRxCZo/Lj4QnGc+Xjr71x Xh5zca9b3X9r
ybEvTNOZZ4doLRFVC5UFt23acDOM8Dhq6zSbDU5fGV7rN7ZCzia1W2RDMshc hs7hjtx3wa2o
vni5SViZuOjpu6Zq/wBjt/0E7z8ov/iKP7Hb/oJ3n5Rf/EVjaxql3ofipXbU ZJbO40y5mSym
VBGs0b2yRqjJGZSWMpGPnJLAKpOBVex+IUDwmfVLGTT4IXuIbmVhLiOWOFbg KqPGkhDQmRsl
FwYyADuUmtOwWOh/sdv+gneflF/8RUF3aSafCs4vJph5iIySqmMMwXjao9ay bjxtPZajptrd
6Vt8/wCzRXgheWZrO4mKqImZYjDwXQktKpKtkKcqG6DW/wDkG/8AbeD/ANGp RZdgZBRRRXOa
BRRRQAUUUUAFFFFABVPVv+QPff8AXvJ/6CauVT1b/kD33/XvJ/6Caun8a9RP Yz/hr/yBL/8A
6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrtxf8aRnD4UZFRacLixsIrV5YpBEg RGWMqcAY5+Y8
0qm4cbo7G4ZT0J2rn8GYEfiKdi7/AOgfP/33H/8AFVwWZpoV3ivZ7iB57i3M cMhkCxwMrMdr
LyS5/venarVNxd/9A+f/AL7j/wDiqMXf/QPn/wC+4/8A4qkotdB3HVVuYJZf NCbMSR7OSRjr
7e9WMXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qqV1qhFR4buS4jlZ1ITo pkY9iD1HuPyq
zAjJFh8bsknB9STTsXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qm3JhoVJ 7e7M7vBOFRsH
afXGPQ+lRm31HHF0ufw/+Jq/i7/6B8//AH3H/wDFUYu/+gfP/wB9x/8AxVNS khWQRJ5cSJnO
1QM0MJC0Zjl8vDgsQuSV7gc8Z9aMXf8A0D5/++4//iqMXf8A0D5/++4//iqi zGOqpfWMF4m6
W2iuXjRvLjnP7skjHIwR7ZwSATjqQbOLv/oHz/8Afcf/AMVRi7/6B8//AH3H /wDFUWYaGJon
hWw0WO1fMlzdwRCMTzSM2OACVUkhc47djjOK3agmluIEDPp12QTj5Arn8lY1 FFf+eu6G3lkH
cq8Zx/49Q79RRikrIuVHPDHcwSQTIHikUo6nuDwRUf2mX/nyn/76T/4qj7TL /wA+U/8A30n/
AMVSGczdeCGnjitk1RxZRMXjhki3FSepyGAJ9yDXQaVpVto9n9mttxBbczuc sx9T+AA/Cpvt
Mv8Az5T/APfSf/FUfaZf+fKf/vpP/iqSilqZwowg+aK1LFFV/tMv/PlP/wB9 J/8AFUfaZf8A
nyn/AO+k/wDiqZqLc2VpeAC6tYZwvTzYw2Pzrz1vAXiDcwXU7cqWDctycYx/ yzJ7DjOD3zk5
9B+0y/8APlP/AN9J/wDFUfaZf+fKf/vpP/iqmUFLc3oYidC/J1Cwt3tdOtbe R97xRIjP/eIA
BNWKqi8cyNGLOfcoDEZToc4/i9jTvtMv/PlP/wB9J/8AFVRi3d3ZYpqCQKwk l35clRtwEXjA
689+feoftMv/AD5T/wDfSf8AxVH2mX/nyn/76T/4qgRBq1rdXMMLWUscdxDJ vXzOhyrKecHB
wxIODyBxVKK21mGMRxwWIUf9PLkk9SSfL5JPOe9an2mX/nyn/wC+k/8AiqPt Mv8Az5T/APfS
f/FVrTrShskRKCluFra/Z1LO/mzvjzJCMZ9AB2Uc4H8ySSzUNPTUIo1aaWFo n8xHiIDA4I7g
joT2qaK4SYlcMjr95HGCP8R7jim3V3BZQ+bcSBF6c9zWcrzeuty4+7sYy+Fl P2pJtUvZIp3y
yfIMjaAQTt56HkY4wO2T0FYf/CV6f/cn/wC+B/jR/wAJXp/9yf8A74H+NWsN VW0H9zFKspbs
vatpNtrFn9nuNww25JEOGRvUGskeF7i5aNNV1m5vrVDn7OwKq31yxyKsf8JX p/8Acn/74H+N
H/CV6f8A3J/++B/jT+r1f5X9zMpKlJ3djcAAAAGAKKw/+Er0/wDuT/8AfA/x o/4SvT/7k/8A
3wP8af1er/K/uZftIdzcpoEnmlvNxFsx5YXq2epOfTPGO9Yv/CV6f/cn/wC+ B/jR/wAJXp/9
yf8A74H+NHsK38r+5hzw7m5WYNPu0fKz2ciq++L7TbyTMmAAMM0vBwo6Yycn qTVb/hK9P/uT
/wDfA/xo/wCEr0/+5P8A98D/ABpqjXW0X9zE5Qe7Ra0XRbfRLPyovnmfBmmY fNI39AOw7fXJ
OlWH/wAJXp/9yf8A74H+NH/CV6f/AHJ/++B/jU/V6v8AI/uYRlTirJo2lEga QtLuQ42R7cbe
uTnPOePyqlqunNqMESx3DW8sUnmI4GR0KkEZBwQx6EEcHNUv+Er0/wDuT/8A fA/xo/4SvT/7
k/8A3wP8aUsNVkrOD+5lRqxi7pj00zUo0VEv7NUUYVVs2AA9B+8rTtbWO0i2 Jkknc7tyzt6n
3/lwBgACqFvr9rdNtiSQnjhmRf5tV37TL/z5T/8AfSf/ABVc8cPCk9FZmsqs prVllAizpK6b
ygO0E8Anv9ev5mqFxpcF1rh1OXBIVQsQXChxn5z6nGAPTA9Bib7TL/z5T/8A fSf/ABVH2mX/
AJ8p/wDvpP8A4qq5Ve5N2WKKr/aZf+fKf/vpP/iqPtMv/PlP/wB9J/8AFVQi aMSLEiyy+a4z
ltu3ucADJ6DAqOe1iuQvmqcr0KsVI/EHNN+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqGk9G
CbWxEbOeN2NtcrGjYJWRC5yFC9dw7AdamtbdoBIZJPMklfe7BcDOAOBz2A70 n2mX/nyn/wC+
k/8AiqPtMv8Az5T/APfSf/FVnGlCMuZLUpzk1Zliiq/2mX/nyn/76T/4qj7T L/z5T/8AfSf/
ABVaEkxEnmoyy7EGd6hcl+OBnPHPNOqv9pl/58p/++k/+Ko+0y/8+U//AH0n /wAVQBQ1fw5Y
6yQ0/mxSgY8yFtpI98gg/lUmkaDYaIji0jbzJMb5XOWbHQZ9PYVb+0y/8+U/ /fSf/FUfaZf+
fKf/AL6T/wCKqnOTXK3oTypO9ixTQJPNLebiLZjywvVs9Sc+meMd6h+0y/8A PlP/AN9J/wDF
UfaZf+fKf/vpP/iqkosVUgju4pmZmjaMoE2cDkd87cnncef7xp/2mX/nyn/7 6T/4qj7TL/z5
T/8AfSf/ABVNSa2E0SfvXmV3VFADDhskk49h6VJVf7TL/wA+U/8A30n/AMVR 9pl/58p/++k/
+KobuBYqKeNpFXbjKtnB78Ef1pn2mX/nyn/76T/4qj7TL/z5T/8AfSf/ABVI YsNsIotu+QEk
sQsjAZJJ9feplUIgVRgAYAqD7TL/AM+U/wD30n/xVH2mX/nyn/76T/4qndsR Yoqv9pl/58p/
++k/+Ko+0y/8+U//AH0n/wAVSGSSQrIyscgqQcjvg5wakqv9pl/58p/++k/+ Ko+0y/8APlP/
AN9J/wDFUAWKjMKmZZeQw5wOh4xzUf2mX/nyn/76T/4qj7TL/wA+U/8A30n/ AMVQBYoqv9pl
/wCfKf8A76T/AOKo+0y/8+M//fSf/FUAWKKr/aZf+fGf/vpP/iqX7TL/AM+M /wD30n/xVADx
CgmaXkseeeg4xxUlQfaZf+fGf/vpP/iqPtMn/PjN/wB9J/8AFUAT0VB9qk/5 8Zv++k/+Ko+1
Sf8APhN/30n/AMVQBPRUH2qT/nwm/wC+k/8AiqPtUn/PhN/30n/xVAE9FQfa pP8Anwm/76T/
AOLpftUn/PhN/wB9J/8AF0ATUVD9qk/6B83/AH0n/wAXR9rk/wCgfN/30n/x dAE1FQ/a5P8A
oHy/99J/8XR9rk/6B8v/AH0n/wAXQBNRUP2uT/oHy/8AfS//ABdH2uT/AKB0 v/fS/wDxdAE1
FQ/a5P8AoHS/99L/APF0fa3/AOgdL/30v/xdAE1FRfa3/wCgdL/30v8A8XR9 rf8A6B0v/fS/
/F0AS0AEnAGTUX2x/wDoHS/99L/8XQb2bGFsZlHt5f8APdmmIsgeV8x+/wBh 6fWo6r/aZf8A
nyn/AO+k/wDiqPtMv/PlP/30n/xVIZYoqv8AaZf+fKf/AL6T/wCKo+0y/wDP lP8A99J/8VQA
X9r9t066tA/l+fE8e/Gdu4EZx361XSPWo7l5xf6fueNIyDYvjCliP+WvX5j+ lWPtMv8Az5T/
APfSf/FUfaZf+fKf/vpP/iqabWwmrjLK2uIXupbqeOWa4lEjGKIxqMIqAAFm P8OeveoLi00j
UdFfTNWuI4GFxJIpaQI6kuxDLng8N7jk1a+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqala9
yZRUlZnn2teHZLWVbTQtStpLOQAyTPdwh2bkfPnHygHgKD1PGa9K0/UtOtNN tbaXVrOSSKFI
2fz1+YgAE9arfaZf+fKf/vpP/iqPtMv/AD5T/wDfSf8AxVausuVRtohRhyqy IHsPCsst1LPe
xTyXOdzz6k8hiywf90Wc+T8yqw8vbgohHKrgtrDwraWctql7FJHNdx3shn1J 5neaMxlGLu5Y
48qPjOPlxjGan+0y/wDPlP8A99J/8VR9pl/58p/++k/+KqfaLsOzIL2w8K3+ orfT3sXnCWOc
rFqTxxySRlSjvGrhHYFE5YE4VR0AAu6lf2d5arBa3UM8pmibbE4YgLIrEnHT gGoftMv/AD5T
/wDfSf8AxVH2mX/nyn/76T/4qj2i7ByssUVX+0y/8+U//fSf/FUfaZf+fKf/ AL6T/wCKrIss
UVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsUVX+0y/wDPlP8A99J/ 8VR9pl/58p/+
+k/+KoAsUVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsVT1b/kD33/ AF7yf+gmpBdh
WAmhlhB4DOARn6gnH41Hq3/IHvv+veT/ANBNXT+NeonsZ/w1/wCQJf8A/X+3 /ouOuzrjPhr/
AMgS/wD+v9v/AEXHXZ124v8AjSM4fCjHvtQuLbVbSKKCW4jkglZo4tgOVaMA 5YjpuI696xfC
/iy71vUpLe4jgVBEZAYwM9Iz2kbu7DkDp65A0b5Lt9Ys5LV449tvMGkkhMij LRYHDLgnHr2N
ZHhq21631GR9UMxhMRA3y7huxH0/eN3EnYdffA8+pKXNGx0U1Hllc39U8RWG j3Fvb3RumnuE
d447azmuGKoVDEiNWIALryfUVoQXUN1bxXFvKk0EqB45I2DK6kZBBHBBHeuY 1nSb/UfFGl3V
rfXVhDBZXUclxbCEtud4CqESI4wQjHIH8I5GcHndU8NX0XiDS207TZ1i0+Wz gsp7UW22KzR0
8xJZJP8ASN23zhhDtZSoOSXzrcyPQbzVIbG60+3lVy99cG3iKgYDCKSXLc9M RsOM8kfWrm+v
LoPC1/JYaRZxaY+l6lbXCnUdWTyc3ji1uI2m3I/muGd+S2yTEpIKtllW+0XW LnXNNvI9Deyl
s57WK3NiLPyYLVJF81WkbE+CPOwse1TGyAqCXWi4HqG+q99qFvpun3N/dyeX bW0TTTPtJ2oo
JY4HJ4B6V4xBpf8AaV0ul6bYomq2Wmvb61fWkltI17KtxamQMwZsvIIp8C4C 7tzBhjfjrrbw
9dwfDjxBpNta3Uct7b3K2trcvbqyF4dgULCqwxgsCcKSPmLE5YgFwOx0zW7X VvN+zRXyeVjd
9qsZrbOc9PNRd3TtnHGeorQ31wos7q60d7Kz0fV7C6FwslteanfrctbSFSPO VvOkYhQMeXwH
37T8rORzt9oxu9Z1Cxg8MY1P+xoI7W68yKT+z52mu/3/AJzsJDl8Sb1BkONz APxRcD1DTdUh
1S1e4gV1RLia3IcAHdFK0THgnjKEj2x06Vc315Xc+GNUePUUk0n7VcXP2pdM uN8R/syZ7q5k
W4yzBkyssDbowz/uuQCqgz33hC5k0KRfss7STazc3V7DC0MslxbmW4MSKs+Y ioMscmxsAHcw
AfqXA9N31BeXL21jcTxQtPJFGzrEvVyBkKOvJ6VxHhXwxJp+si9vLafbDYQx WhuJ0dom865Y
rtjCorLHKijau1FZkRiuSevu5Z0sp2tUV7hY2MSN0Z8cA8jvjvRcCL+1rj7P u+yx+Zs83zPO
P2Xy8Z3+dtxjHbGc9tvzVIkaalZ211NC9rcvErHH+sjyMlCSOcZIwR+GazvL uf7P8n7HJ9l3
b/K3p9p8zfv83du8vO/nZ0xzn+CtK0lneyga6RUuGjUyovRXxyBye+e9DYFd WeOXyJ8eaBlW
HAkHqP6jt+RqWpbiJLmPY+Rg5Vh1U+oqmkxjkEFwVWX+E9BIPUe/qO361m0M gm1mwgttTuJZ
9sWmZ+1tsY+XiNZT25+RlPGeuOvFWoZlnQugcAMyfOjIcqSDwQDjI4PQjBGQ Qa4nW/B82p2n
jKXZe/ar3f8AYY4tQkijl/0SJF3IrhDl1YHeOQOeMVk3vg3Vbm7kee3vXVpb k2n2WS1H2V3u
7iQSl5VZotyyQnfCC42HIyqiiyA9QorhZvDNzH4dvof7O86S+1O4lvEAhmmk tzcSyRCMT5iG
C0bbW4AaQgBzVHRvCGrmy1J5o5rW+/sx7XTJridA1u5mvNhxCSqMscsQBQfK GZUwMiiwHeya
hFHq9tprK/nXEEs6sANoWNo1YHnOcyrjjsfxt1xNv4W03UNXsHl8G2tjpkEF 2Htbm3tivnO1
vtcJGzLkqjjPX5cHGRmvo2kXrX2m6bezOzizstR1iKQ72+1RrsQmTOWLvErZ U4H2TnPmkksB
2yf8hGb/AK5R/wA3qxVdP+QjN/1yj/m9WKQzO1H7Z9pt/I+2fZ9j+Z9k8ndu yu3Pm8Yxv6e1
Qw/bvtttt/tTyt5877X9l27djYx5fzZ3bf1rXop3EUdWkuI7D/RX2TvNDGrZ A+9IqnkhgOCe
cHHpVHUbLxBZaZd3X2rHkQvJn7VG33VJ6fZhnp0yPqK1L23e6twkUixyLLHK rMm4ZRw4yMjI
+X1qK9TWL6xuLSW9sRHPE0TFbN8gMMHH73rzTjbqBJeKAIZRw6SqAfZmCkfT n9BXK+JJHl1V
4yfkjACj6gGurvf9Qv8A11i/9DWuX1tN2r3H/Af/AEEV1YC3tlcyr/Acz4iu V0jy4baWKa5x
mRM7gBnrweAe2ck4zgAil069g1O0E8SmNwdkkTHJVgBznAyDnj8R2yaniO0v 7a+E1hG1zbTK
vypv3o3I5AbAHA/+vnNaGj6fcW1n5l5gXMpyY1YsEXAwMknnrnHt+Hsqa0V7 /IxqRio6Im8u
jy62FmxDFCZG8oQuGTnbuO4jj8V5qeW6idwMoI2JC4DkxqVK9zgYyOF4OPYU 3UfYwsjA8unR
27SyLGgyzEKB6k1rSSRTxhMeVvkUN1baq5APvw2P+A+9Ptp0hgi3uRscNsjJ G7DZO4Hg8Dgg
+n4DqO2wWRieXTlt2dXZRkINzewyB/MitlbkxGHdMZSs++Rhklh8mOTg9uns PalidLe38qO5
AkbdiRNwC5KH0z/CelL2j7BZGH5dHl1uLNGIoQ0mCowqoW2IdpAYgjhskHI9 +/UilCsN9zux
JulPzHzlwPl6c9CMHA5p+0fYLIxY7dpZFjQZZiFA9SaWS32Hh0dc4DL36djg 9/StuK6UXCeZ
KxiRYtoOSFZSmcDtwG/yabbyPLGE8xzcsX2v8xK/c5yOeisOKXtH2HZGH5dS 2un3V61wLaNJ
DBGJGjDfvHGSDsXHzY4zz3GMkgVfv0LXZ3NvYIgZueSFAPXnrTdPuhp981z9 maWeNP8ARWJA
jRzuDM4zuOFPAHXJzjgiatSfJeG44Jc1mUrmwurFrf7RGsZnjMipu/eIAQBv XHy55xzng5wQ
RWtpOtzWjJDcMXt+g9VqtqF0NQvlufszRTyJ/pTAgxu42hWQZ3DKjkHpgYzy TB5ftWXJ7ana
qtfyK5uSXuHeo6yIrowZWGQR3p1cnpWpvYv5cmWtyeR3X3FdTHLHMgeJ1dT0 KnIrxq1GVKXK
zshNTV0PooorIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK999o/s+5 +yf8fPlN5PT7
+Dt68dcdazv9K/6mD/yRrZoppiK9j9o/s+2+1/8AHz5S+d0+/gbunHXPSs21 tdcv0lnhucRf
aJkQfaETAWRlAwbdvT+8a2qpW0eqWUbw215Z+UZZJFElozMN7l8EiQZ5b0px t1Bkemi7Jv7X
UHErwz+XyyuNpjRsZCID94/wj05plxn/AIR28UsW2RTICTkkLuAz+VW7SCeK S6muZo5ZbiUS
MY4yijCKmACx7L696qXP/IA1D/duP5tVQ/iL1B7Ff4a/8gS//wCv9v8A0XHX Z1xnw1/5Al//
ANf7f+i467OuzF/xpGcPhRlbqN1NorzzUduo3U2igB26jdTaKAHbqN1NooAd uo3U2igB26jd
TaKAHbqN1NpOSwRBudug/qfamIfuo3VXiuoZUQiSMMwB27hnntU1ADt1MlVZ ozHIu5T1FMae
JGKtKikdiwFLFIXjRmXaXQOvOQQfQ/j/AJ4o1AhME8X+puNw/uTDd9ACMH8T ml33n/PCD/v8
f/iKsVFukaN5VwFUnggc465ORjoexoSuAzfef88IP+/x/wDiKN95/wA8IP8A v8f/AIipFlJ2
bo2UP91iQQeM9ie1ExIQYOPnX/0IUnoMj33n/PCD/v8AH/4ijfef88IP+/x/ +IqxWauqOw4g
ycAkKJGxkAgEhCM4IqowlLYlyS3JlW8Fy83kwfMirjzjxgk/3fepN95/zwg/ 7/H/AOIplrfC
4kMTxvHJglQyOAyjGSCyjucVLcz/AGeNTgFnYIoJwNx4GT2H/wCoZJAMz9z4 hx97YbvvP+eE
H/f4/wDxFG+8/wCeEH/f4/8AxFZ0mrpp13cW13cJMyuCredDHgFVONrOCOc4 znjHJ61qW06X
Vuk8edrjIz/nBHuMg9QSKzhVjPRblyg46sZvvP8AnhB/3+P/AMRRvvP+eEH/ AH+P/wARTroX
JtZPsjRLcY+QyglM++CD/nv0rNFzqEuyO3vrN7kkebC1kymAd9/7049uu7qP lyw1sQWrlrkx
oJIolXzY8lZST99e20Vj6hby3Gr3KxRPIw2nCKScbV9K3r3/AFC/9dYv/Q1q PSv+Rnvf+uQ/
klb4aXLPm8iKqurGB/Zd7/z53H/fpv8ACj+y73/nzuP+/Tf4V6FRXZ9cl2Mf YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wqWC 11S2JMEF0meo
ERIP4EYrvaKmWJ51aUbjVG2qZycd5qqriXTJJD6qjL/Q0/7dqH/QIm/8e/8A ia6miuZqn/L+
Jr73c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/ 0CJv/Hv/AImj
7dqH/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x 7/4mupootT7f
iHvdzlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8A QIm/8e/+Jo+3
ah/0CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/ +JrqaKLU+34h
73c5b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0C Jv8Ax7/4mj7d
qH/QIm/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A 4mupootT7fiH
vdzlvt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib /wAe/wDiaPt2
of8AQIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJ rqaKLU+34h73
c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv /Hv/AImj7dqH
/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4m upootT7fiHvd
zlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/ 8e/+Jo+3ah/0
CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+Jrq aKLU+34h73c5
b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8A x7/4mj7dqH/Q
Im/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mup ootT7fiHvdzl
vt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe /wDiaPt2of8A
QIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaK LU+34h73c5b7
dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv/Hv/ AImj7dqH/QIm
/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4mupoo tT7fiHvdzlvt
2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/8e/+ Jo+3ah/0CJv/
AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+JrqaKLU +34h73c5b7dq
H/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8Ax7/4 mj7dqH/QIm/8
e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mupootT 7fiHvdzlvt2o
f9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe/wDi aPt2of8AQIm/
8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaKLU+3 4h73c5VtQv0U
s2kyqoGSSWAA/wC+ajeTzfDN5JjG+KdsZzjJaul1H/kGXf8A1xf/ANBNcun/ ACKdz/1wm/8A
ZqfLG8Wl1Fd6pjfhr/yBL/8A6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrbF/x pBD4UZFFReeP
+eN1/wCA0n/xNHnj/njdf+A0n/xNcFmaktFReeP+eN1/4DSf/E0eeP8Anjdf +A0n/wATRZgS
0VF54/543X/gNJ/8TR54/wCeN1/4DSf/ABNFmBLRUXnj/njdf+A0n/xNHnj/ AJ43X/gNJ/8A
E0WYEtFReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATRZgS0VF54/543X/gNJ/8 TR54/wCeN1/4
DSf/ABNFmBLUZdrdmkHKtjce6/8A1v5c/gnnj/njdf8AgNJ/8TR54/543X/g NJ/8TQroQ3zr
m5tsFI1WVOfnJwCPpU9ReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATTd2AqPcw qUj8spuJBLEH
k59PemJcS3saFgFUYYkc8+gP6E/h9HeeP+eN1/4DSf8AxNHnj/njdf8AgNJ/ 8TRdgS1mXq3S
IpRN0SSF3XAIcFgfUHgZPQ8/QGr3nj/njdf+A0n/AMTR54/543X/AIDSf/E0 JtA9TO02SWeV
t2FRZCypwNo5HHJPOQewzn8dKf8A1Y/31/8AQhUaNFGcpaTqemRaOP8A2Wle UOoHk3Q5B/49
pOxz/doldsFoT1labDqksMw065tbZkkVZRdWryEnyoxxh0x0Prnj8dDzx/zx uv8AwGk/+Jqv
JBZzSGSXTndz1ZrJyT+O2rpzcL6EThzDvKv4r+2Goz200pimKtbwtEu3MXBB duevOfwqy6JL
G0ciq6MCrKwyCD1BFVYYrW3cvDYSRMRglLN1OPwWp/PH/PG6/wDAaT/4mpm+ Z3KiuVWOce7l
sbW/jWK4j8wsxmmExMXyhQdyxEHAUc7j0zuPWtuyd45ZLQzNcrEP9cRgrnor 9i2MHI/EDI3S
TmK5t5IJbe6aORSjr9nkGQRgjpRCYreFYore6VF/6d5CSepJJGSSeSTyTXJC hOM076G8qkZR
21LNFReeP+eN1/4DSf8AxNHnj/njdf8AgNJ/8TXTZmQy9/1C/wDXWL/0Naj0 r/kZ73/rkP5J
S3Um+AfJKuJYv9ZEyfxr0yBmk0r/AJGe9/65D+SVrR3foRPoa+r3clho19eR BTJb28kqBhwS
qkjPtxXP6N4Z02+8M2k90sk19dwR3D37vm4WQqpBWQ8jbgYHTjnPOeqlijmi eKVFkjdSrowy
GB6gjuK5+Dw9qVnpx0u112RbEYVGeHdcRx8ZVZAwA74O0lc8dBXTTmlGydnc ynG8r2ujL8J+
Jb+6GiW1+I/JvLKQRTfMXlmicqQTk/wAMSRySee1C+NZ5ILdibKBb+9mSzu5 8rCLaMjLuCwO
48gD5cn076moeEoLjQ7LT7C6ksJrHH2e6iUb14w2SMH5gSTgjJ59qlk8MQR2 ulpp8v2W40vi
2mMYcEEYcOowG3DOSMHPII77OdBvmtvf9bfp+Jmo1Urf10/4Jhah44nsLfU4 op9Ov7i3gjuI
Li2yYmQyKjK67yQwLZ4Y5BHTodHUdX8Q6NbG+1GLSxZi7iVzAZHMUDMQxOcZ YZQDA9eKn1bw
/qWt6ZeWV7rEYSdEVFhtNqIVcMWILliTgD7wA9DWxqNhBqmnXFjcruhnQo3A JHoRkEZB5B7E
Cpc6Stot9fTT08ylGo76+n4mBrOsTS3Ov6ekEE1lZaU8lxuDA+cykqhIIypQ Z4/MGqsPiVbW
30PTIZbDTjJpsV1JNdk+UibQqogLgs2fVuAO5rR0/wAK/Y9A1Gwlv5Lq81BH We9lXLnK7F75
IUdAT69M06Pw3JaNptzY3qxXtnaLZPJJDvSaIDoU3Ag7gGBB9jkU1Kily/1t v94uWpv/AFuZ
MnjWeKxvplNlc/2ZdQi6mt8tHNbyHAMQ3cOOAQSQCDyatN42ii12/tpYP9Bt 0mEUyEl5JYVD
yptPTAbgnA+U8nPGpcaPdahpeo2epX8dx9rQpGFtgscHy4BCkkk7vmyW6gYx WXd+BoLjw5Dp
qXskd5G7Stf7AZJHfIk3dCQwOCM9AuScctSw7+L9ey1+/wDMTVVbG3oN3d3+ g2V5fCAXFxEJ
SIAdoDcr15ztIz75rRpsUUcMSRRIscaKFRFGAoHQAdhTq5JNNto6ErKzCiii pGFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5B l3/1xf8A9BNc
un/Ip3P/AFwm/wDZq6jUf+QZd/8AXF//AEE1y6f8inc/9cJv/ZqtbR9Ser9B vw1/5Al//wBf
7f8AouOuzrjPhr/yBL//AK/2/wDRcddnWuL/AI0gh8KKuoXEltaeZFt3mSOM FxkDc4XOMjOM
561zOmeNrHVb+e1sdb0u9kt7iOFo4ACZFby8yIRK2VHmhc4+8pFdPf2hvbNo Fl8piysr7c4K
sGHH1FYlr4Vlt76S5bUA3nXKXM4EJHmOoRQeWOOI0HA7etYpgzS1q8urGyjm tTCCZ443Mqls
K7BMgAjJyy9+mayZdbsreYiPXLOOdSVkE82/J7grvAHPpjH04rW16wuNT0aa 2tJY47ndHLE0
oJTcjq4DY5wSuCR0z3rmINB8UW6EBNMZmO53a8k3O3qf3P09gAAMAAUlQ9q7 uVrDdRwWkbm5
oOuf2peXsDXthP5JUR/ZzhmG0Fm27m+XLAZB6g1mXfjr7JrGu6a+nfvrHy47 D9//AMf8zLD+
7+7+6w9zbpuYkfvM9FbG3o2kvYp9ovHWa/dcMy/djXrsTPbgZPViMnACqrLf w9bx6rd387ed
JLqAv4Bgr5L/AGVbY9D83yhuv9/pkA05JJ2TuCbau1Yr6N4u07VfD1rqzt9n 837LHLFhn8qa
4SJkjztG7/XxjcBjnnGDjL07x8osNPv/ABDbWmk2mo2SX1tMl20yqjPCmJSY 02HdcRcjcPvE
lQMmTR/CP9naxo/mL5kOj6Vb2yXWcfaZkWSNW2bvk8tHl45DfafWMVJp/gLT dK8MWWk2Udpb
zwvYvc3cNoqNdNbSJJlwDklih5JON5PPeRmoPFGkm8htTNOskuwZe0lVI2cA pHI5XbHIdy4R
yrfOoxlhmnb+N9HktUnmmkQM8u7ZbTsIESV498+YwYBlGyZAoBV8EhS1F14X muNUuJFv400+
7vbfULmA25Mpmh8rZsk3gKn7iLIKMT8+GGRt5+P4dDUB9tvodNW4uXnM0d9p 8d48ET3M86CI
ltkcoE5DEiRCVXAIX5gDoNW8aafpsU7QxXd2be4hglMVrMY/nnSFgkgQrI6l zlFJbKlcAg46
CCZbm3inQSBJEDqJI2RgCM8qwBU+xAI71zb+Frw211Yx6nAtg12b+2RrQmWO 4+0i5Bd/MAeP
zMjaFU7SBuyNx6SATLbxLcSRyThAJHjQorNjkhSSQM9snHqaAJKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAy9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKv63 /qIf+usf/oa1
Q0r/AJGe9/65D+SUU/ifoKWyOjooqneM7SxQhmVGVmYqSCcYwMjp1/SnFXdg bsi5RWZ9nX/n
rcf9/wB/8aPs6/8APW4/7/v/AI1fIu5POadFZn2df+etx/3/AH/xo+zr/wA9 bj/v+/8AjRyL
uHOadFZn2df+etx/3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8A f/Gqcl7pkWpx
aZJqipqEyb4rVr0iV155CbskfK3IHY+lHIu4cxv0VmfZ1/563H/f9/8AGj7O v/PW4/7/AL/4
0ci7hzmnRWZ9nX/nrcf9/wB/8aPs6/8APW4/7/v/AI0ci7hzmnRWZ9nX/nrc f9/3/wAaPs6/
89bj/v8Av/jRyLuHOadFZn2df+etx/3/AH/xo+zr/wA9bj/v+/8AjRyLuHOa dFZn2df+etx/
3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8Af/Gp7Mus0sRdmRVV l3MSRktnk/Sk
4WVxqV2XKKKKgoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHVW5XM8R9FY fqKtU1kDMCew
NOLs7g1dHzhZ281iL7QbeLw14onvNN1Ro9W0pTPqCsY3IedxuOXMnlgZ5LAb jj5t7R9Y1drD
4f6J4e8VIRqVlPFcyPBBcC2eO1jYR7VCkFCSQGOckbtw4r3HYKNgp3FY8Vm8 da3b6mNMn1RI
tQPjVbEWrxxrKdObG35CM7DkYkxk5HzVk+GtV1Tw/wDB62TTNdtYdTt73ybv T766treS0Xzp
S0aGRcJI4Un97u4DFRwBX0BsFGwUcwWPML3xVrKfBF/E2mxXzak1qJVN7CjS oDJhn2oqqVVS
WVtoBUKxHWq+q+JXtL3w9bWfjTztFvbq5S+1vdaN5DJCGjh8wR+Uu45OGUse xxXq+wUbBT5g
5TwKx8a+MNTslludUn0+WHwlPq+2K1hHnSxzOiOwkRvldArELgHORgGsm+1i 9udK+IHiEmAT
z2GhzSW7W8csBeVIiSUkVs45Ayf4snJAI+k9go2ClcLHiV54212PxMttJrX2 W5Pi2PSxpPlQ
jNgQuJdrKZfmyPn3Y+bjHFZi/EfxEND0GJ9YQaybLWX1SAwxCWKWCORofMj2 5jIK5xgZxzmv
aLrwrpN9q8Op3cM9xcQSrPCk11K8McirtV1hLeWGAJwQuQeevNbGwUcwWPIZ vE2u2XhHw1Nq
Gs4utc2TjUMQ2Vtap9mVvLkkeOVdzMCw+UbiTjaF21geDdcvde8b+Gte1rU/ 7PlvdBa3E6rH
Gl7LHesvkjepBZhtJVMNzxtBxXvuwUbBT5gsfOei+NdatfCGnhtUg0W2Gg31 9bSwWtvAl1eJ
cuqwgMmw4UKdqAMd2STkVp6h458XQWXifVpb6S0m0a30mZdNNrGIt9wiGaOQ MpkxktwHBHrX
vOwUbBS5gsVNp9KNp9Kt7BRsFVzi5SptPpRtPpVvYKNgo5w5SptPpT7ZcTyn 1VR+pqxsFCoF
YkdwKTldWGo2Y6iiioKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD OT8V6bHda74c
LXWpQi6vWtpltdRngV4xbXEgBWN1GdyKd3XgDOOK5+38Ral4U0S71GUWl5p8 mp6wIrVYmilR
o3u58tLuYMD5LLgIMbwcnbhvSJIIZnheWKN3hffEzKCUbaVyvodrMMjsSO9R rYWaeXttIF8q
V548RgbJH3bnHox3vk9Tub1NAGH4X1XXL24vbPXbKO3ngSKWNgIo2ZXLjmJJ 5iAChwxYbskA
fISce38W69JYWN6Le0uRqOmf2vBbW9u/mxQo8BkhHznzpTHOQhAQb0GRhvl6 CP8Asrw1cWmj
6To0cT3rtN9nsIY4lVFKLJM2Sowu+MHGWORgHBxc0zT9Lt/Nv9O06C0kv8TT utr5EkpOSDIC
A275j97kEnPOaAOTvfFuv3FxbxaJp8c6Xr3M1pIsKyk20Jij3lXniUh3kZ1d XIMew7TuJWTT
/FPiDUrDVdShsbH7PY/Z3Ftbs1zNMGgt55URkO12CSSKhGQ7Mn3QpL9RdaFo 99p0GnXmlWNx
YwbfJtprdHjj2jau1SMDAJAx0FXI4IYXmeKKNHmffKyqAXbaFy3qdqqMnsAO 1AHn+qeM9Sgu
4ryzs454LpJ49NVWbMi/aLO3SQqZFjcM8sjqcjdGUw6bmNSL4v8AEseLO40u BL9/PtosopDX
X+jmHekc0nlrtmld13s3lwtIMDiuos10LU9O0/7NZQTWNzp5Fr/oZ8v7KwTM fK4VWGz5DjIX
odpxcttJ02yt7a3tNPtIILVy9vHFCqrCxDAlABhSQ7gkf3j6mgDn7fxfNL4X 8Q+IG0+RbfT0
eW2glUxO6pbJI6OfmAdZTLG2PulCCMqaw/EMusajrWneFr+fSriRruGZ5HsH NtNG8F4RHJbm
U79rWwYHfjJU4ynPokMENshSCKOJC7OVRQoLMxZjx3LEknuSTVOx0LR9Miji sNKsbSOOUzok
FukYWQqULgAcMVJXPXBx0oAy9Vk1I+OtCt7K9jggayu5bmOWNpFlVZbUcAOo D4YgMd2Mng5r
j9G8S614c8EeHLdo7TUHvdHtmsVhgMTRHfawKr7pcSn/AElT1iHyEZG7K+mX VhZ33kfbLSC4
8iVZ4fOjD+XIv3XXPRhk4I5FRnSdNa3S3bT7QwJbtapGYV2rCwAaMDGAhCqC vQ7R6UAY+jXu
uazoOp2955ematE72yTqkTmNjGrJI0SyyBSN4+QuchQ3AYAcuW1Sw13TNHtJ ZNO1R72OSUz6
ndapbvC9tebQRK0bZ3QuSowMiNstjA9Ah0nTbbSzpcGn2kWnlGQ2iQqsRVs7 hsAxg5ORjnJq
vH4a0GHS5tLi0TTU0+Z98totqgiduOWTGCflXkjsPSgDD0/xJrFxeWRuY7Fb W71u702NY1cv
5cIujvJJwGJgQYwRwxz84VM/Stc8Qaj4k1y5tvInjs7R1XTcMvnvHdX0UYRy +2Jm8mPcxVs8
fdAFdpPpOm3VhLYXGn2k1nK5eS3khVo3YvvJKkYJLfNn1561XHhrQRb29uNE 03yLdJUgj+yp
tiWQESBRjADAkMB1zzmgCv4X1S51Oyuft08cl5bXBgnjWxe1MD7EbYytI4Yg MDvVipBGCRyd
yq9jYWemWcdnYWkFpax52QwRiNFySThRwMkk/jVigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigCtqP/IMu/8Ari//AKCa5dP+RTuf+uE3/s1dRqP/ACDL v/ri/wD6Ca5d
P+RTuf8ArhN/7NVraPqT1foN+Gv/ACBL/wD6/wBv/RcddnXGfDX/AJAl/wD9 f7f+i467OtcX
/GkEPhQUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAZet/6iH/AK6x/wDoa1Q0r/kZ73/rkP5JV/W/9RD/ANdY /wD0NaoaV/yM
97/1yH8kop/E/QUtkdHRRRQM5fUtLMnjKC/u9E/ta18qBLV8Qv8A2fKskheX EjAruDRcx7mP
lcjhc8mngzULizsbSTQo4zElrFrEkhhK6vKt1bO85wxMoCxXDZlCufNwASzA eqUUAcHYeDhD
43E0uj2g0Wye4fTkKRmO2ZksSpjT+A+ZHcHIA53H+IE8nFpi6T/YOjarpUFz 4hMukSWkolt5
JrOCL7MsqAF/NChobhj5asmGZifv49oooA8rl8Ma5e2fh3SJdHu4o9IsoLKe 6W6iRZtt1Ysz
xMknmAbLeVgSEbgcBjitDXPDeov4q0+5sNLkjSzuLOOznsYrOOKGzR0MqSO+ J1OPOG2I7ChU
YOXB9EooA8rtvBmoWmk6PZWuhR2wsLJrfUFjMKrqDCayaQjDfOJo4Jl/ebc9 H2g1oad4KivP
EEM+peG7SPQ1S7a2066jhkWyLizVVEalkUs0Vw/yEj5ySQzEV6JRQBl+Gob6 28K6RBqhkOoR
2UKXRkk3sZQgD5bJ3HdnnJzWpRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/1xf8A9BNcun/Ip3P/AFwm/wDZ q6jUf+QZd/8A
XF//AEE1y6f8inc/9cJv/ZqtbR9Ser9Bvw1/5Al//wBf7f8AouOuzrjPhr/y BL//AK/2/wDR
cddnWuL/AI0gh8KCiiiucoKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigDL1v/UQ/9dY//Q1qhpX/ACM97/1yH8kq/rf+ oh/66x/+hrVD
Sv8AkZ73/rkP5JRT+J+gpbI6OiiigZn6nDFcTadFNGkkbXJyjqCD+6k7Gn/2 Ppn/AEDrP/vw
v+FF9/x96b/18n/0VJV2qu0kTZXKX9j6Z/0DrP8A78L/AIUf2Ppn/QOs/wDv wv8AhV2ildjs
jHu4dCsbi0gnsbNZLqTy4x5C8nH0+g+pFW/7H0z/AKB1n/34X/CuU1rRb5NT iBle/wDtr+XH
LLwYD1wccYwC3ygfdrrdNtJrGySCe8lu5F6yygZP+fck+9RGcm2mZwbcmmjN 83wp/bH9keZo
v9p/8+W6Lzvu7vufe+7z06c1cn07RrW3luLizsIYIkLySSRIqooGSSSMAAc5 rkNRWe4k8ZaJ
DZX39oaldq+nz/Y5RCjfZLdUm8/bsXy5ELZDbgY/lBbaDj+KIfEWp6rqdnZx XyyX8V7ZyWP2
e6aHyvsswifz3c2w3usLfIqsC+0tkPuu7NLI9L/sfTP+gdZ/9+F/wqnqS+Gt Gt1uNUGk2MDO
EWS6EcSlsE4BbAzgE49jXEeKrjUI9Hgbw9/bkC21pLNYSSW2o3M1xcbm/dyL vBXaVTBuFdGE
mANqsD1nigWkVxZXb3Ws2d4iSxxXOl2D3TCNihdGAilUAlYzkgH5eDjcCXYW Rpwado11bxXF
vZ2E0EqB45I4kZXUjIIIGCCOc1J/Y+mf9A6z/wC/C/4VxEUniGa/gl1GHUoN ee4smiitjMbJ
LcpB9qVtpMGQftYHmEv93aT+7rPluPEN3Z+HdMhk8QW99aWUFvqc628wxP8A arFXbzHUxykK
Lg7hvUrvJypOS7CyPR/7H0z/AKB1n/34X/Cj+x9M/wCgdZ/9+F/wrkL6HULa 81mC1OsnVo7d
00AiS4e3KC1UL5jEmFn87zeZyWJ2542VjxxatDo1yRq+sy2f2iEiI6XqUbTE LIXjDmSS6jB/
dEyAeWu0ABy0ikuwsj0f+x9M/wCgdZ/9+F/wo/sfTP8AoHWf/fhf8KXSRMNG sRcW0ltP9nj8
yCS4M7RNtGVMhJLkHjd3xnvVyi7CyKX9j6Z/0DrP/vwv+FH9j6Z/0DrP/vwv +FXaKLsLIz9M
hit5tRihjSONbkYRFAA/dR9hWhVKx/4+9S/6+R/6Kjq7Q9wQUUUUhhRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGX f/XF/wD0E1y6
f8inc/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/ AG/9Fx12da4v
+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooA
KKKKACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8A rrH/AOhrVDSv
+Rnvf+uQ/klFP4n6Clsjo6KKKBlK+/4+9N/6+T/6Kkq1LLHBG0ksixxryzOc AfjXIeLvEbWe
oW9jZFRcw/vpJThhHuVlAA/vYbdzx04OeMQ+IdSuUCTanIyhlfHlRjlSCP4f UCuuGEqTipbG
Mq0Yto9Cj1XTppFjiv7V3Y4VVmUkn2Gat15odXvG8zfqVw/mSrMQwUgMu3G0 EfKPlBwMDOTj
JOZz4l1L/oJy/wDfmP8A+JqvqU+jX4/5ErERO+mu4LeWCOaVUed9kYP8TYJx +Q/zmpq8svr1
9SuIZ7q+neWDmJgFXYcg5GAMHIHPtV7/AISbUv8AoKS/9+Y//iaPqNTuvx/y D6xE9ForyJor
GTWJNXlhtptSklSY3U1lDJIrqqqpVmQlcBFxjHIz1JNbH/CTal/0FJf+/Mf/ AMTS+o1O6/H/
ACH9Yiei0V51/wAJNqX/AEFJf+/Mf/xNZ+rXK69FBFq0q3sMEvnRxT28Tpv2 suSpXDcO3UH1
6gGj6jU7r8f8g+sRPVaK8ysdYudNs47S01CWK3jyI4xGhCAknauV4UZwFHCg AAAACrH/AAk2
pf8AQUl/78x//E0fUandfj/kH1iJ6LRXnX/CTal/0FJf+/Mf/wATR/wk2pf9 BSX/AL8x/wDx
NH1Gp3X4/wCQfWInotFedf8ACTal/wBBSX/vzH/8TR/wk2pf9BSX/vzH/wDE 0fUandfj/kH1
iJ6LRXnX/CTal/0FJf8AvzH/APE0f8JNqX/QUl/78x//ABNH1Gp3X4/5B9Yi dxY/8fepf9fI
/wDRUdXa83TxBfRvK6alKGlbe58qPk4A/u+gFP8A+Em1L/oKS/8AfmP/AOJp vBVO6/H/ACEs
RE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AIml9Rqd1+P+Q/rE T0WivOv+Em1L
/oKS/wDfmP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6 Ckv/AH5j/wDi
aP8AhJtS/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj /hJtS/6Ckv8A
35j/APiaPqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+Y//iaP+Em1L/oKS/8A fmP/AOJo+o1O
6/H/ACD6xE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AImj6jU7 r8f8g+sRPRaK
86/4SbUv+gpL/wB+Y/8A4mj/AISbUv8AoKS/9+Y//iaPqNTuvx/yD6xE9For zr/hJtS/6Ckv
/fmP/wCJo/4SbUv+gpL/AN+Y/wD4mj6jU7r8f8g+sRPRaK86/wCEm1L/AKCk v/fmP/4mj/hJ
tS/6Ckv/AH5j/wDiaPqNTuvx/wAg+sRPRaK86/4SbUv+gpL/AN+Y/wD4mj/h JtS/6Ckv/fmP
/wCJo+o1O6/H/IPrET0WivOv+Em1L/oKS/8AfmP/AOJo/wCEm1L/AKCkv/fm P/4mj6jU7r8f
8g+sRPRaK86/4SbUv+gpL/35j/8AiaP+Em1L/oKS/wDfmP8A+Jo+o1O6/H/I PrET0WivOv8A
hJtS/wCgpL/35j/+Jo/4SbUv+gpL/wB+Y/8A4mj6jU7r8f8AIPrET0WivOv+ Em1L/oKS/wDf
mP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6Ckv/AH5j /wDiaP8AhJtS
/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj/hJtS/6C kv8A35j/APia
PqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+o//iaa3ijUh/zFJf8AvzH/APE0 /qNTuvx/yD6x
E9HorzU+KtS/6Ckv/fmL/wCJph8Xaojqy6kzbSDteGPDexwoOPoQaPqFTuvx /wAg9vHsem0V
ieGPEC6/pzSMqx3ULbJkU8ZxwwGchT2z3BHOMnbrknBwk4y3RsndXCiiipGF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAVtR/5
Bl3/ANcX/wDQTXLp/wAinc/9cJv/AGauo1H/AJBl3/1xf/0E1y6f8inc/wDX Cb/2arW0fUnq
/Qb8Nf8AkCX/AP1/t/6Ljrs64z4a/wDIEv8A/r/b/wBFx12da4v+NIIfCgoo ornKCiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAy9b/1
EP8A11j/APQ1qhpX/Iz3v/XIfySr+t/6iH/rrH/6GtUNK/5Ge9/65D+SUU/i foKWyOjooooG
eM+P73+z/EWsXRGdnl44yNxjQDPtkivO1vWuZPNnAnc95Bn3wPQe1dz8VVzd 66f9u3/lFXJ+
E9ITV9Tjt5mZYVXzJNg+YqMDA/EivtMucKeF9rLol+SPEx0JVKipx3Y1LuJR xaW3/fsU5tQj
H/Lpbf8AfoV0GvaFb21w6afply0YHDKsjZrkJ4ZoXKzQSwt/dlQqceuDXXhs XRxDtFa+Zw18
FVoK8ndeRcOpRf8APnbf9+hR/aUX/Pnbf9+hWjr3haPQ7t9Ne7uJNVUwhLf7 E+y58wc+S4J3
bW4yyrk5xyMVW1LwlrOm67No/wBjmurqJBJ/osTuGQgfMvygkAnBOMZBFaQx FCaTT317afP1
M5YapHdFf+0ov+fO2/79Cj+0ov8Anztv+/Qqv/ZWo/8APhdf6/7L/qW/13/P Pp9//Z61dm8L
6pb+Hm1qa2eO3S6Nq6NG4dWHViMYC7htyT97jrWjqUo2u1roSqUnsmRf2lF/ z523/foUf2lF
/wA+dt/36FVLzT7zTphDfWc9rKy7gk8RRiOmcEdOD+VP/srUf7P/ALQ+wXX2 L/n58lvL67fv
Yx14+tVeFk+5Ps3sWP7Si/587b/v0KP7Si/587b/AL9Cq8+laja2cV5cWF1D ay48uaSFlR8j
IwxGDkc099F1WNY2fTLxVkm8hC0DANJkjYOOWyCMdcg0c1Puh+zfmS/2lF/z 523/AH6FH9pR
f8+dt/36FbGp+DDpV3qFrPJqLSWFkbmWWLTXeF3KgqiMrE7T843sqgFD74wp NF1WGxF9Lpl4
loVVhcNAwjwcYO7GMHIx9ayp4ijVV4v9PzLnh6kPiRL/AGlF/wA+dt/36FH9 pRf8+dt/36FV
7LStR1PzPsFhdXfl43+RC0m3OcZwOM4P5VZ0LQrzXtShtraCdommjjmnihMi wBjjc2Og6nkj
oa0lOnFNye25CpSbSXUT+0ov+fO2/wC/Qo/tKL/nztv+/QrTbwdO8621s11J cyatJp0O6xkE
TKhYGYyjKgZRsryQAT2NZ8vhnWU1O90+LTbq5ns5DHL5EDsBycHpnDAZBI5H NZwxFCezRcsN
UjumM/tKL/nztv8Av0KP7Si/587b/v0KrwaVqN1Zy3lvYXU1rFnzJo4WZEwM nLAYGBzVStly
vRGbg0af9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFPlQuU0/7Ti/587b/v0KP7 Ti/587b/AL9C
szFGKOVBymn/AGnF/wA+dt/36FH9pxf8+dt/36FZmKMUcqDlNP8AtOL/AJ87 b/v0KP7Ti/58
7b/v0KzMUYo5UHKaf9pxf8+dt/36FH9pxf8APnbf9+hWZijFHKg5TT/tOL/n ztv+/Qo/tOL/
AJ87b/v0KzMUYo5UHKaf9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFHKg5TT/tO L/nztv8Av0KP
7Ti/587b/v0KzMUYo5UHKaX9pRf8+lr/AN+hR/aUX/Ppa/8AfoVmY9qMe1HK h8pp/wBpRf8A
Ppa/9+hR/aUX/Ppa/wDfoVmY9qMe1HKg5TT/ALSi/wCfS1/79Cj+0ov+fS1/ 79CszHtRj2o5
UHKaf9pRf8+lr/36FH9pRf8APpa/9+hWZj2ox7UcqDlNP+0ov+fS1/79Cj+0 ov8An0tf+/Qr
Mx7UY9qOVBymn/aUX/Ppa/8AfoUf2lF/z6Wv/foVmY9qMe1HKg5TT/tKL/n0 tf8Av0KP7Si/
59LX/v0KzMe1GPajlQcpp/2lF/z6Wv8A36FH9pxf8+lt/wB+hWZj2oI9qOVB ymtDdm7uI7e2
0+GSaRgqIkIJY1rP4e1kHnTtJHsbu2H/ALPVDwWxXxRE3TFtdH/yXkr0q2to 9agmignC6mvz
RQvgLKoHIB/vf59SPm85zitga8aVKKd1fW/d+a7H0GU5PRxdKVWrJpJ20PP3 0DVhybDRx/2+
2v8A8crA1C8vdEvjHLbrb3CYYqhGyQdj8pwwIPBGfavStU01dM0VZdSmaPUr ghoLRVGVj7tJ
6Z7D/wCvt858aD9xomB/y4t/6Uz1hlGeV8diHh60Ela+l/8ANnZmGSUMHRWI ozb962v6HsHw
nnW6TU7hM7JY7d13dcEORXpFeX/BkY0q497S0P8A469eoV5WO/3iXy/IuHwo KKKK5CgooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACii
igCtqP8AyDLv/ri//oJrl0/5FO5/64Tf+zV1Go/8gy7/AOuL/wDoJrl0/wCR Tuf+uE3/ALNV
raPqT1foN+Gv/IEv/wDr/b/0XHXZ1xnw1/5Al/8A9f7f+i467OtcX/GkEPhQ UUUVzlBRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAZet
/wCoh/66x/8Aoa1Q0r/kZ73/AK5D+SVf1v8A1EP/AF1j/wDQ1qhpX/Iz3v8A 1yH8kop/E/QU
tkdHRRRQM8R+KJH2vXQe72/8oq5Hw7fjTLvzXTdHJGY3+UHg45weDyBXV/FP /j+1v/rpb/yi
rm9M8JeJNRsY7uy0zzbd8hX8+Nc4JB4LZ6g19rgZUVgUq7ST01duiPExiq+3 UqSu1qV9ZvdS
acrZfYbiM8hzZxDH1DJ/jVNYZjEPP8kyfxGGFYx+SgD8a6QeCvFoH/IG/wDJ mL/4qj/hCvFn
/QGP/gTF/wDFVeHnl9B80aqv5tHNiHja6tKFl5Jk+razp7+Dzoz3h1a5hkh/ s2RrSSOW1Q4M
qyMfl2hRtAVn5x2A2z6jr2lTeI/GOqJcMU1XRXhgUQSbxK0UaCNvlxnKHkEq M9az/wDhCPFv
/QHP/gTF/wDFUf8ACEeLf+gOf/AmL/4qoawDvesuvWPW1/xV/v7lxli42tT7 d+n/AA5b0TV7
CLSbCHUL5oZ7bxCmqyySxyymZdhDYKKxLbufmwOetMuNdsZ9NuBDdSQTJ4qf VoHNszF42LhW
VSMbhkNh9ox3zxVf/hCPFv8A0Bz/AOBMX/xVH/CEeLf+gOf/AAJi/wDiqGsv dRz9svS6t0/y
BSxigo+zfrr5/wCZH4svtP1G9txYXE1w6m4kuHTzo7UPJMWBjjlJKswOXx8u cYqbXNQsL2C0
uodVuraaHQ4dOa1t4ZfNmdXYMhcYQRnIJJfoOVzxTf8AhCPFv/QHP/gTF/8A FUf8IR4t/wCg
Of8AwJi/+Kq1LAqEYqsvdv1j1Jf1pylL2b19TQ8S+IdLu08UyWc7yz67LYGK JIJFaFYgpfzG
ZQn8JHys2SfrS+IvEWmXzeNza3EjnU59PW0PkyDzFi2eZ1XgDDdcA9s5rO/4 Qjxb/wBAc/8A
gTF/8VR/whHi3/oDn/wJi/8AiqxhTy+NrVlp/eXTl/8AkV+Jo6mMe9P8H5/5 mhqOv6VN4p8c
6jHM7QajpUlpauIHzLIYYlCgbc43KwyRj3rR8WJJeXXiyz0827XUq291qrzC aJvLtgmTGjRB
VGcHmV8rkjOeOe/4Qjxb/wBAc/8AgTF/8VU1z4U8dXlp9kuba+ltMKPsz6mD
Re: How to use Progress Monitor with JET2 Transformation [message #591949 is a reply to message #52534] Mon, 25 September 2006 17:42 Go to previous message
Paul Elder is currently offline Paul ElderFriend
Messages: 849
Registered: July 2009
Senior Member
Kamesh:

Take a look at the performFinish() method of

org.eclipse.jet.ui.newproject.NewProjectWizard
It does exactly what you want. (JET create's its new projects by running a
JET transformation, of course!).

Paul

"Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
news:ef8tke$q98$1@utils.eclipse.org...
> hi ,
>
> I am calling the Jet2Transformation from my Editor via an Action class , I
> need to use the progress monitor to show the progress. How should do that
> ? What are the considerations that I need to take in mind to make my
> progress service more appropriate .
>
> I have an confusion here because , when I create a progress monitor using
> ProgressMonitorDialog ( something typical as that of doSave methods), the
> operation that am running should implement IRunnable , but where in the
> JET2Platform.runTransFormXXX() methods are not impementing IRunnable ..
>
> Please advice me on the same.
>
> Thanks.
>
> Kamesh
Re: How to use Progress Monitor with JET2 Transformation [message #592026 is a reply to message #52643] Tue, 26 September 2006 05:49 Go to previous message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Paul,

thanks for the info . I am able to club the ProgresMonitor with the JET2
Transform.

I face one more problem , I am trying to simulate an erroneous condition ,
want to display the error dialog , i tried something similar to that of
Jet New Project Wizard but am getting an Invalid Thread Access error when
i try to open the dialog ? What could be the problem ??

Kamesh
Re: How to use Progress Monitor with JET2 Transformation [message #592088 is a reply to message #52856] Tue, 26 September 2006 12:19 Go to previous message
Paul Elder is currently offline Paul ElderFriend
Messages: 849
Registered: July 2009
Senior Member
Kamesh:

You are not running on the UI thread. You must use Display.syncExec() or
Display.asyncExec() to display GUI. See the following Eclipse FAQ for
details:

http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F

I find the Eclipse FAQ (http://wiki.eclipse.org/index.php/Eclipse_FAQs),
very useful in answering this kind of question. You can get them in book
form, too - see the bottom link on the FAQ main page.

Paul

"Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
> Paul,
>
> thanks for the info . I am able to club the ProgresMonitor with the JET2
> Transform.
>
> I face one more problem , I am trying to simulate an erroneous condition ,
> want to display the error dialog , i tried something similar to that of
> Jet New Project Wizard but am getting an Invalid Thread Access error when
> i try to open the dialog ? What could be the problem ??
>
> Kamesh
>
>
Re: How to use Progress Monitor with JET2 Transformation [message #592094 is a reply to message #53016] Tue, 26 September 2006 14:20 Go to previous message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Paul,

I have a small ambiguity in this .. When i run the transformation from
an action class (IEditorAction) , i will not be getting the display
right . then how can i call Display.aSyncExec() , i tried a round about
way of achieveing this by declaring a member variable status and
accessing the same after the run is through .. but i guess thats not the
right way .. Any insight in to this ?

Kamesh

Paul Elder wrote:
> Kamesh:
>
> You are not running on the UI thread. You must use Display.syncExec() or
> Display.asyncExec() to display GUI. See the following Eclipse FAQ for
> details:
>
> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>
> I find the Eclipse FAQ (http://wiki.eclipse.org/index.php/Eclipse_FAQs),
> very useful in answering this kind of question. You can get them in book
> form, too - see the bottom link on the FAQ main page.
>
> Paul
>
> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>
>> Paul,
>>
>> thanks for the info . I am able to club the ProgresMonitor with the JET2
>> Transform.
>>
>> I face one more problem , I am trying to simulate an erroneous condition ,
>> want to display the error dialog , i tried something similar to that of
>> Jet New Project Wizard but am getting an Invalid Thread Access error when
>> i try to open the dialog ? What could be the problem ??
>>
>> Kamesh
>>
>>
>>
>
>
>
Re: How to use Progress Monitor with JET2 Transformation [message #592110 is a reply to message #53038] Tue, 26 September 2006 14:58 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33252
Registered: July 2009
Senior Member
Kamesh,

If you have an IEditorPart you can do
getEditorSite().getShell().getDisplay(). Another way is
PlatformUI.getWorkbench().getDisplay().


Kamesh Sampath wrote:
> Paul,
>
> I have a small ambiguity in this .. When i run the transformation
> from an action class (IEditorAction) , i will not be getting the
> display right . then how can i call Display.aSyncExec() , i tried a
> round about way of achieveing this by declaring a member variable
> status and accessing the same after the run is through .. but i guess
> thats not the right way .. Any insight in to this ?
>
> Kamesh
>
> Paul Elder wrote:
>> Kamesh:
>>
>> You are not running on the UI thread. You must use Display.syncExec()
>> or Display.asyncExec() to display GUI. See the following Eclipse FAQ
>> for details:
>>
>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>
>>
>> I find the Eclipse FAQ
>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>> answering this kind of question. You can get them in book form, too -
>> see the bottom link on the FAQ main page.
>>
>> Paul
>>
>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>
>>> Paul,
>>>
>>> thanks for the info . I am able to club the ProgresMonitor with the
>>> JET2 Transform.
>>>
>>> I face one more problem , I am trying to simulate an erroneous
>>> condition , want to display the error dialog , i tried something
>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>> Thread Access error when i try to open the dialog ? What could be
>>> the problem ??
>>>
>>> Kamesh
>>>
>>>
>>>
>>
>>
>>


Ed Merks
Professional Support: https://www.macromodeling.com/
Re: How to use Progress Monitor with JET2 Transformation [message #592144 is a reply to message #53088] Tue, 26 September 2006 15:48 Go to previous message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
Thanks Ed . :-) , you seem to be rocking every where .. kudos !

Ed Merks wrote:
> Kamesh,
>
> If you have an IEditorPart you can do
> getEditorSite().getShell().getDisplay(). Another way is
> PlatformUI.getWorkbench().getDisplay().
>
>
> Kamesh Sampath wrote:
>> Paul,
>>
>> I have a small ambiguity in this .. When i run the transformation
>> from an action class (IEditorAction) , i will not be getting the
>> display right . then how can i call Display.aSyncExec() , i tried a
>> round about way of achieveing this by declaring a member variable
>> status and accessing the same after the run is through .. but i
>> guess thats not the right way .. Any insight in to this ?
>>
>> Kamesh
>>
>> Paul Elder wrote:
>>> Kamesh:
>>>
>>> You are not running on the UI thread. You must use
>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>> following Eclipse FAQ for details:
>>>
>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>
>>>
>>> I find the Eclipse FAQ
>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>> answering this kind of question. You can get them in book form, too
>>> - see the bottom link on the FAQ main page.
>>>
>>> Paul
>>>
>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>
>>>> Paul,
>>>>
>>>> thanks for the info . I am able to club the ProgresMonitor with the
>>>> JET2 Transform.
>>>>
>>>> I face one more problem , I am trying to simulate an erroneous
>>>> condition , want to display the error dialog , i tried something
>>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>>> Thread Access error when i try to open the dialog ? What could be
>>>> the problem ??
>>>>
>>>> Kamesh
>>>>
>>>>
>>>>
>>>
>>>
>>>
Re: How to use Progress Monitor with JET2 Transformation [message #592155 is a reply to message #53088] Tue, 26 September 2006 16:03 Go to previous message
Kamesh Sampath is currently offline Kamesh SampathFriend
Messages: 191
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------080602000405040009080306
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Ed,

My dialog box is getting displayed correctly but ,

In the details section i get repeated line of the same status message .
Attached please find the screenshot.

My code sinppet is ,

public void run(IAction action) {
IFileEditorInput editorInput = (IFileEditorInput) targetEditor
.getEditorInput();
final IResource modelFile = editorInput.getFile();
if (modelFile != null) {

IRunnableWithProgress progress = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor)
throws InvocationTargetException,
InterruptedException {
final IStatus status =
JET2Platform.runTransformOnResource(
TRANSFORMER_ID, modelFile, monitor);
targetEditor.getEditorSite().getShell().getDisplay()
.syncExec(new Runnable() {
public void run() {
if (!status.isOK()) {
new ErrorDialog(
targetEditor.getEditorSite()
.getShell(),
"Struts config editor",
"Java artifact
generation failed",
status, IStatus.ERROR
| IStatus.WARNING)
.open();
}

}

});
}
};
try {
targetEditor.getEditorSite().getWorkbenchWindow()
.getWorkbench().getProgressService().run(true, true,
progress);
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}

}


Thanks.

Kamesh


Ed Merks wrote:
> Kamesh,
>
> If you have an IEditorPart you can do
> getEditorSite().getShell().getDisplay(). Another way is
> PlatformUI.getWorkbench().getDisplay().
>
>
> Kamesh Sampath wrote:
>> Paul,
>>
>> I have a small ambiguity in this .. When i run the transformation
>> from an action class (IEditorAction) , i will not be getting the
>> display right . then how can i call Display.aSyncExec() , i tried a
>> round about way of achieveing this by declaring a member variable
>> status and accessing the same after the run is through .. but i
>> guess thats not the right way .. Any insight in to this ?
>>
>> Kamesh
>>
>> Paul Elder wrote:
>>> Kamesh:
>>>
>>> You are not running on the UI thread. You must use
>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>> following Eclipse FAQ for details:
>>>
>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>
>>>
>>> I find the Eclipse FAQ
>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>> answering this kind of question. You can get them in book form, too
>>> - see the bottom link on the FAQ main page.
>>>
>>> Paul
>>>
>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>
>>>> Paul,
>>>>
>>>> thanks for the info . I am able to club the ProgresMonitor with the
>>>> JET2 Transform.
>>>>
>>>> I face one more problem , I am trying to simulate an erroneous
>>>> condition , want to display the error dialog , i tried something
>>>> similar to that of Jet New Project Wizard but am getting an Invalid
>>>> Thread Access error when i try to open the dialog ? What could be
>>>> the problem ??
>>>>
>>>> Kamesh
>>>>
>>>>
>>>>
>>>
>>>
>>>


--------------080602000405040009080306
Content-Type: image/jpeg;
name="error_dialog.JPG"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="error_dialog.JPG"

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAMABAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1W5juhOBE0sjKoKMwGN22 X2x3UflU9gsg
8zdJI6cY3oy4POfvkn09v1q5FbQwqVi8qNSc4VSBn8qfsX/nqn5H/CsLFjKz YjKkdwkbT+cT
L5aGLCA7iQd23H5nHNauxf8Anqn5H/CofsNp5nmeXb787t3l859c4osBkzRP I8q2y3BV02nz
N/J2ScZbtkr7dK1YNnkrs8zb28zdu/HdzU+xf+eqfkf8KNi/89U/I/4UAVb1 WewuFUEsYmAA
HJODVORJYbkxpG7RpE+xgDhVZl447jDYA7AYrVaJHUqzoVIwQQcEflUSWNpE 4eOO3Rh0ZY8E
fpRYDPhN0sTOjO5VyiiRHAIYLg4PPDdyem72pdkkcrJK1y1upwGUsWJ2pg/L z/f9s1q7F/56
p+R/wpkttDMoWXypFBzhlJGfyosBkRyXDLaODLu2xD7rsHBxuJIO0dT1GeM+ lAiljtLeNWmj
VFIl+WRjvAXgbSDjr0+X9K2ti/8APVPyP+FGxf8Anqn5H/CgCGHeIY/MJL7R uJABJxz04pty
EMDb9+AQcopJBByCAAe+KsbF/wCeqfkf8KNi/wDPVPyP+FFgMiU3LhcySiEF sOY33NwuMhNp
HO/24HsaV2uRNCSZQ6mNT8jEOCRuJwdg6nrnp16VrbF/56p+R/wqF7G0lcvJ Hbux6s0eSf0o
AoIkiW1r57XLK0eZMFt2/C4Hy89N39eafBE8TxuolBeeQOCSRty5Bx0HO3n/ ABrS2L/z1T8j
/hRsX/nqn5H/AAosAyqU1vLPdzoGCxSQqjkoSSMvnBzweffqK0Ni/wDPVPyP +FRS2dtMwaVY
JGAxlkycflRYCjslEW6RpyrTvvALZCZbbjHPXb07e1RSfaMRhHlDMj8EknYJ FwcZznaT/tfj
WusSIoVXQKBgAA4A/KjykDFt6biME4OSPy9zRYDKQSBU857hoMtgqrq2flx3 L4+91/wqzZp5
ZmUiQOZGY7s7cFiRjt0Pb8au7F/56p+R/wAKNi/89U/I/wCFFgGVnwxTLIjS D90s8jKFQ7gS
zAE88jBPb07ZrT2L/wA9U/I/4VA2n2bsWaK2LE5JMfJP5UWAzi08iW0X+kBl RVmOGHO9Afm7
8buQfWr1srIZkO/Yr4TcSTjaD1PJ5Jq1sX/nqn5H/CjYv/PVPyP+FFgGVluj NF5MPntbrtJD
IUKBWUgLwCeN3qeB+OvsX/nqn5H/AAo2L/z1T8j/AIUWAzNkuJpFafaskexS W+4Ahbg8nof1
7k5auZb8TOs/lB2VOHXBIjxx1xkN14rV2L/z1T8j/hRsX/nqn5H/AAoAoWHm fvN/mN0/ePuX
cec/I33fw4/kK9sZF09Iw1yXCJuVoiu1QRuCnaM8Z7k+la+xf+eqfkf8KNi/ 89U/I/4UAYZi
d3kEa3HkF9x3bwSAYueec8NjvxxVn955w2+fu3p5Wd23y/l3Zzxn733uf0rT 2L/z1T8j/hRs
X/nqn5H/AAoAqWKOllF5jSNIyAt5h5zgcf5/nVin7F/56p+R/wAKNi/89U/I /wCFFgMgw3Ue
fK48rMMfGcKc47cgZjyf9hvxeluxvDCfOW3QEIFdlAAWMDkH/e/Wrn9m2P8A zxtf+/X/ANap
kgiiQJG0aKOiqpAH6UWAyP30iRG4WczF4WUANtx8pbIHy9d3Xn9Kcv2gRqy+ fvVA04O7lgyk
hc8cgOPl46e1a+xf+eqfkf8ACjYv/PVPyP8AhQBQt0uVuQJmyFQkkE4JYg45 9CG+gK1cp+xf
+eqfkf8ACjYv/PVPyP8AhRYDKuLeZ49RKySruztRVGH/AHa+oz7cVFOly/2k FpSxWQbBG2Cu
Dt5zt/u9Bn9a1HsbSVy8kdu7HqzR5J/SpViRFCq6BQMAAHAH5UAZlszNcAoZ i3nSCTcW27QW
xjPHXb05/WtGnLEijCugGSeAep69qXYv/PVPyP8AhRYBlFP2L/z1T8j/AIUb F/56p+R/wpWA
ZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/AM9U/I/4UWAZ RT9i/wDPVPyP
+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/89U/I/4UbF/5 6p+R/wAKLAMo
p+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56p+R/wosAyin7 F/56p+R/wo2L
/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/ AM9U/I/4UWAZ
RT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/ 89U/I/4UbF/5
6p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56 p+R/wosAyin7
F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/ AJ6p+R/wo2L/
AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/ I/4UWAZRT9i/
89U/I/4UbF/56p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1 T8j/AIUbF/56
p+R/wosAyin7F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5 H/CiwDKKfsX/
AJ6p+R/wo2L/AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+ei /kf8Kf8AZyOs
iL/vEj+dOwiGipvs/wD01i/76o+z/wDTWL/vqizAhoqb7P8A9NYv++qPs/8A 01i/76oswIaK
m+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z/wDTWL/vqizAhoqb 7P8A9NYv++qP
s/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z /wDTWL/vqizA
hoqb7P8A9NYv++qPs/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCG qerf8ge+/wCv
eT/0E1pfZ/8AprF/31VLV4MaLfnzYzi3k4Df7Jq6afOvUT2Mr4a/8gS//wCv 9v8A0XHXZ1xn
w1/5Al//ANf7f+i467OuzF/xpEQ+FGRRRWBofhKyjt7S/SWTzHjVyDHFjJGf 7ma5KcIzum7D
nKUbWVzbE0bTNEHBkUZI/L/EfTI9RUlZsmlCxvbZRcbofOZkTylD5KZ5cDJ/ 1ZyerAgEnHMf
iNtdj0WaXw4llJqUfzJDeKxSUDqoIZdrHsTxxg4zkc1OUpXurWZrJJWsa1Ma VVbbhyePuoT1
6dBVfTBqC6bbjVXtXv8Abmc2qMsW70UMScDpk9cZwM4ErFvMlCDLARMBnrhi f6VtFXdiWPMm
BkxzAe8Lf4UqOHXIzjJHIx0qP+0TeFYkVfvKxIkU4AYHsadCcqx9ZH/9CNOU UkJMczhMZDEs
cAKpJP4CkWVHcoCQ46qwII/A0zc/m793EchUBVJPKdc8+vpTQsk0ylz8+7Id kzgYOc/Kvt3p
qF1cLlimSTRw7PMYLvcIue7E4AohcyQxucZZQTj6U2aXymhP2jyd0qrnbktk /dHoT0zUdSiW
ori5itYxJM+1C6Rg4J+ZmCqOPUkCpa4nxjCsd7aSXUU4gnulRZBeSGEHYTuk j3KE243grnOw
5K5zRFXZM5cqudokkcjOqOrNG21wDkqcA4PocEH8RTq4aW7m0XUY4bbVbho5 p2MhmtvtLySM
vBZUAZlwmF2kbcYOQML2bO1xZGSyni3SR7oZivmJkj5WwCNw6HgjI7ilpuhQ mpE1FYXhhvFE
lpO/ihNMin80rDFYK+NgJG5mZjndwQMDAxnkkK/xbcS2vha+lhDF9qr8vXaz AN+hND0HKXLF
y7EsviTSYpChui2OrRxO6D/gSgj9a0YZoriFZoJEkjYZV0bIP41zGhnT7r4d m61Ii1WORysg
X5lPQYHfOAMd6h8B3j3K6gmHEIZHXcuDuYsDx24VTj396zjKV7PqYQrNySfU 7Giue18+Ll1L
T18PnSDZStsu2vYpGeAcneu11DDHG3g5xzgkr0NaHSUbvV7GylMU8x8wAEqi M5XPTIUHH41Z
trmC8gWa3lWSNujLXH2N+uka14kOtqJIX5hixlpQWO0D8Mc9se1L4PvjEL2S 6DQQyzRrGMMy
qzdAWxgEhowM4zkeoqFJ3szCnUlOfKlff5HaUVHOJWt5Ft3SOYqRG8iF1Vsc EqCCRntkZ9RW
N4YbxRJaTv4oTTIp/NKwxWCvjYCRuZmY53cEDAwMZ5JC2bm7TI5o5t/lsG2O UbHZgASP1FPq
K3l8xZR9o83ZKy4C4EfA+X3POc+9AEtVjqFqt69m0wWeOHz2UggBMkZz06g9 6S6lnW7s4o3j
SOeQxuzLlh8pYY7dFPX24rmyYdQ12+uZ7uxsrf7OlvCWuYpy7KzENjJyvPRu +O4BFKL5ZPsi
W9Uu51kciyoHQ5B9Rgg9wR2PtTqytEmjuEupRPDJK8zFxEwwOTjgAe/zHlgA T6CLxBKynT4h
ZPdLJcHKgrjIRsA5I69fwPTjOV5KN5LU0UU5WTNU3MIEh8xSYmCOFOSrEAhc DnJDDA6nI9ak
VldFdGDKwyCDkEVw9ndSQvfSjTHtxbXQkEjCMoMKpw3XGcfeAJXPHcV12m2x tLGONid5AZ8q
q4Y9cKvyr9B+pJJmE5Sla2hU6aity2SACScAVUj1SwmLCG9t5WXqsUgdvToO epA/GsnxHIJd
R0bTJiwtL2crNtON2MYU+xz+lZc+rNBeXSxaCbSHT7kf6Rt+UDdgbgQc7sDD KMrnIznBubaT
aOV1kp8r0R2isrorowZWGQQcgilqjo8YTSbZgxYyRrITtCDJAPCjhfoP1OSc y0Pi4+LLmO7O
kf8ACPou+GWOKQXEhOcIcuQCuMlsYIxgDJ2ON2rs206HQ0zzo/P8jcPN2b9v fbkDP5kU+ohL
/ppi+0YzEW8kLyfmA3E+gzjHvTAlqpBfG73taWz3KI20vDNCw6Bh/HxkEHns RVuuehP2uwz/
AMfO1wM/6/bmGI/9N8dc9VznOGzubWnS9pfWxEp8ptxTs88kMlvLBIiq5EhU 5BJA+6T/AHTU
1ZemxGC7aIoqEWkTbVAGMySnoETH/fI/rWpWTVm0Ve+oxZo3lkiVgXjwXH93 OcfyNPqKKXdc
XEf2jfs2HyguPLyDyT3zj9KgvpSjWsW8os82x2U4OAjNgHtnbjPXBOMHBCnJ RV2VFXdhsms6
fFd/ZXuVEuQpGDgE9i2MA8jqavV5pq+gTRatfXunzyXO5iyII5mIYkblBClS R8wzuyD7jNav
gtdSXVLpbiAW8CwgtH5Zjy5b5Tt+gfn6deznUpXiqcr3RnNzjLl5XbudtTJZ EhjaSRgqKMkm
m3M621u0zq7Bf4UXczE8AAepNc7caqzXUf2tfMjY+UsMO5XjdjtBznJYE47E dRgjFROTSfLq
zWEbvU6C3u4bksIy4ZcbleNkYZ6cMAanqnY2hg3SMqozoqCNOFjRc7VA6dz/ AJFXKcG5RTas
KSSdkMhmjniEsTBkbIDDvgkH9QaV5FTGc5Y4UAEknrwByeAfypltL51rG/2j z87h5gXaDhiM
Ae3T8KZJMIr6HODmJ/5pSqy5IuQ4R5nYmSRXzjOVOGBBBB68g8jgj86dVSaa AuT9gSZUKrIw
j3MC3oApzgEE8jg8ZPFOsiDAwDZxI/GCCoLEgYIBGARxjpjtU06vOOUOUs0V z12fFw8WW0do
dI/4R913zSyRSG4jIxlBhwCWzkNjAGcg4G/oa1IGNNGkscTMA8mQi+uBk/oK fUTy7LqBPtHl
79w8sLkyYUnGe2Ov4VLQBXnvbe3kWJ3JlYZEaKXbHrgAnHHWltb23vAxglDl DhlwQy/UHkVz
N/rkOl/aHkMsNzHdOzyq38BBAz7Bdv0xnrWVoWqy6l43SWEFYnWQMgAG2MLw OOoDYHbqK29n
unfRXv0ZzxquTXLtez8j0KmedH5/kbh5uzft77cgZ/Min1EJf9NMX2jGYi3k heT8wG4n0GcY
96xOglpgfODtYIzFVbjBIzkevY/lTm3bDsxuxxnpms8vJOkMERilnSZm2OmV zzncM8AbuufT
rkCqSuI0aKZJHFHcxmOJUyr/AHV25GV9hRL5gjJi2lh2bvSas7APqC5uktUL yA7QMkjHAyB3
PqRUybtg343d8dKid1FzGrPJHkEFlB+YHkrnt068H060JagOjlaVEdIWIcBl +dOQen8VORxJ
GrjOGAIzT7W7M7Mu52COF80qVD8kewyMHOOOh9hDbf8AHrD/ALi/yqpJJaAi Wio187ziG2eX
2IHJpt3B9qtZId5TeMbh1FQMk3oApLLhuFOetOrOsoobPTzDNJhtwy4AUpyD t5yOv6Y9BVhJ
kaVFimaTJ+YEqcDB54Hrj86px7CuWaQsoYKWAJ6DPWhiQhKruIHAzjNRs1v5 KF5yjb87+ASc
EY5+p4/+vSSuBLRUKSKZQscxlXaSxODg8Y6D6/lTpfOAHk7Cc8hqGrASUUDO Bnr3xULyIspW
WZol2gqRgZPOeoPt+dCVwJQylioYEjqM9KWole08p9k7O+/IfgkHAGMADI4H H/1qkUkoCy7S
RyM5xQ1YBaKjj87e3mbNo+7tHWpKQwooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKA
ClVSxwOtJUpzEm3o56+wpgJvCcJgn+9/hUdFFIAoqhrih/D+pI3Ctayg/wDf BrB0/wAPaNa3
8y211LOghQ7oLWKTBYtkExx/7I4PB5yCK0hGMk9dSJSaa00OpimjnUtE4YA4 yPz/AJEEeoIP
emwwfarSW8mv5LWFGkB2bAqqjEEsWU/3Se1Z+jRsZrt5WzJEywcQ+UCqohBK 4Byc55+70HHJ
ZrF7DaeCbiOaV4vtU89urIVHLSPnJYEAYBzxnHTnFZ0ZPkcpLUdRxi99C5aT 6Vf3LW1r4laa
cNt2I8JLHaG+X5PmGD1GRwR1BqVYrV9Vk0xdYvDeRxCZo/Lj4QnGc+Xjr71x Xh5zca9b3X9r
ybEvTNOZZ4doLRFVC5UFt23acDOM8Dhq6zSbDU5fGV7rN7ZCzia1W2RDMshc hs7hjtx3wa2o
vni5SViZuOjpu6Zq/wBjt/0E7z8ov/iKP7Hb/oJ3n5Rf/EVjaxql3ofipXbU ZJbO40y5mSym
VBGs0b2yRqjJGZSWMpGPnJLAKpOBVex+IUDwmfVLGTT4IXuIbmVhLiOWOFbg KqPGkhDQmRsl
FwYyADuUmtOwWOh/sdv+gneflF/8RUF3aSafCs4vJph5iIySqmMMwXjao9ay bjxtPZajptrd
6Vt8/wCzRXgheWZrO4mKqImZYjDwXQktKpKtkKcqG6DW/wDkG/8AbeD/ANGp RZdgZBRRRXOa
BRRRQAUUUUAFFFFABVPVv+QPff8AXvJ/6CauVT1b/kD33/XvJ/6Caun8a9RP Yz/hr/yBL/8A
6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrtxf8aRnD4UZFRacLixsIrV5YpBEg RGWMqcAY5+Y8
0qm4cbo7G4ZT0J2rn8GYEfiKdi7/AOgfP/33H/8AFVwWZpoV3ivZ7iB57i3M cMhkCxwMrMdr
LyS5/venarVNxd/9A+f/AL7j/wDiqMXf/QPn/wC+4/8A4qkotdB3HVVuYJZf NCbMSR7OSRjr
7e9WMXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qqV1qhFR4buS4jlZ1ITo pkY9iD1HuPyq
zAjJFh8bsknB9STTsXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qm3JhoVJ 7e7M7vBOFRsH
afXGPQ+lRm31HHF0ufw/+Jq/i7/6B8//AH3H/wDFUYu/+gfP/wB9x/8AxVNS khWQRJ5cSJnO
1QM0MJC0Zjl8vDgsQuSV7gc8Z9aMXf8A0D5/++4//iqMXf8A0D5/++4//iqi zGOqpfWMF4m6
W2iuXjRvLjnP7skjHIwR7ZwSATjqQbOLv/oHz/8Afcf/AMVRi7/6B8//AH3H /wDFUWYaGJon
hWw0WO1fMlzdwRCMTzSM2OACVUkhc47djjOK3agmluIEDPp12QTj5Arn8lY1 FFf+eu6G3lkH
cq8Zx/49Q79RRikrIuVHPDHcwSQTIHikUo6nuDwRUf2mX/nyn/76T/4qj7TL /wA+U/8A30n/
AMVSGczdeCGnjitk1RxZRMXjhki3FSepyGAJ9yDXQaVpVto9n9mttxBbczuc sx9T+AA/Cpvt
Mv8Az5T/APfSf/FUfaZf+fKf/vpP/iqSilqZwowg+aK1LFFV/tMv/PlP/wB9 J/8AFUfaZf8A
nyn/AO+k/wDiqZqLc2VpeAC6tYZwvTzYw2Pzrz1vAXiDcwXU7cqWDctycYx/ yzJ7DjOD3zk5
9B+0y/8APlP/AN9J/wDFUfaZf+fKf/vpP/iqmUFLc3oYidC/J1Cwt3tdOtbe R97xRIjP/eIA
BNWKqi8cyNGLOfcoDEZToc4/i9jTvtMv/PlP/wB9J/8AFVRi3d3ZYpqCQKwk l35clRtwEXjA
689+feoftMv/AD5T/wDfSf8AxVH2mX/nyn/76T/4qgRBq1rdXMMLWUscdxDJ vXzOhyrKecHB
wxIODyBxVKK21mGMRxwWIUf9PLkk9SSfL5JPOe9an2mX/nyn/wC+k/8AiqPt Mv8Az5T/APfS
f/FVrTrShskRKCluFra/Z1LO/mzvjzJCMZ9AB2Uc4H8ySSzUNPTUIo1aaWFo n8xHiIDA4I7g
joT2qaK4SYlcMjr95HGCP8R7jim3V3BZQ+bcSBF6c9zWcrzeuty4+7sYy+Fl P2pJtUvZIp3y
yfIMjaAQTt56HkY4wO2T0FYf/CV6f/cn/wC+B/jR/wAJXp/9yf8A74H+NWsN VW0H9zFKspbs
vatpNtrFn9nuNww25JEOGRvUGskeF7i5aNNV1m5vrVDn7OwKq31yxyKsf8JX p/8Acn/74H+N
H/CV6f8A3J/++B/jT+r1f5X9zMpKlJ3djcAAAAGAKKw/+Er0/wDuT/8AfA/x o/4SvT/7k/8A
3wP8af1er/K/uZftIdzcpoEnmlvNxFsx5YXq2epOfTPGO9Yv/CV6f/cn/wC+ B/jR/wAJXp/9
yf8A74H+NHsK38r+5hzw7m5WYNPu0fKz2ciq++L7TbyTMmAAMM0vBwo6Yycn qTVb/hK9P/uT
/wDfA/xo/wCEr0/+5P8A98D/ABpqjXW0X9zE5Qe7Ra0XRbfRLPyovnmfBmmY fNI39AOw7fXJ
OlWH/wAJXp/9yf8A74H+NH/CV6f/AHJ/++B/jU/V6v8AI/uYRlTirJo2lEga QtLuQ42R7cbe
uTnPOePyqlqunNqMESx3DW8sUnmI4GR0KkEZBwQx6EEcHNUv+Er0/wDuT/8A fA/xo/4SvT/7
k/8A3wP8aUsNVkrOD+5lRqxi7pj00zUo0VEv7NUUYVVs2AA9B+8rTtbWO0i2 Jkknc7tyzt6n
3/lwBgACqFvr9rdNtiSQnjhmRf5tV37TL/z5T/8AfSf/ABVc8cPCk9FZmsqs prVllAizpK6b
ygO0E8Anv9ev5mqFxpcF1rh1OXBIVQsQXChxn5z6nGAPTA9Bib7TL/z5T/8A fSf/ABVH2mX/
AJ8p/wDvpP8A4qq5Ve5N2WKKr/aZf+fKf/vpP/iqPtMv/PlP/wB9J/8AFVQi aMSLEiyy+a4z
ltu3ucADJ6DAqOe1iuQvmqcr0KsVI/EHNN+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqGk9G
CbWxEbOeN2NtcrGjYJWRC5yFC9dw7AdamtbdoBIZJPMklfe7BcDOAOBz2A70 n2mX/nyn/wC+
k/8AiqPtMv8Az5T/APfSf/FVnGlCMuZLUpzk1Zliiq/2mX/nyn/76T/4qj7T L/z5T/8AfSf/
ABVaEkxEnmoyy7EGd6hcl+OBnPHPNOqv9pl/58p/++k/+Ko+0y/8+U//AH0n /wAVQBQ1fw5Y
6yQ0/mxSgY8yFtpI98gg/lUmkaDYaIji0jbzJMb5XOWbHQZ9PYVb+0y/8+U/ /fSf/FUfaZf+
fKf/AL6T/wCKqnOTXK3oTypO9ixTQJPNLebiLZjywvVs9Sc+meMd6h+0y/8A PlP/AN9J/wDF
UfaZf+fKf/vpP/iqkosVUgju4pmZmjaMoE2cDkd87cnncef7xp/2mX/nyn/7 6T/4qj7TL/z5
T/8AfSf/ABVNSa2E0SfvXmV3VFADDhskk49h6VJVf7TL/wA+U/8A30n/AMVR 9pl/58p/++k/
+KobuBYqKeNpFXbjKtnB78Ef1pn2mX/nyn/76T/4qj7TL/z5T/8AfSf/ABVI YsNsIotu+QEk
sQsjAZJJ9feplUIgVRgAYAqD7TL/AM+U/wD30n/xVH2mX/nyn/76T/4qndsR Yoqv9pl/58p/
++k/+Ko+0y/8+U//AH0n/wAVSGSSQrIyscgqQcjvg5wakqv9pl/58p/++k/+ Ko+0y/8APlP/
AN9J/wDFUAWKjMKmZZeQw5wOh4xzUf2mX/nyn/76T/4qj7TL/wA+U/8A30n/ AMVQBYoqv9pl
/wCfKf8A76T/AOKo+0y/8+M//fSf/FUAWKKr/aZf+fGf/vpP/iqX7TL/AM+M /wD30n/xVADx
CgmaXkseeeg4xxUlQfaZf+fGf/vpP/iqPtMn/PjN/wB9J/8AFUAT0VB9qk/5 8Zv++k/+Ko+1
Sf8APhN/30n/AMVQBPRUH2qT/nwm/wC+k/8AiqPtUn/PhN/30n/xVAE9FQfa pP8Anwm/76T/
AOLpftUn/PhN/wB9J/8AF0ATUVD9qk/6B83/AH0n/wAXR9rk/wCgfN/30n/x dAE1FQ/a5P8A
oHy/99J/8XR9rk/6B8v/AH0n/wAXQBNRUP2uT/oHy/8AfS//ABdH2uT/AKB0 v/fS/wDxdAE1
FQ/a5P8AoHS/99L/APF0fa3/AOgdL/30v/xdAE1FRfa3/wCgdL/30v8A8XR9 rf8A6B0v/fS/
/F0AS0AEnAGTUX2x/wDoHS/99L/8XQb2bGFsZlHt5f8APdmmIsgeV8x+/wBh 6fWo6r/aZf8A
nyn/AO+k/wDiqPtMv/PlP/30n/xVIZYoqv8AaZf+fKf/AL6T/wCKo+0y/wDP lP8A99J/8VQA
X9r9t066tA/l+fE8e/Gdu4EZx361XSPWo7l5xf6fueNIyDYvjCliP+WvX5j+ lWPtMv8Az5T/
APfSf/FUfaZf+fKf/vpP/iqabWwmrjLK2uIXupbqeOWa4lEjGKIxqMIqAAFm P8OeveoLi00j
UdFfTNWuI4GFxJIpaQI6kuxDLng8N7jk1a+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqala9
yZRUlZnn2teHZLWVbTQtStpLOQAyTPdwh2bkfPnHygHgKD1PGa9K0/UtOtNN tbaXVrOSSKFI
2fz1+YgAE9arfaZf+fKf/vpP/iqPtMv/AD5T/wDfSf8AxVausuVRtohRhyqy IHsPCsst1LPe
xTyXOdzz6k8hiywf90Wc+T8yqw8vbgohHKrgtrDwraWctql7FJHNdx3shn1J 5neaMxlGLu5Y
48qPjOPlxjGan+0y/wDPlP8A99J/8VR9pl/58p/++k/+KqfaLsOzIL2w8K3+ orfT3sXnCWOc
rFqTxxySRlSjvGrhHYFE5YE4VR0AAu6lf2d5arBa3UM8pmibbE4YgLIrEnHT gGoftMv/AD5T
/wDfSf8AxVH2mX/nyn/76T/4qj2i7ByssUVX+0y/8+U//fSf/FUfaZf+fKf/ AL6T/wCKrIss
UVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsUVX+0y/wDPlP8A99J/ 8VR9pl/58p/+
+k/+KoAsUVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsVT1b/kD33/ AF7yf+gmpBdh
WAmhlhB4DOARn6gnH41Hq3/IHvv+veT/ANBNXT+NeonsZ/w1/wCQJf8A/X+3 /ouOuzrjPhr/
AMgS/wD+v9v/AEXHXZ124v8AjSM4fCjHvtQuLbVbSKKCW4jkglZo4tgOVaMA 5YjpuI696xfC
/iy71vUpLe4jgVBEZAYwM9Iz2kbu7DkDp65A0b5Lt9Ys5LV449tvMGkkhMij LRYHDLgnHr2N
ZHhq21631GR9UMxhMRA3y7huxH0/eN3EnYdffA8+pKXNGx0U1Hllc39U8RWG j3Fvb3RumnuE
d447azmuGKoVDEiNWIALryfUVoQXUN1bxXFvKk0EqB45I2DK6kZBBHBBHeuY 1nSb/UfFGl3V
rfXVhDBZXUclxbCEtud4CqESI4wQjHIH8I5GcHndU8NX0XiDS207TZ1i0+Wz gsp7UW22KzR0
8xJZJP8ASN23zhhDtZSoOSXzrcyPQbzVIbG60+3lVy99cG3iKgYDCKSXLc9M RsOM8kfWrm+v
LoPC1/JYaRZxaY+l6lbXCnUdWTyc3ji1uI2m3I/muGd+S2yTEpIKtllW+0XW LnXNNvI9Deyl
s57WK3NiLPyYLVJF81WkbE+CPOwse1TGyAqCXWi4HqG+q99qFvpun3N/dyeX bW0TTTPtJ2oo
JY4HJ4B6V4xBpf8AaV0ul6bYomq2Wmvb61fWkltI17KtxamQMwZsvIIp8C4C 7tzBhjfjrrbw
9dwfDjxBpNta3Uct7b3K2trcvbqyF4dgULCqwxgsCcKSPmLE5YgFwOx0zW7X VvN+zRXyeVjd
9qsZrbOc9PNRd3TtnHGeorQ31wos7q60d7Kz0fV7C6FwslteanfrctbSFSPO VvOkYhQMeXwH
37T8rORzt9oxu9Z1Cxg8MY1P+xoI7W68yKT+z52mu/3/AJzsJDl8Sb1BkONz APxRcD1DTdUh
1S1e4gV1RLia3IcAHdFK0THgnjKEj2x06Vc315Xc+GNUePUUk0n7VcXP2pdM uN8R/syZ7q5k
W4yzBkyssDbowz/uuQCqgz33hC5k0KRfss7STazc3V7DC0MslxbmW4MSKs+Y ioMscmxsAHcw
AfqXA9N31BeXL21jcTxQtPJFGzrEvVyBkKOvJ6VxHhXwxJp+si9vLafbDYQx WhuJ0dom865Y
rtjCorLHKijau1FZkRiuSevu5Z0sp2tUV7hY2MSN0Z8cA8jvjvRcCL+1rj7P u+yx+Zs83zPO
P2Xy8Z3+dtxjHbGc9tvzVIkaalZ211NC9rcvErHH+sjyMlCSOcZIwR+GazvL uf7P8n7HJ9l3
b/K3p9p8zfv83du8vO/nZ0xzn+CtK0lneyga6RUuGjUyovRXxyBye+e9DYFd WeOXyJ8eaBlW
HAkHqP6jt+RqWpbiJLmPY+Rg5Vh1U+oqmkxjkEFwVWX+E9BIPUe/qO361m0M gm1mwgttTuJZ
9sWmZ+1tsY+XiNZT25+RlPGeuOvFWoZlnQugcAMyfOjIcqSDwQDjI4PQjBGQ Qa4nW/B82p2n
jKXZe/ar3f8AYY4tQkijl/0SJF3IrhDl1YHeOQOeMVk3vg3Vbm7kee3vXVpb k2n2WS1H2V3u
7iQSl5VZotyyQnfCC42HIyqiiyA9QorhZvDNzH4dvof7O86S+1O4lvEAhmmk tzcSyRCMT5iG
C0bbW4AaQgBzVHRvCGrmy1J5o5rW+/sx7XTJridA1u5mvNhxCSqMscsQBQfK GZUwMiiwHeya
hFHq9tprK/nXEEs6sANoWNo1YHnOcyrjjsfxt1xNv4W03UNXsHl8G2tjpkEF 2Htbm3tivnO1
vtcJGzLkqjjPX5cHGRmvo2kXrX2m6bezOzizstR1iKQ72+1RrsQmTOWLvErZ U4H2TnPmkksB
2yf8hGb/AK5R/wA3qxVdP+QjN/1yj/m9WKQzO1H7Z9pt/I+2fZ9j+Z9k8ndu yu3Pm8Yxv6e1
Qw/bvtttt/tTyt5877X9l27djYx5fzZ3bf1rXop3EUdWkuI7D/RX2TvNDGrZ A+9IqnkhgOCe
cHHpVHUbLxBZaZd3X2rHkQvJn7VG33VJ6fZhnp0yPqK1L23e6twkUixyLLHK rMm4ZRw4yMjI
+X1qK9TWL6xuLSW9sRHPE0TFbN8gMMHH73rzTjbqBJeKAIZRw6SqAfZmCkfT n9BXK+JJHl1V
4yfkjACj6gGurvf9Qv8A11i/9DWuX1tN2r3H/Af/AEEV1YC3tlcyr/Acz4iu V0jy4baWKa5x
mRM7gBnrweAe2ck4zgAil069g1O0E8SmNwdkkTHJVgBznAyDnj8R2yaniO0v 7a+E1hG1zbTK
vypv3o3I5AbAHA/+vnNaGj6fcW1n5l5gXMpyY1YsEXAwMknnrnHt+Hsqa0V7 /IxqRio6Im8u
jy62FmxDFCZG8oQuGTnbuO4jj8V5qeW6idwMoI2JC4DkxqVK9zgYyOF4OPYU 3UfYwsjA8unR
27SyLGgyzEKB6k1rSSRTxhMeVvkUN1baq5APvw2P+A+9Ptp0hgi3uRscNsjJ G7DZO4Hg8Dgg
+n4DqO2wWRieXTlt2dXZRkINzewyB/MitlbkxGHdMZSs++Rhklh8mOTg9uns PalidLe38qO5
AkbdiRNwC5KH0z/CelL2j7BZGH5dHl1uLNGIoQ0mCowqoW2IdpAYgjhskHI9 +/UilCsN9zux
JulPzHzlwPl6c9CMHA5p+0fYLIxY7dpZFjQZZiFA9SaWS32Hh0dc4DL36djg 9/StuK6UXCeZ
KxiRYtoOSFZSmcDtwG/yabbyPLGE8xzcsX2v8xK/c5yOeisOKXtH2HZGH5dS 2un3V61wLaNJ
DBGJGjDfvHGSDsXHzY4zz3GMkgVfv0LXZ3NvYIgZueSFAPXnrTdPuhp981z9 maWeNP8ARWJA
jRzuDM4zuOFPAHXJzjgiatSfJeG44Jc1mUrmwurFrf7RGsZnjMipu/eIAQBv XHy55xzng5wQ
RWtpOtzWjJDcMXt+g9VqtqF0NQvlufszRTyJ/pTAgxu42hWQZ3DKjkHpgYzy TB5ftWXJ7ana
qtfyK5uSXuHeo6yIrowZWGQR3p1cnpWpvYv5cmWtyeR3X3FdTHLHMgeJ1dT0 KnIrxq1GVKXK
zshNTV0PooorIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK999o/s+5 +yf8fPlN5PT7
+Dt68dcdazv9K/6mD/yRrZoppiK9j9o/s+2+1/8AHz5S+d0+/gbunHXPSs21 tdcv0lnhucRf
aJkQfaETAWRlAwbdvT+8a2qpW0eqWUbw215Z+UZZJFElozMN7l8EiQZ5b0px t1Bkemi7Jv7X
UHErwz+XyyuNpjRsZCID94/wj05plxn/AIR28UsW2RTICTkkLuAz+VW7SCeK S6muZo5ZbiUS
MY4yijCKmACx7L696qXP/IA1D/duP5tVQ/iL1B7Ff4a/8gS//wCv9v8A0XHX Z1xnw1/5Al//
ANf7f+i467OuzF/xpGcPhRlbqN1NorzzUduo3U2igB26jdTaKAHbqN1NooAd uo3U2igB26jd
TaKAHbqN1NpOSwRBudug/qfamIfuo3VXiuoZUQiSMMwB27hnntU1ADt1MlVZ ozHIu5T1FMae
JGKtKikdiwFLFIXjRmXaXQOvOQQfQ/j/AJ4o1AhME8X+puNw/uTDd9ACMH8T ml33n/PCD/v8
f/iKsVFukaN5VwFUnggc465ORjoexoSuAzfef88IP+/x/wDiKN95/wA8IP8A v8f/AIipFlJ2
bo2UP91iQQeM9ie1ExIQYOPnX/0IUnoMj33n/PCD/v8AH/4ijfef88IP+/x/ +IqxWauqOw4g
ycAkKJGxkAgEhCM4IqowlLYlyS3JlW8Fy83kwfMirjzjxgk/3fepN95/zwg/ 7/H/AOIplrfC
4kMTxvHJglQyOAyjGSCyjucVLcz/AGeNTgFnYIoJwNx4GT2H/wCoZJAMz9z4 hx97YbvvP+eE
H/f4/wDxFG+8/wCeEH/f4/8AxFZ0mrpp13cW13cJMyuCredDHgFVONrOCOc4 znjHJ61qW06X
Vuk8edrjIz/nBHuMg9QSKzhVjPRblyg46sZvvP8AnhB/3+P/AMRRvvP+eEH/ AH+P/wARTroX
JtZPsjRLcY+QyglM++CD/nv0rNFzqEuyO3vrN7kkebC1kymAd9/7049uu7qP lyw1sQWrlrkx
oJIolXzY8lZST99e20Vj6hby3Gr3KxRPIw2nCKScbV9K3r3/AFC/9dYv/Q1q PSv+Rnvf+uQ/
klb4aXLPm8iKqurGB/Zd7/z53H/fpv8ACj+y73/nzuP+/Tf4V6FRXZ9cl2Mf YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wqWC 11S2JMEF0meo
ERIP4EYrvaKmWJ51aUbjVG2qZycd5qqriXTJJD6qjL/Q0/7dqH/QIm/8e/8A ia6miuZqn/L+
Jr73c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/ 0CJv/Hv/AImj
7dqH/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x 7/4mupootT7f
iHvdzlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8A QIm/8e/+Jo+3
ah/0CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/ +JrqaKLU+34h
73c5b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0C Jv8Ax7/4mj7d
qH/QIm/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A 4mupootT7fiH
vdzlvt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib /wAe/wDiaPt2
of8AQIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJ rqaKLU+34h73
c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv /Hv/AImj7dqH
/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4m upootT7fiHvd
zlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/ 8e/+Jo+3ah/0
CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+Jrq aKLU+34h73c5
b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8A x7/4mj7dqH/Q
Im/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mup ootT7fiHvdzl
vt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe /wDiaPt2of8A
QIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaK LU+34h73c5b7
dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv/Hv/ AImj7dqH/QIm
/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4mupoo tT7fiHvdzlvt
2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/8e/+ Jo+3ah/0CJv/
AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+JrqaKLU +34h73c5b7dq
H/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8Ax7/4 mj7dqH/QIm/8
e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mupootT 7fiHvdzlvt2o
f9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe/wDi aPt2of8AQIm/
8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaKLU+3 4h73c5VtQv0U
s2kyqoGSSWAA/wC+ajeTzfDN5JjG+KdsZzjJaul1H/kGXf8A1xf/ANBNcun/ ACKdz/1wm/8A
ZqfLG8Wl1Fd6pjfhr/yBL/8A6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrbF/x pBD4UZFFReeP
+eN1/wCA0n/xNHnj/njdf+A0n/xNcFmaktFReeP+eN1/4DSf/E0eeP8Anjdf +A0n/wATRZgS
0VF54/543X/gNJ/8TR54/wCeN1/4DSf/ABNFmBLRUXnj/njdf+A0n/xNHnj/ AJ43X/gNJ/8A
E0WYEtFReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATRZgS0VF54/543X/gNJ/8 TR54/wCeN1/4
DSf/ABNFmBLUZdrdmkHKtjce6/8A1v5c/gnnj/njdf8AgNJ/8TR54/543X/g NJ/8TQroQ3zr
m5tsFI1WVOfnJwCPpU9ReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATTd2AqPcw qUj8spuJBLEH
k59PemJcS3saFgFUYYkc8+gP6E/h9HeeP+eN1/4DSf8AxNHnj/njdf8AgNJ/ 8TRdgS1mXq3S
IpRN0SSF3XAIcFgfUHgZPQ8/QGr3nj/njdf+A0n/AMTR54/543X/AIDSf/E0 JtA9TO02SWeV
t2FRZCypwNo5HHJPOQewzn8dKf8A1Y/31/8AQhUaNFGcpaTqemRaOP8A2Wle UOoHk3Q5B/49
pOxz/doldsFoT1labDqksMw065tbZkkVZRdWryEnyoxxh0x0Prnj8dDzx/zx uv8AwGk/+Jqv
JBZzSGSXTndz1ZrJyT+O2rpzcL6EThzDvKv4r+2Goz200pimKtbwtEu3MXBB duevOfwqy6JL
G0ciq6MCrKwyCD1BFVYYrW3cvDYSRMRglLN1OPwWp/PH/PG6/wDAaT/4mpm+ Z3KiuVWOce7l
sbW/jWK4j8wsxmmExMXyhQdyxEHAUc7j0zuPWtuyd45ZLQzNcrEP9cRgrnor 9i2MHI/EDI3S
TmK5t5IJbe6aORSjr9nkGQRgjpRCYreFYore6VF/6d5CSepJJGSSeSTyTXJC hOM076G8qkZR
21LNFReeP+eN1/4DSf8AxNHnj/njdf8AgNJ/8TXTZmQy9/1C/wDXWL/0Naj0 r/kZ73/rkP5J
S3Um+AfJKuJYv9ZEyfxr0yBmk0r/AJGe9/65D+SVrR3foRPoa+r3clho19eR BTJb28kqBhwS
qkjPtxXP6N4Z02+8M2k90sk19dwR3D37vm4WQqpBWQ8jbgYHTjnPOeqlijmi eKVFkjdSrowy
GB6gjuK5+Dw9qVnpx0u112RbEYVGeHdcRx8ZVZAwA74O0lc8dBXTTmlGydnc ynG8r2ujL8J+
Jb+6GiW1+I/JvLKQRTfMXlmicqQTk/wAMSRySee1C+NZ5ILdibKBb+9mSzu5 8rCLaMjLuCwO
48gD5cn076moeEoLjQ7LT7C6ksJrHH2e6iUb14w2SMH5gSTgjJ59qlk8MQR2 ulpp8v2W40vi
2mMYcEEYcOowG3DOSMHPII77OdBvmtvf9bfp+Jmo1Urf10/4Jhah44nsLfU4 op9Ov7i3gjuI
Li2yYmQyKjK67yQwLZ4Y5BHTodHUdX8Q6NbG+1GLSxZi7iVzAZHMUDMQxOcZ YZQDA9eKn1bw
/qWt6ZeWV7rEYSdEVFhtNqIVcMWILliTgD7wA9DWxqNhBqmnXFjcruhnQo3A JHoRkEZB5B7E
Cpc6Stot9fTT08ylGo76+n4mBrOsTS3Ov6ekEE1lZaU8lxuDA+cykqhIIypQ Z4/MGqsPiVbW
30PTIZbDTjJpsV1JNdk+UibQqogLgs2fVuAO5rR0/wAK/Y9A1Gwlv5Lq81BH We9lXLnK7F75
IUdAT69M06Pw3JaNptzY3qxXtnaLZPJJDvSaIDoU3Ag7gGBB9jkU1Kily/1t v94uWpv/AFuZ
MnjWeKxvplNlc/2ZdQi6mt8tHNbyHAMQ3cOOAQSQCDyatN42ii12/tpYP9Bt 0mEUyEl5JYVD
yptPTAbgnA+U8nPGpcaPdahpeo2epX8dx9rQpGFtgscHy4BCkkk7vmyW6gYx WXd+BoLjw5Dp
qXskd5G7Stf7AZJHfIk3dCQwOCM9AuScctSw7+L9ey1+/wDMTVVbG3oN3d3+ g2V5fCAXFxEJ
SIAdoDcr15ztIz75rRpsUUcMSRRIscaKFRFGAoHQAdhTq5JNNto6ErKzCiii pGFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5B l3/1xf8A9BNc
un/Ip3P/AFwm/wDZq6jUf+QZd/8AXF//AEE1y6f8inc/9cJv/ZqtbR9Ser9B vw1/5Al//wBf
7f8AouOuzrjPhr/yBL//AK/2/wDRcddnWuL/AI0gh8KKuoXEltaeZFt3mSOM FxkDc4XOMjOM
561zOmeNrHVb+e1sdb0u9kt7iOFo4ACZFby8yIRK2VHmhc4+8pFdPf2hvbNo Fl8piysr7c4K
sGHH1FYlr4Vlt76S5bUA3nXKXM4EJHmOoRQeWOOI0HA7etYpgzS1q8urGyjm tTCCZ443Mqls
K7BMgAjJyy9+mayZdbsreYiPXLOOdSVkE82/J7grvAHPpjH04rW16wuNT0aa 2tJY47ndHLE0
oJTcjq4DY5wSuCR0z3rmINB8UW6EBNMZmO53a8k3O3qf3P09gAAMAAUlQ9q7 uVrDdRwWkbm5
oOuf2peXsDXthP5JUR/ZzhmG0Fm27m+XLAZB6g1mXfjr7JrGu6a+nfvrHy47 D9//AMf8zLD+
7+7+6w9zbpuYkfvM9FbG3o2kvYp9ovHWa/dcMy/djXrsTPbgZPViMnACqrLf w9bx6rd387ed
JLqAv4Bgr5L/AGVbY9D83yhuv9/pkA05JJ2TuCbau1Yr6N4u07VfD1rqzt9n 837LHLFhn8qa
4SJkjztG7/XxjcBjnnGDjL07x8osNPv/ABDbWmk2mo2SX1tMl20yqjPCmJSY 02HdcRcjcPvE
lQMmTR/CP9naxo/mL5kOj6Vb2yXWcfaZkWSNW2bvk8tHl45DfafWMVJp/gLT dK8MWWk2Udpb
zwvYvc3cNoqNdNbSJJlwDklih5JON5PPeRmoPFGkm8htTNOskuwZe0lVI2cA pHI5XbHIdy4R
yrfOoxlhmnb+N9HktUnmmkQM8u7ZbTsIESV498+YwYBlGyZAoBV8EhS1F14X muNUuJFv400+
7vbfULmA25Mpmh8rZsk3gKn7iLIKMT8+GGRt5+P4dDUB9tvodNW4uXnM0d9p 8d48ET3M86CI
ltkcoE5DEiRCVXAIX5gDoNW8aafpsU7QxXd2be4hglMVrMY/nnSFgkgQrI6l zlFJbKlcAg46
CCZbm3inQSBJEDqJI2RgCM8qwBU+xAI71zb+Frw211Yx6nAtg12b+2RrQmWO 4+0i5Bd/MAeP
zMjaFU7SBuyNx6SATLbxLcSRyThAJHjQorNjkhSSQM9snHqaAJKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAy9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKv63 /qIf+usf/oa1
Q0r/AJGe9/65D+SUU/ifoKWyOjooqneM7SxQhmVGVmYqSCcYwMjp1/SnFXdg bsi5RWZ9nX/n
rcf9/wB/8aPs6/8APW4/7/v/AI1fIu5POadFZn2df+etx/3/AH/xo+zr/wA9 bj/v+/8AjRyL
uHOadFZn2df+etx/3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8A f/Gqcl7pkWpx
aZJqipqEyb4rVr0iV155CbskfK3IHY+lHIu4cxv0VmfZ1/563H/f9/8AGj7O v/PW4/7/AL/4
0ci7hzmnRWZ9nX/nrcf9/wB/8aPs6/8APW4/7/v/AI0ci7hzmnRWZ9nX/nrc f9/3/wAaPs6/
89bj/v8Av/jRyLuHOadFZn2df+etx/3/AH/xo+zr/wA9bj/v+/8AjRyLuHOa dFZn2df+etx/
3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8Af/Gp7Mus0sRdmRVV l3MSRktnk/Sk
4WVxqV2XKKKKgoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHVW5XM8R9FY fqKtU1kDMCew
NOLs7g1dHzhZ281iL7QbeLw14onvNN1Ro9W0pTPqCsY3IedxuOXMnlgZ5LAb jj5t7R9Y1drD
4f6J4e8VIRqVlPFcyPBBcC2eO1jYR7VCkFCSQGOckbtw4r3HYKNgp3FY8Vm8 da3b6mNMn1RI
tQPjVbEWrxxrKdObG35CM7DkYkxk5HzVk+GtV1Tw/wDB62TTNdtYdTt73ybv T766treS0Xzp
S0aGRcJI4Un97u4DFRwBX0BsFGwUcwWPML3xVrKfBF/E2mxXzak1qJVN7CjS oDJhn2oqqVVS
WVtoBUKxHWq+q+JXtL3w9bWfjTztFvbq5S+1vdaN5DJCGjh8wR+Uu45OGUse xxXq+wUbBT5g
5TwKx8a+MNTslludUn0+WHwlPq+2K1hHnSxzOiOwkRvldArELgHORgGsm+1i 9udK+IHiEmAT
z2GhzSW7W8csBeVIiSUkVs45Ayf4snJAI+k9go2ClcLHiV54212PxMttJrX2 W5Pi2PSxpPlQ
jNgQuJdrKZfmyPn3Y+bjHFZi/EfxEND0GJ9YQaybLWX1SAwxCWKWCORofMj2 5jIK5xgZxzmv
aLrwrpN9q8Op3cM9xcQSrPCk11K8McirtV1hLeWGAJwQuQeevNbGwUcwWPIZ vE2u2XhHw1Nq
Gs4utc2TjUMQ2Vtap9mVvLkkeOVdzMCw+UbiTjaF21geDdcvde8b+Gte1rU/ 7PlvdBa3E6rH
Gl7LHesvkjepBZhtJVMNzxtBxXvuwUbBT5gsfOei+NdatfCGnhtUg0W2Gg31 9bSwWtvAl1eJ
cuqwgMmw4UKdqAMd2STkVp6h458XQWXifVpb6S0m0a30mZdNNrGIt9wiGaOQ MpkxktwHBHrX
vOwUbBS5gsVNp9KNp9Kt7BRsFVzi5SptPpRtPpVvYKNgo5w5SptPpT7ZcTyn 1VR+pqxsFCoF
YkdwKTldWGo2Y6iiioKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD OT8V6bHda74c
LXWpQi6vWtpltdRngV4xbXEgBWN1GdyKd3XgDOOK5+38Ral4U0S71GUWl5p8 mp6wIrVYmilR
o3u58tLuYMD5LLgIMbwcnbhvSJIIZnheWKN3hffEzKCUbaVyvodrMMjsSO9R rYWaeXttIF8q
V548RgbJH3bnHox3vk9Tub1NAGH4X1XXL24vbPXbKO3ngSKWNgIo2ZXLjmJJ 5iAChwxYbskA
fISce38W69JYWN6Le0uRqOmf2vBbW9u/mxQo8BkhHznzpTHOQhAQb0GRhvl6 CP8Asrw1cWmj
6To0cT3rtN9nsIY4lVFKLJM2Sowu+MHGWORgHBxc0zT9Lt/Nv9O06C0kv8TT utr5EkpOSDIC
A275j97kEnPOaAOTvfFuv3FxbxaJp8c6Xr3M1pIsKyk20Jij3lXniUh3kZ1d XIMew7TuJWTT
/FPiDUrDVdShsbH7PY/Z3Ftbs1zNMGgt55URkO12CSSKhGQ7Mn3QpL9RdaFo 99p0GnXmlWNx
YwbfJtprdHjj2jau1SMDAJAx0FXI4IYXmeKKNHmffKyqAXbaFy3qdqqMnsAO 1AHn+qeM9Sgu
4ryzs454LpJ49NVWbMi/aLO3SQqZFjcM8sjqcjdGUw6bmNSL4v8AEseLO40u BL9/PtosopDX
X+jmHekc0nlrtmld13s3lwtIMDiuos10LU9O0/7NZQTWNzp5Fr/oZ8v7KwTM fK4VWGz5DjIX
odpxcttJ02yt7a3tNPtIILVy9vHFCqrCxDAlABhSQ7gkf3j6mgDn7fxfNL4X 8Q+IG0+RbfT0
eW2glUxO6pbJI6OfmAdZTLG2PulCCMqaw/EMusajrWneFr+fSriRruGZ5HsH NtNG8F4RHJbm
U79rWwYHfjJU4ynPokMENshSCKOJC7OVRQoLMxZjx3LEknuSTVOx0LR9Miji sNKsbSOOUzok
FukYWQqULgAcMVJXPXBx0oAy9Vk1I+OtCt7K9jggayu5bmOWNpFlVZbUcAOo D4YgMd2Mng5r
j9G8S614c8EeHLdo7TUHvdHtmsVhgMTRHfawKr7pcSn/AElT1iHyEZG7K+mX VhZ33kfbLSC4
8iVZ4fOjD+XIv3XXPRhk4I5FRnSdNa3S3bT7QwJbtapGYV2rCwAaMDGAhCqC vQ7R6UAY+jXu
uazoOp2955ematE72yTqkTmNjGrJI0SyyBSN4+QuchQ3AYAcuW1Sw13TNHtJ ZNO1R72OSUz6
ndapbvC9tebQRK0bZ3QuSowMiNstjA9Ah0nTbbSzpcGn2kWnlGQ2iQqsRVs7 hsAxg5ORjnJq
vH4a0GHS5tLi0TTU0+Z98totqgiduOWTGCflXkjsPSgDD0/xJrFxeWRuY7Fb W71u702NY1cv
5cIujvJJwGJgQYwRwxz84VM/Stc8Qaj4k1y5tvInjs7R1XTcMvnvHdX0UYRy +2Jm8mPcxVs8
fdAFdpPpOm3VhLYXGn2k1nK5eS3khVo3YvvJKkYJLfNn1561XHhrQRb29uNE 03yLdJUgj+yp
tiWQESBRjADAkMB1zzmgCv4X1S51Oyuft08cl5bXBgnjWxe1MD7EbYytI4Yg MDvVipBGCRyd
yq9jYWemWcdnYWkFpax52QwRiNFySThRwMkk/jVigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigCtqP/IMu/8Ari//AKCa5dP+RTuf+uE3/s1dRqP/ACDL v/ri/wD6Ca5d
P+RTuf8ArhN/7NVraPqT1foN+Gv/ACBL/wD6/wBv/RcddnXGfDX/AJAl/wD9 f7f+i467OtcX
/GkEPhQUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAZet/6iH/AK6x/wDoa1Q0r/kZ73/rkP5JV/W/9RD/ANdY /wD0NaoaV/yM
97/1yH8kop/E/QUtkdHRRRQM5fUtLMnjKC/u9E/ta18qBLV8Qv8A2fKskheX EjAruDRcx7mP
lcjhc8mngzULizsbSTQo4zElrFrEkhhK6vKt1bO85wxMoCxXDZlCufNwASzA eqUUAcHYeDhD
43E0uj2g0Wye4fTkKRmO2ZksSpjT+A+ZHcHIA53H+IE8nFpi6T/YOjarpUFz 4hMukSWkolt5
JrOCL7MsqAF/NChobhj5asmGZifv49oooA8rl8Ma5e2fh3SJdHu4o9IsoLKe 6W6iRZtt1Ysz
xMknmAbLeVgSEbgcBjitDXPDeov4q0+5sNLkjSzuLOOznsYrOOKGzR0MqSO+ J1OPOG2I7ChU
YOXB9EooA8rtvBmoWmk6PZWuhR2wsLJrfUFjMKrqDCayaQjDfOJo4Jl/ebc9 H2g1oad4KivP
EEM+peG7SPQ1S7a2066jhkWyLizVVEalkUs0Vw/yEj5ySQzEV6JRQBl+Gob6 28K6RBqhkOoR
2UKXRkk3sZQgD5bJ3HdnnJzWpRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/1xf8A9BNcun/Ip3P/AFwm/wDZ q6jUf+QZd/8A
XF//AEE1y6f8inc/9cJv/ZqtbR9Ser9Bvw1/5Al//wBf7f8AouOuzrjPhr/y BL//AK/2/wDR
cddnWuL/AI0gh8KCiiiucoKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigDL1v/UQ/9dY//Q1qhpX/ACM97/1yH8kq/rf+ oh/66x/+hrVD
Sv8AkZ73/rkP5JRT+J+gpbI6OiiigZn6nDFcTadFNGkkbXJyjqCD+6k7Gn/2 Ppn/AEDrP/vw
v+FF9/x96b/18n/0VJV2qu0kTZXKX9j6Z/0DrP8A78L/AIUf2Ppn/QOs/wDv wv8AhV2ildjs
jHu4dCsbi0gnsbNZLqTy4x5C8nH0+g+pFW/7H0z/AKB1n/34X/CuU1rRb5NT iBle/wDtr+XH
LLwYD1wccYwC3ygfdrrdNtJrGySCe8lu5F6yygZP+fck+9RGcm2mZwbcmmjN 83wp/bH9keZo
v9p/8+W6Lzvu7vufe+7z06c1cn07RrW3luLizsIYIkLySSRIqooGSSSMAAc5 rkNRWe4k8ZaJ
DZX39oaldq+nz/Y5RCjfZLdUm8/bsXy5ELZDbgY/lBbaDj+KIfEWp6rqdnZx XyyX8V7ZyWP2
e6aHyvsswifz3c2w3usLfIqsC+0tkPuu7NLI9L/sfTP+gdZ/9+F/wqnqS+Gt Gt1uNUGk2MDO
EWS6EcSlsE4BbAzgE49jXEeKrjUI9Hgbw9/bkC21pLNYSSW2o3M1xcbm/dyL vBXaVTBuFdGE
mANqsD1nigWkVxZXb3Ws2d4iSxxXOl2D3TCNihdGAilUAlYzkgH5eDjcCXYW Rpwado11bxXF
vZ2E0EqB45I4kZXUjIIIGCCOc1J/Y+mf9A6z/wC/C/4VxEUniGa/gl1GHUoN ee4smiitjMbJ
LcpB9qVtpMGQftYHmEv93aT+7rPluPEN3Z+HdMhk8QW99aWUFvqc628wxP8A arFXbzHUxykK
Lg7hvUrvJypOS7CyPR/7H0z/AKB1n/34X/Cj+x9M/wCgdZ/9+F/wrkL6HULa 81mC1OsnVo7d
00AiS4e3KC1UL5jEmFn87zeZyWJ2542VjxxatDo1yRq+sy2f2iEiI6XqUbTE LIXjDmSS6jB/
dEyAeWu0ABy0ikuwsj0f+x9M/wCgdZ/9+F/wo/sfTP8AoHWf/fhf8KXSRMNG sRcW0ltP9nj8
yCS4M7RNtGVMhJLkHjd3xnvVyi7CyKX9j6Z/0DrP/vwv+FH9j6Z/0DrP/vwv +FXaKLsLIz9M
hit5tRihjSONbkYRFAA/dR9hWhVKx/4+9S/6+R/6Kjq7Q9wQUUUUhhRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGX f/XF/wD0E1y6
f8inc/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/ AG/9Fx12da4v
+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooA
KKKKACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8A rrH/AOhrVDSv
+Rnvf+uQ/klFP4n6Clsjo6KKKBlK+/4+9N/6+T/6Kkq1LLHBG0ksixxryzOc AfjXIeLvEbWe
oW9jZFRcw/vpJThhHuVlAA/vYbdzx04OeMQ+IdSuUCTanIyhlfHlRjlSCP4f UCuuGEqTipbG
Mq0Yto9Cj1XTppFjiv7V3Y4VVmUkn2Gat15odXvG8zfqVw/mSrMQwUgMu3G0 EfKPlBwMDOTj
JOZz4l1L/oJy/wDfmP8A+JqvqU+jX4/5ErERO+mu4LeWCOaVUed9kYP8TYJx +Q/zmpq8svr1
9SuIZ7q+neWDmJgFXYcg5GAMHIHPtV7/AISbUv8AoKS/9+Y//iaPqNTuvx/y D6xE9ForyJor
GTWJNXlhtptSklSY3U1lDJIrqqqpVmQlcBFxjHIz1JNbH/CTal/0FJf+/Mf/ AMTS+o1O6/H/
ACH9Yiei0V51/wAJNqX/AEFJf+/Mf/xNZ+rXK69FBFq0q3sMEvnRxT28Tpv2 suSpXDcO3UH1
6gGj6jU7r8f8g+sRPVaK8ysdYudNs47S01CWK3jyI4xGhCAknauV4UZwFHCg AAAACrH/AAk2
pf8AQUl/78x//E0fUandfj/kH1iJ6LRXnX/CTal/0FJf+/Mf/wATR/wk2pf9 BSX/AL8x/wDx
NH1Gp3X4/wCQfWInotFedf8ACTal/wBBSX/vzH/8TR/wk2pf9BSX/vzH/wDE 0fUandfj/kH1
iJ6LRXnX/CTal/0FJf8AvzH/APE0f8JNqX/QUl/78x//ABNH1Gp3X4/5B9Yi dxY/8fepf9fI
/wDRUdXa83TxBfRvK6alKGlbe58qPk4A/u+gFP8A+Em1L/oKS/8AfmP/AOJp vBVO6/H/ACEs
RE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AIml9Rqd1+P+Q/rE T0WivOv+Em1L
/oKS/wDfmP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6 Ckv/AH5j/wDi
aP8AhJtS/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj /hJtS/6Ckv8A
35j/APiaPqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+Y//iaP+Em1L/oKS/8A fmP/AOJo+o1O
6/H/ACD6xE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AImj6jU7 r8f8g+sRPRaK
86/4SbUv+gpL/wB+Y/8A4mj/AISbUv8AoKS/9+Y//iaPqNTuvx/yD6xE9For zr/hJtS/6Ckv
/fmP/wCJo/4SbUv+gpL/AN+Y/wD4mj6jU7r8f8g+sRPRaK86/wCEm1L/AKCk v/fmP/4mj/hJ
tS/6Ckv/AH5j/wDiaPqNTuvx/wAg+sRPRaK86/4SbUv+gpL/AN+Y/wD4mj/h JtS/6Ckv/fmP
/wCJo+o1O6/H/IPrET0WivOv+Em1L/oKS/8AfmP/AOJo/wCEm1L/AKCkv/fm P/4mj6jU7r8f
8g+sRPRaK86/4SbUv+gpL/35j/8AiaP+Em1L/oKS/wDfmP8A+Jo+o1O6/H/I PrET0WivOv8A
hJtS/wCgpL/35j/+Jo/4SbUv+gpL/wB+Y/8A4mj6jU7r8f8AIPrET0WivOv+ Em1L/oKS/wDf
mP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6Ckv/AH5j /wDiaP8AhJtS
/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj/hJtS/6C kv8A35j/APia
PqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+o//iaa3ijUh/zFJf8AvzH/APE0 /qNTuvx/yD6x
E9HorzU+KtS/6Ckv/fmL/wCJph8Xaojqy6kzbSDteGPDexwoOPoQaPqFTuvx /wAg9vHsem0V
ieGPEC6/pzSMqx3ULbJkU8ZxwwGchT2z3BHOMnbrknBwk4y3RsndXCiiipGF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAVtR/5
Bl3/ANcX/wDQTXLp/wAinc/9cJv/AGauo1H/AJBl3/1xf/0E1y6f8inc/wDX Cb/2arW0fUnq
/Qb8Nf8AkCX/AP1/t/6Ljrs64z4a/wDIEv8A/r/b/wBFx12da4v+NIIfCgoo ornKCiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAy9b/1
EP8A11j/APQ1qhpX/Iz3v/XIfySr+t/6iH/rrH/6GtUNK/5Ge9/65D+SUU/i foKWyOjooooG
eM+P73+z/EWsXRGdnl44yNxjQDPtkivO1vWuZPNnAnc95Bn3wPQe1dz8VVzd 66f9u3/lFXJ+
E9ITV9Tjt5mZYVXzJNg+YqMDA/EivtMucKeF9rLol+SPEx0JVKipx3Y1LuJR xaW3/fsU5tQj
H/Lpbf8AfoV0GvaFb21w6afply0YHDKsjZrkJ4ZoXKzQSwt/dlQqceuDXXhs XRxDtFa+Zw18
FVoK8ndeRcOpRf8APnbf9+hR/aUX/Pnbf9+hWjr3haPQ7t9Ne7uJNVUwhLf7 E+y58wc+S4J3
bW4yyrk5xyMVW1LwlrOm67No/wBjmurqJBJ/osTuGQgfMvygkAnBOMZBFaQx FCaTT317afP1
M5YapHdFf+0ov+fO2/79Cj+0ov8Anztv+/Qqv/ZWo/8APhdf6/7L/qW/13/P Pp9//Z61dm8L
6pb+Hm1qa2eO3S6Nq6NG4dWHViMYC7htyT97jrWjqUo2u1roSqUnsmRf2lF/ z523/foUf2lF
/wA+dt/36FVLzT7zTphDfWc9rKy7gk8RRiOmcEdOD+VP/srUf7P/ALQ+wXX2 L/n58lvL67fv
Yx14+tVeFk+5Ps3sWP7Si/587b/v0KP7Si/587b/AL9Cq8+laja2cV5cWF1D ay48uaSFlR8j
IwxGDkc099F1WNY2fTLxVkm8hC0DANJkjYOOWyCMdcg0c1Puh+zfmS/2lF/z 523/AH6FH9pR
f8+dt/36FbGp+DDpV3qFrPJqLSWFkbmWWLTXeF3KgqiMrE7T843sqgFD74wp NF1WGxF9Lpl4
loVVhcNAwjwcYO7GMHIx9ayp4ijVV4v9PzLnh6kPiRL/AGlF/wA+dt/36FH9 pRf8+dt/36FV
7LStR1PzPsFhdXfl43+RC0m3OcZwOM4P5VZ0LQrzXtShtraCdommjjmnihMi wBjjc2Og6nkj
oa0lOnFNye25CpSbSXUT+0ov+fO2/wC/Qo/tKL/nztv+/QrTbwdO8621s11J cyatJp0O6xkE
TKhYGYyjKgZRsryQAT2NZ8vhnWU1O90+LTbq5ns5DHL5EDsBycHpnDAZBI5H NZwxFCezRcsN
UjumM/tKL/nztv8Av0KP7Si/587b/v0KrwaVqN1Zy3lvYXU1rFnzJo4WZEwM nLAYGBzVStly
vRGbg0af9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFPlQuU0/7Ti/587b/v0KP7 Ti/587b/AL9C
szFGKOVBymn/AGnF/wA+dt/36FH9pxf8+dt/36FZmKMUcqDlNP8AtOL/AJ87 b/v0KP7Ti/58
7b/v0KzMUYo5UHKaf9pxf8+dt/36FH9pxf8APnbf9+hWZijFHKg5TT/tOL/n ztv+/Qo/tOL/
AJ87b/v0KzMUYo5UHKaf9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFHKg5TT/tO L/nztv8Av0KP
7Ti/587b/v0KzMUYo5UHKaX9pRf8+lr/AN+hR/aUX/Ppa/8AfoVmY9qMe1HK h8pp/wBpRf8A
Ppa/9+hR/aUX/Ppa/wDfoVmY9qMe1HKg5TT/ALSi/wCfS1/79Cj+0ov+fS1/ 79CszHtRj2o5
UHKaf9pRf8+lr/36FH9pRf8APpa/9+hWZj2ox7UcqDlNP+0ov+fS1/79Cj+0 ov8An0tf+/Qr
Mx7UY9qOVBymn/aUX/Ppa/8AfoUf2lF/z6Wv/foVmY9qMe1HKg5TT/tKL/n0 tf8Av0KP7Si/
59LX/v0KzMe1GPajlQcpp/2lF/z6Wv8A36FH9pxf8+lt/wB+hWZj2oI9qOVB ymtDdm7uI7e2
0+GSaRgqIkIJY1rP4e1kHnTtJHsbu2H/ALPVDwWxXxRE3TFtdH/yXkr0q2to 9agmignC6mvz
RQvgLKoHIB/vf59SPm85zitga8aVKKd1fW/d+a7H0GU5PRxdKVWrJpJ20PP3 0DVhybDRx/2+
2v8A8crA1C8vdEvjHLbrb3CYYqhGyQdj8pwwIPBGfavStU01dM0VZdSmaPUr ghoLRVGVj7tJ
6Z7D/wCvt858aD9xomB/y4t/6Uz1hlGeV8diHh60Ela+l/8ANnZmGSUMHRWI ozb962v6HsHw
nnW6TU7hM7JY7d13dcEORXpFeX/BkY0q497S0P8A469eoV5WO/3iXy/IuHwo KKKK5CgooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACii
igCtqP8AyDLv/ri//oJrl0/5FO5/64Tf+zV1Go/8gy7/AOuL/wDoJrl0/wCR Tuf+uE3/ALNV
raPqT1foN+Gv/IEv/wDr/b/0XHXZ1xnw1/5Al/8A9f7f+i467OtcX/GkEPhQ UUUVzlBRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAZet
/wCoh/66x/8Aoa1Q0r/kZ73/AK5D+SVf1v8A1EP/AF1j/wDQ1qhpX/Iz3v8A 1yH8kop/E/QU
tkdHRRRQM8R+KJH2vXQe72/8oq5Hw7fjTLvzXTdHJGY3+UHg45weDyBXV/FP /j+1v/rpb/yi
rm9M8JeJNRsY7uy0zzbd8hX8+Nc4JB4LZ6g19rgZUVgUq7ST01duiPExiq+3 UqSu1qV9ZvdS
acrZfYbiM8hzZxDH1DJ/jVNYZjEPP8kyfxGGFYx+SgD8a6QeCvFoH/IG/wDJ mL/4qj/hCvFn
/QGP/gTF/wDFVeHnl9B80aqv5tHNiHja6tKFl5Jk+razp7+Dzoz3h1a5hkh/ s2RrSSOW1Q4M
qyMfl2hRtAVn5x2A2z6jr2lTeI/GOqJcMU1XRXhgUQSbxK0UaCNvlxnKHkEq M9az/wDhCPFv
/QHP/gTF/wDFUf8ACEeLf+gOf/AmL/4qoawDvesuvWPW1/xV/v7lxli42tT7 d+n/AA5b0TV7
CLSbCHUL5oZ7bxCmqyySxyymZdhDYKKxLbufmwOetMuNdsZ9NuBDdSQTJ4qf VoHNszF42LhW
VSMbhkNh9ox3zxVf/hCPFv8A0Bz/AOBMX/xVH/CEeLf+gOf/AAJi/wDiqGsv dRz9svS6t0/y
BSxigo+zfrr5/wCZH4svtP1G9txYXE1w6m4kuHTzo7UPJMWBjjlJKswOXx8u cYqbXNQsL2C0
uodVuraaHQ4dOa1t4ZfNmdXYMhcYQRnIJJfoOVzxTf8AhCPFv/QHP/gTF/8A FUf8IR4t/wCg
Of8AwJi/+Kq1LAqEYqsvdv1j1Jf1pylL2b19TQ8S+IdLu08UyWc7yz67LYGK JIJFaFYgpfzG
ZQn8JHys2SfrS+IvEWmXzeNza3EjnU59PW0PkyDzFi2eZ1XgDDdcA9s5rO/4 Qjxb/wBAc/8A
gTF/8VR/whHi3/oDn/wJi/8AiqxhTy+NrVlp/eXTl/8AkV+Jo6mMe9P8H5/5 mhqOv6VN4p8c
6jHM7QajpUlpauIHzLIYYlCgbc43KwyRj3rR8WJJeXXiyz0827XUq291qrzC aJvLtgmTGjRB
VGcHmV8rkjOeOe/4Qjxb/wBAc/8AgTF/8VU1z4U8dXlp9kuba+ltMKPsz6mD FhcbRs8zbgYH
GO1ZTpYNShKnWjpZayXS1tvTyNIVcQ1JVKb17LuS6FrGn2fhu2sriS0hubbW Uv0kvLeeZFAj
27kWEgl1I6MQvPr0fpuv6fc2Vu+o3Zt5Y/Ew1lzLayfPGQ3CpH5hVgccE4HH zE1R/wCEI8W/
9Ac/+BMX/wAVR/whHi3/AKA5/wDAmL/4quipHL5ylL2y1/vIxhPFxjGPs9vJ l4+I9NSKJ1ea
Rh4wl1UIsLAm3+fDfMAATkYBIPNTx6xonnOkmoIiQ+LDrPmm1nKyxEMcKBGW 3jIHIA9GNZX/
AAhHi3/oDn/wJi/+Ko/4Qjxb/wBAc/8AgTF/8VUeyy+1vbL715f5Fe1xl7+z /B+f+Yaprtvq
Phe5gie5iur3xBc3whZWV1tpIpF+Zh8oyHClc9yOlc55HtXR/wDCEeLf+gOf /AmL/wCKo/4Q
jxb/ANAc/wDgTF/8VXXh8RgaCajVjr5o561PFVWm4P7mc35Bo8g10f8Awg/i 3/oDn/wJi/8A
iqP+EH8W/wDQGP8A4Exf/FV0/wBoYP8A5+x+9GH1XE/yP7jnPINHkGuj/wCE H8W/9AY/+BMX
/wAVR/wg/i3/AKAx/wDAmL/4qj+0MH/z9j96D6rif5H9xznkGjyDXR/8IP4t /wCgMf8AwJi/
+Ko/4Qfxb/0Bj/4Exf8AxVH9oYP/AJ+x+9B9VxP8j+45zyDR5Bro/wDhB/Fv /QGP/gTF/wDF
Uf8ACD+Lf+gMf/AmL/4qj+0MH/z9j96D6rif5H9xznkGjyDXR/8ACD+Lf+gM f/AmL/4qj/hB
/Fv/AEBj/wCBMX/xVH9oYP8A5+x+9B9VxP8AI/uOc8g0eQa6P/hB/Fv/AEBj /wCBMX/xVH/C
D+Lf+gMf/AmL/wCKo/tDB/8AP2P3oPquJ/kf3HOeQaPINdH/AMIP4t/6Ax/8 CYv/AIqj/hB/
Fv8A0Bj/AOBMX/xVH9oYP/n7H70H1XE/yP7jnPINHkGuj/4Qfxb/ANAY/wDg TF/8VR/wg/i3
/oDH/wACYv8A4qj+0MH/AM/Y/eh/VcT/ACP7jm/JPpR5J9K6T/hB/Fv/AEBv /JmL/wCKo/4Q
fxb/ANAb/wAmYv8A4qj+0MH/AM/Y/eg+q4n+R/cc35J9KPJPpXSf8IP4t/6A 3/kzF/8AFUf8
IP4t/wCgN/5Mxf8AxVH9oYP/AJ+x+9B9VxP8j+45vyT6UeSfSuk/4Qfxb/0B v/JmL/4qj/hB
/Fv/AEBv/JmL/wCKo/tDB/8AP2P3oPquJ/kf3HN+SfSjyT6V0n/CD+Lf+gN/ 5Mxf/FUf8IP4
t/6A3/kzF/8AFUf2hg/+fsfvQfVcT/I/uOb8k+lHkn0rpP8AhB/Fv/QG/wDJ mL/4qj/hB/Fv
/QG/8mYv/iqP7Qwf/P2P3oPquJ/kf3HN+SfSjyT6V0n/AAg/i3/oDf8AkzF/ 8VR/wg/i3/oD
f+TMX/xVH9oYP/n7H70H1XE/yP7jm/JPpR5J9K6T/hB/Fv8A0Bv/ACZi/wDi qP8AhB/Fv/QG
/wDJmL/4qj+0MH/z9j96D6rif5H9xzfkn0o8k+ldJ/wg/i3/AKA3/kzF/wDF Uf8ACD+Lf+gN
/wCTMX/xVH9oYP8A5+x+9B9VxP8AI/uKXhZPL10v6Wd2f/JeSu10TVdM0+1e /mH2jUUYC2gZ
fkU4/wBYT3x6f/rHN2ng/wAZ2V0lxDpADpn71xCQQRggjdyCCQR71of8I94l /wChI03/AMD5
P/kivks/wyxuJjWw9WGitrJd3/mfU5HjI4TDzo4iEtXfRdLbF7XNW07WtK+1 3J8nWodqFkT5
bpemTj7rAf5/u8F4rXzbDRH/AOnF/wD0qnrrW8OeJGHPgfTT/wBv8v8A8kVz Xi3RvEVnaJe6
vpsdnaKBbwpFKjLGOWCgBif7xyepJJOTWXD+Xyw2N9tVqwd01pK7bOnOMypY jCKjQhJWlfVa
Jdkem/Bwj+zbgf8ATpZ/+gvXp1eYfBv/AJB9z/152f8A6C9en1z4/wD3iXy/ I56fwoKKKK4y
wooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigCtqP/IMu/wDri/8A6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+ gmuXT/kU7n/r
hN/7NVraPqT1foN+Gv8AyBL/AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467O tcX/ABpBD4UF
FFFc5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFAGXrf+oh/66x/+hrVDSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAj Pe/9ch/JKKfx
P0FLZHR0UUUDPDvip/x+63/10t/5RV23gH/kS7D/AHpf/Rr1xPxU/wCP7W/+ ulv/ACirtvAP
/Il2H+9L/wCjXr28d/yK6f8AiX/pJx0/96fo/wA0dJRRVW71KzsMC5uI42YZ Ck5Y/QDk1843
bc9CMJTdoq7LVFZQ8R6TuCteCPPeRGQfmQBWmjpIivGyujDIZTkEUk09i6lG pT+OLXqh1FFF
MzCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK89+Mn/ ACJcP/X4v/oD
16FXnvxk/wCRLi/6+1/9FyV6GVf75T9TDE/wpFr4N/8AIPuf+vOz/wDQXr0+ vMPg3/yD7n/r
zs//AEF69PrTH/7xL5fkOn8KCiiiuMsKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAraj/yDLv/AK4v/wCgmuXT /kU7n/rhN/7N
XUaj/wAgy7/64v8A+gmuXT/kU7n/AK4Tf+zVa2j6k9X6Dfhr/wAgS/8A+v8A b/0XHXZ1xnw1
/wCQJf8A/X+3/ouOuzrXF/xpBD4UFFFFc5QUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf+oh/wCusf8A6GtUNK/5 Ge9/65D+SVf1
v/UQ/wDXWP8A9DWqGlf8jPe/9ch/JKKfxP0FLZHR0UUUDPDvip/x+65/v2/8 oq7bwD/yJdh/
vS/+jXrifip/x+65/v2/8oq7bwD/AMiXYf70v/o169vHf8iun/iX/pJx0/8A eX6P80T+KteG
haapjK/ap22Qg9vVvw/mRXEfbLux0uTWnsp7iMth7pxnLfzx79Kr/Fe+kh8R WMOTsW13r9Sz
A/8AoIpPhz4wuxqq+HbqBr3T7wlQmNxiz1PP8PqK+SclKryv5ep91hcO6GXL EUkm95X0vHsm
UoPFFzrd4lnHaNLNKdqIgySas2Hia98IauYLmKVLbfi4tXH3f9pff6dfyx3u pabpHw20W/1v
SdJee5Y4GTuEefU9Qg9v/r14NqutXmrXst9fTtNcytuZj+gA7AelTUi6Vru8 jsw1WGYKolBK
ja3nfv5WPpmGaO4gjnhcPFIoZGHQg9DTLy0jv7R7aZpljfGTBO8L8HPDoQw6 dj7VynwuvJLz
wJaGQ58mSSFT/sqxArp9Q0vT9Wt1t9SsLW9hVt6x3MKyKGwRkBgRnBPPvXYj 4qceWTj2OF0f
xZqsekeHXije+tBBp9rqE0kYLLPOsQyZWlDE4mjbiJwc43AkldaPxTqBtpRN bpDcWkH2e6Pk
MytfvIIokiBcZRiC2HZTslgYlQxI6G50TSb2/hv7vTLKe8g2+VcS26NJHtOR tYjIwSSMd6ne
ytJI7mN7WFo7rP2hWjBE2VCneP4vlAXnsAKd0QYWieI7h9H1a616D7HJpMrL ct5YHyCJJt2x
Hkx8r4wHbOM8Z2jFh8U+JzqkGjXFhawX808SiW5iEaiKSK5bcEjmlyVNtn74 3Z24T79dnp+l
6fpNu1vptha2ULNvaO2hWNS2AMkKAM4A59qgsfDuiaY++w0fT7R9wfdBbJGd wDKDwOuHcZ9G
I7mi6A4HWdV1m08JX9w1/uWW/wBWitmQyxzQCOO+YZcSYfBjTaNoCgDgkKw1 tV1W/wDCGlLa
6ZZ2Vx/Zlq97fQWNgsEKxFnZdoaceXu2S5KiU5BO0cBusl0TSZ5p5ptMspJb jHnO9uhaTCNG
NxI5+RmXnsxHQmjUtE0nWPK/tTTLK+8rPl/ardJdmcZxuBxnA/IUXA5fVNT1 u+0ea9tb21tI
f7Wis4I1gcyIyX6QFncSAOjBWJQKvDbd3BJ3dVvtQs4dKs4ZbX7ffT/ZjcPC xiRhDJKzeWHB
IPlEAb+NwOTjBtvomkyXdzdvplk1zdRGG4ma3QvNGQAUdsZZcADB44FR6lod nqWhNo5RILQq
iKkcETqiqQQAkiMmBtAwVOO2Dg0AcYfGniTE6Q6fa3L6cs0l5KiJFE6pcXEQ 5knXyRi3JLfv
cbicDbhrd14v1bS7CfV7tLK5szdahbxWsUTxSL9mFwwLSF2DZFsQQEHL57YP Q2PhTRLGxsLU
adazCwZpLZ5oEZonZt7OnACEtzhQAOMAAADSWytE8vbawjy5WmjxGPkkbduc ejHe+T1O4+po
ugOMi8R+KRe2umXFjZQXlxdJGslwqpiNobh93lRzyn5TBkEsA+WUbcF6qeK/ FmqwWurLaRv/
AGZNBe2tteRxiJop4beVmIfzS7EPC6/6pB3DHA3dvZ6JpOnRpHY6ZZWsccpm RYLdECyFdpcA
DhtpK564OKP7E0n+1f7V/syy/tL/AJ+/s6ed93b9/Gfu8denFF0BzU+r6zae JU0cz2T311Fb
ILryJRChYXkhPk+af4bcLwwJLZJIUKKjeLtbaLVrpP7PWHRbN57mJrdy100c 1zGwRvMAiDC2
yMh9u/8Aixz1g8O6Iti9iuj6eLR1VGgFsnlsqsXUFcYIDMzAdixPU1ONL09b d7dbC1ELwLbN
GIV2tCoIWMjGCgDNheg3H1ougMLXLaW+8a+H7dWtTDFBc3bR3VuZlLJJbhWQ bgFkAdtr87dz
cHNY0njDUpru3je13affy29xp9zs8jfCbu3j/gmZmys6n5hH0wUYMVHemCJr hLhokMyKyLIV
G5VYgsAeoBKrkd9o9Kox+HdEivJbyPR9PS6mbfJMtsgd23h8lsZJ3qrZ9QD1 FFwOF8J+JdZX
StEtrbTkbS7SDT7OeVzGoLSQQtu8xplKkecuEET7iAA2W+XW0S+1DVfE2gar eS2vk32iXNzb
wQwsrQK72rbXcuRIQCBkKnQnHOB1CaJpMd3bXaaZZLc2sQht5lt0DwxgEBEb GVXBIwOOTRba
JpNlfzX9ppllBeT7vNuIrdFkk3HJ3MBk5IBOe9FwL1FFFIYUUUUAFFFFABRR RQAUUUUAFFFF
ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFee/GT/kS4v+vtf/ AEXJXoVee/GT
/kS4v+vtf/RclehlX++U/UwxP8KRa+Df/IPuf+vOz/8AQXr0+vMPg3/yD7n/ AK87P/0F69Pr
TH/7xL5fkOn8KCiiiuMsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKK
ACiiigAooooAKKKKACiiigAooooAraj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1 dRqP/IMu/wDr
i/8A6Ca5dP8AkU7n/rhN/wCzVa2j6k9X6Dfhr/yBL/8A6/2/9Fx12dcZ8Nf+ QJf/APX+3/ou
OuzrXF/xpBD4UFFFFc5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFF FABRRRQAUUUU
AFFFFABRRRQAUUUUAFFFFAGXrf8AqIf+usf/AKGtUNK/5Ge9/wCuQ/klX9b/ ANRD/wBdY/8A
0NaoaV/yM97/ANch/JKKfxP0FLZHR0UUUDPDvir/AMfuuf79v/KKu28A/wDI l2H+9L/6NeuJ
+Kn/AB+65/v2/wDKKu28A/8AIl2H+9L/AOjXr28d/wAiun/iX/pJx0/96fo/ zRy/xg0Oa60y
11i3QsbQlJgBzsbGD9Af/Qqw/B3i/wANeEvCU+owwtP4ikYxCKX6cMD2T9e3 vXs0kaSxtHIi
vG4KsrDIYHqCK8g8VfB2ZrmS68OSpsc5+yTNjb/ut6ex/OvmHFqXNHc+mwuM pTorDYhvlTv6
+TI/CHxWuk1KWz8UTfa9OvXO+SQZ8gt14/ue3btXA+LrnRh4hvP+EfEx0/fi EP8AxH/ZHXaT
0zzj8q1T8LPGpbaNLjA/vNdR4/Q5ru/BPwjTSbyLVNeljubuM7ordBmOM+p9 TUqEpJKZ1Vsb
hqE5VcN8TVrLb1Os+H2jS6F4K0+zuBicoZZR6Mxyf5109Fc94s1uXRYdMMd9 p9gl3eeRJdag
haKJfJlfON6ckoq/e71sfPN31Z0NFchL48s9N0awudTCG4u2mWIRyxQpOkT7 fORppFXY4KOo
3scSDG4AtVubxxo0N/pVsZcx6pFDLbTebEu4SnEf7ouJTk4GQhAzyRhsOzEd JRXN2vjK1vrC
K9s9PvbiC6l8qwaNoT9tOHY7P3ny4WNyRJsIxjG75ajbxxZgzMum6g8NrB59 9Moi22aiSWNw
4Mm5irQS58sPnb8u7IyWA6iioLe58+a6j8iaP7PKI90iYWTKK25D3X5tufVW Hap6QwooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACvPfjJ/yJcX/AF9r/wCi5K9Crz34yf8A Ilxf9fa/+i5K
9DKv98p+phif4Ui18G/+Qfc/9edn/wCgvXp9eYfBv/kH3P8A152f/oL16fWm P/3iXy/IdP4U
FFFFcZYUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUA FFFFABRRRQAU
UUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGXf/XF /wD0E1y6f8in
c/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/AG/9 Fx12da4v+NII
fCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKK
ACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8ArrH/ AOhrVDSv+Rnv
f+uQ/klFP4n6Clsjo6KKKBnh3xU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXE /FT/AI/dc/37
f+UVdt4B/wCRLsP96X/0a9e3jv8AkV0/8S/9JOOn/vT9H+aOkooor5w7wooo oAKqXenxXtzY
XEjOHspzPGFIwWMbx4PHTEjenIFW6KAMJ/C8KeSbHUL2we33pbtB5beRE+wt CokRgE3RqQCC
VxtUqvy1HP4RtpLhWi1HUIbfz7e5mtlkSRZ5YTHsZ3kVpM4ijBwwztz1JJ4L wpPY6f4OsJtF
1HwwNcli06HNlZJ9oiSSaFJRPiQtJ94Bvuc+hIx1E+oazajXnbVne3sLy2sl ZoIw0Ubx2xmu
HYLtyqySOPlCr8xYMuAtWEaSeDbVZprw6hetqskqS/2lthWZSiOi/KsYjb5J JFyyE4br8q7X
r4O09bHU7XzrojUrM2ly5ZdzbmmdpB8uA7NcSE8bRxhQBisbSdX1TUfEtrYW 2t/adKX7TIt6
Iona9jjFoRh1ATh5ZYyVXGFIxvG8X/BWr3Oq/bvtWofb5Y/LLzWssMtiGbcS sDoofjjKyZZc
ryQdzLUDpLe28ia6k8+aT7RKJNsj5WPCKu1B2X5d2PVmPep683g8Uao1lDIm refLNaxyaquy
I/2NI00CuuAv7vaklw2JtxHkZOQr51bfWIpNYsrZvF2bExRPaXO+2/4mcrSy LJFu2bW27I1x
EFYb+SSQQWA7OivM5PGOpT2mgWllrFr/AGs9nCNSjKJI0Nw1zZxMJYxgof3s wK/L36EAjSvd
R1+ztvEcsOp+cun3VvZw+dHGmxXjtjLPJIEIG0SO+dm1fmLKygKpYDuqjgni ubeO4t5UlhlU
PHJGwZXUjIII4II7159aeIL57e1TVPE9rZ6e7T7dYtponWRlEOyMzSQrC5O+ f7iD/VYzlJM2
7G/ksPh14P8A9O/s61mtbaO6v/kH2aP7MWDbpAUXLrGmWBHz4HJBBYDtoZ4r hC8MqSIGZCyM
CAykqw47gggjsQRUleUWHik6J4X15zrkIj+y3k+lXM7RD7VcfarzcyHAWRji AlVGPmXAG7m3
rms6zbeH5NWa/R5k1HVI7UG1j/cLBDfbCCQSXyigtxlVAxy5csFz0yiuF1HV NR0jVW0m516Z
bH/R5Z9VuEgWS2SRbn+LYIgpeCJQWQ8ysM5K7ZItd1Jvh1NqVpfpe3AvJYEv pCir5AvGi84s
iFAFiG7fsKjbuKkZBLAdtRXA2Ov6wNIjmTU7XULnz5I4VtkN2s8G1C8xaOOL eYiT/qwFb/Vc
ysCGf2/q58VwWtvrNlJaCW2jt45Z08y/gZIy86xJAWk+9Jh0dIwUyQAjZLAe g0VwOneJZFtd
Kv7zxEjGSeP+2beUwLHpm63mPlthQ0Q84In7xi2VC5yTnCn1iS7i8Sau+sJi bSbtLKMrA0N+
sM1+AAGU+YETyyQp6MC2QeSwHrdFeb6z4o1S0ttUmttW/wCJlF/aCyabsiP2 OGKOcw3G3b5g
3GOA7nJQ+dwPmXHV6RLeW+vahpNzfzX8cFrb3KTXCRrIDI0ylf3aqu0eUpHG clsk8AFgN2ii
ikMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAK89+M
n/Ilxf8AX2v/AKLkr0KvPfjJ/wAiXF/19r/6Lkr0Mq/3yn6nPif4Ui18G/8A kH3P/XnZ/wDo
L16fXmHwb/5B9z/152f/AKC9en1pj/8AeJfL8iqfwoKKKK4ywooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD PDvip/x+65/v
2/8AKKu28A/8iXYf70v/AKNeuJ+Kn/H7rn+/b/yirtvAP/Il2H+9L/6Nevbx 3/Irp/4l/wCk
nHT/AN5fo/zR0lFFFfOHeFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQBBeWkd/aP
bTNMsb4yYJ3hfg54dCGHTsfaizs7fT7RLa2j2RJnAJLEknJZieWYkkliSSSS SSanooAKKKKA
CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAoo
ooAKKKKACvPfjJ/yJcX/AF9r/wCi5K9Crz34yf8AIlxf9fa/+i5K9DKv98p+ phif4Ui18G/+
Qfc/9edn/wCgvXp9eYfBv/kH3P8A152f/oL16fWmP/3iXy/IdP4UFFFFcZYU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQBW1H/k
GXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGXf/XF/wD0E1y6f8inc/8AXCb/ ANmq1tH1J6v0
G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/AG/9Fx12da4v+NIIfCgooorn KCiiigAooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAy9b/ANRD
/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8ArrH/AOhrVDSv+Rnvf+uQ/klF P4n6Clsjo6KK
KBnh3xU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXE/FT/AI/dc/37f+UVdt4B /wCRLsP96X/0
a9e3jv8AkV0/8S/9JOOn/vL9H+aOkooor5w7wooooAKKKKACiiigAooooAKK KKACiiigAooo
oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAK89+Mn/Ilxf9fa/wDouSvQq89+Mn/Ilxf9 fa/+i5K9DKv9
8p+pz4n+FItfBv8A5B9z/wBedn/6C9en15h8G/8AkH3P/XnZ/wDoL16fWmP/ AN4l8vyKp/Cg
ooorjLCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA ooooAKKKKACi
iigAooooAKKKKAK2o/8AIMu/+uL/APoJrl0/5FO5/wCuE3/s1dRqP/IMu/8A ri//AKCa5dP+
RTuf+uE3/s1Wto+pPV+g34a/8gS//wCv9v8A0XHXZ1xnw1/5Al//ANf7f+i4 67OtcX/GkEPh
QUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAZet/6iH/rrH/6GtUNK/wCRnvf+uQ/klX9b/wBRD/11j/8AQ1qh pX/Iz3v/AFyH
8kop/E/QUtkdHRRRQM8O+Kn/AB+65/v2/wDKKu28A/8AIl2H+9L/AOjXrifi p/x+65/v2/8A
KKu28A/8iXYf70v/AKNevbx3/Irp/wCJf+knHT/3l+j/ADR0lFFFfOHeFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXnvxk/5EuL/r7X /wBFyV6FXnvx
k/5EuL/r7X/0XJXoZV/vlP1OfE/wpFr4N/8AIPuf+vOz/wDQXr0+vMPg3/yD 7n/rzs//AEF6
9PrTH/7xL5fkVT+FBRRRXGWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFA BRRRQAUUUUAF
FFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/ANcX/wDQTXLp/wAinc/9 cJv/AGauo1H/
AJBl3/1xf/0E1y6f8inc/wDXCb/2arW0fUnq/Qb8Nf8AkCX/AP1/t/6Ljrs6 4z4a/wDIEv8A
/r/b/wBFx12da4v+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAy9b/1EP8A11j/APQ1qhpX/Iz3v/XI fySr+t/6iH/r
rH/6GtUNK/5Ge9/65D+SUU/ifoKWyOjooooGeHfFT/j91z/ft/5RV23gH/kS 7D/el/8ARr1x
PxU/4/dc/wB+3/lFXbeAf+RLsP8Ael/9GvXt47/kV0/8S/8ASTjp/wC8v0f5 o6SiiivnDvCi
iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK KACiiigAoooo
AKKKKAEJwCfSsmzu9d1O0ivbDTtPNnOoeFrm9eN3Q8hiqxMBkc9a1n+430qr 4RfHgvQuf+Yd
b/8Aota1ppWbaIk3dJEXl+KP+gdo3/gxl/8AjFHl+KP+gdo3/gxl/wDjFb2/ 3o3+9V7vb8/8
xWff8jB8vxR/0DtG/wDBjL/8YpPL8U/9A7Rv/BjL/wDGKv6zqv8AZOmm5EXn SNLFBFGW2hpJ
ZFjTccHC7nXJAJAyQCeDzOveL7/whbf8Tueymz5c/wBqt7aSNEgFxBFMGj3u 24LOGUhjnkFR
tG893t+f+YWff8jX8vxT/wBA7Rv/AAYy/wDxijy/FP8A0DtG/wDBjL/8YrT0 6e+mt2mv4kt3
kctHApy0SYGFdgSGfqTt4GdoLY3tc3+9Hu9vz/zCz7/kYHl+Kf8AoHaN/wCD GX/4xR5fikDJ
07Rz9NRl/wDjFb+/3pGf5TzR7vb8/wDMLPv+Rj6bejULFLjyzG2543Q9UdGK sPwZSPwrJbX7
65uni02ytrhUYofMllDDEnlkkJE4UbwwBJGQrHopIt+HOdKl/wCv+9/9KZaq +CZv3uqR7/u3
Ex27umbq55xu46ddozjq2MLLSUn62/ME20vT/IamreIH240a2+bGMyXQ67MZ zbcffXOemGz9
1sCat4gfbjRrb5sYzJdDrsxnNtx99c56YbP3Wx0mo6ta6VbrNdPIA77ESKJp ZJGwThUQFmOA
TgA4AJ6Amqn9v/ZtP+2arZz2HmS+XBbY+0XD8Z+5Duy3DnCF8Ku4kfMFLLt/ X3hr3MZNW8QP
txo1t82MZkuh12Yzm24++uc9MNn7rYF1bxA+3bo1qN2Mbnux12Yzm24++uc9 MNn7rY0dS13U
bPwfrGstp32O4tLWaeC3uZFkY7Iyw8wRkqMsDwrH5cHIJIFS88UzeGC8fiS4 tZg1u1xDcWkJ
gU7ZI4zGyySMFJaaPDlwvzNu2BdzOy7f194a9yFNW8Qvtxo9r82MZe7HXZjO bbj765z0w2fu
tgTVvEL7caPa/NjGXux12Yzm24++uc9MNn7rYbp3j+PWtY0230qzkuredLhb oRSQu1u8bW+G
LrKY2TbPk7C55AxkMBJJ8QdNfU7jS4n8u9guooSu+GfepuY4GO2OUlOZFH7z aw3ZCttZaOVd
v6+8evcamreIX240e1+bGMvdjrsxnNtx99c56YbP3WwJq3iF9uNHtfmxjL3Y 67MZzbcffXOe
mGz91sO8H+MG1ux0y1aKe7vVsLaXUbpDEqQyyQiQbk3B/myCCqFecZ+VtvW7 /elZdv6+8Ne5
haRqR1O2kd4vKmicJInOFJVXH3gD911PIBGcECuN+Mn/ACJcX/X2v/ouSt3w YMW2ojbtxcxD
bt24xa2/GNq4+m1foOlYXxk/5EuL/r7X/wBFyV2ZZ/vlO39aGWI/hSv/AFqW vg3/AMg+5/68
7P8A9BevT68w+Df/ACD7n/rzs/8A0F69Pq8f/vEvl+RVP4UFFFFcZYUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QBW1H/kGXf8A
1xf/ANBNcun/ACKdz/1wm/8AZq6jUf8AkGXf/XF//QTXLp/yKdz/ANcJv/Zq tbR9Ser9Bvw1
/wCQJf8A/X+3/ouOuzrjPhr/AMgS/wD+v9v/AEXHXZ1ri/40gh8KCiiiucoK KKKACiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gDL1v/UQ/wDX
WP8A9DWqGlf8jPe/9ch/JKv63/qIf+usf/oa1Q0r/kZ73/rkP5JRT+J+gpbI 6OiiigZ4d8VP
+P3XP9+3/lFXbeAf+RLsP96X/wBGvXE/FT/j91z/AH7f+UVdt4B/5Euw/wB6 X/0a9e3jv+RX
T/xL/wBJOOn/ALy/R/mjpKKKK+cO8KKKKACiiigAooooAKKKKACiiigAoooo AKKKKACiiigA
ooooAKKKKACiiigAooooAKKKKACiiigAooooARvuN9KyfCd5APCOjx+Yu6Ky hjcf3WVACD7g
ites640DRbudp7nRtOnmY5aSW0jZj9SRmtISSTTIkne6NL7ZD/z0FH2yH/no Kyf+EX8Pf9C/
pP8A4Axf/E0f8Iv4e/6F/Sf/AABi/wDiafNHv+H/AARe92/r7i/eix1C0e1u sPE+MgMVIIOQ
ykYKsCAQwIIIBBBFZB0GynUNf6peX9yssMiXM/lh0WOVJQihEVQpeNd2F3Ng ZPyrtsf8Iv4e
/wChf0n/AMAYv/iaP+EY8Pf9C/pP/gDF/wDE0c0e/wCH/BD3u39fcW9Ois9L t2traZhbB8xQ
sQVgXA+ROMhAckA525wMKFUW/tkP/PQVk/8ACMeHv+hf0n/wBi/+Jo/4Rjw9 /wBC/pP/AIAx
f/E0c0O/4f8ABD3u34/8A1vtkP8Az0FI17AEJMgxisr/AIRjw9/0L+k/+AMX /wATR/wjHh7O
f7A0n/wBi/8AiaOaHf8AD/gh73b+vuGeGGD6KZFOUkvLuRD/AHla4kII9iCD WP4Z1O20y51J
LyR4991NtG1mH/HzKexIHDqeg45yQPl68AKioqqqqAqqowAB0AFUrvRdJv5v OvdKsLmXGN89
sjtj6kVE3zO6dtb9+/mu5UVyrvpb8v8AIq3et+HdUtGtL4R3VtLt3Q3Fozo3 KkZVlxwSp56Y
P904qRXfhs6ZJpl1PNqFjK4YQajHJcAD5CFJkUsw3EN85JBzyAuFvf8ACL+H v+hf0n/wBi/+
Jo/4Rfw9/wBC/pP/AIAxf/E0ry/m/D/7Yenb8f8AgGVc3WjS+GNS0aLUL2eK 8t5Io1unlLIJ
EC7fNdGYDLZy28rluy7RiWdxJeyhNcljnZ9uzUDdu89ttZJE8uMWkcfEgjY5 HO35twTaOw/4
Rfw9/wBC/pP/AIAxf/E0f8Ix4e/6F/Sf/AGL/wCJovL+b8P/ALYNO34/8Ayo ZtHW4s7s69qc
l9CzZupY8tLG5j3RMvl7FQ7Is7FUjYTkHeTQi07w4JrItrepyW9kkcdlbPCo S3jWaCVUBEQY
jMMS5dmOA2TkEjpP+EY8Pf8AQv6T/wCAMX/xNH/CMeHv+hf0n/wBi/8AiaLy /m/D/wC2DTt+
P/AMLTrfw5ZXWkTHVL25TSrdYLCK4t1Ag/dLEWDLEr5ZT8wZiuSTgbBt6IeK dIbGLl+cYzA4
649v9ofr6HEX/CMeHv8AoX9J/wDAGL/4mj/hGPD3/Qv6T/4Axf8AxNF5fzfh /wDbBp2/H/gG
Z4HXbp9+VUKhukCYXAwLeFeBgYwQR0HToOlYvxk/5EuL/r7X/wBFyV38MMVv AkEEUcMMYwkc
aBVUewHArgPjJ/yJcX/X2v8A6LkrvyqyxlNLp+iMMT/Ck/63LXwb/wCQfc/9 edn/AOgvXp9e
YfBv/kH3P/XnZ/8AoL16fWmP/wB4l8vyKp/CgooorjLCiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHRRRQM8O+Kn /H7rn+/b/wAo
q7bwD/yJdh/vS/8Ao164b4rSxrqWtRFwHZ7che54jrufAP8AyJdh/vS/+jXr 28d/yK6f+
Re: How to use Progress Monitor with JET2 Transformation [message #592172 is a reply to message #53199] Tue, 26 September 2006 16:16 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 33252
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------040808080301040304030801
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Kamesh,

That probably just a reflection of the contents of the IStatus's
getChildren().


Kamesh Sampath wrote:
> Ed,
>
> My dialog box is getting displayed correctly but ,
>
> In the details section i get repeated line of the same status message
> . Attached please find the screenshot.
>
> My code sinppet is ,
>
> public void run(IAction action) {
> IFileEditorInput editorInput = (IFileEditorInput) targetEditor
> .getEditorInput();
> final IResource modelFile = editorInput.getFile();
> if (modelFile != null) {
>
> IRunnableWithProgress progress = new IRunnableWithProgress() {
> public void run(IProgressMonitor monitor)
> throws InvocationTargetException,
> InterruptedException {
> final IStatus status =
> JET2Platform.runTransformOnResource(
> TRANSFORMER_ID, modelFile, monitor);
> targetEditor.getEditorSite().getShell().getDisplay()
> .syncExec(new Runnable() {
> public void run() {
> if (!status.isOK()) {
> new ErrorDialog(
>
> targetEditor.getEditorSite()
> .getShell(),
> "Struts config editor",
> "Java artifact
> generation failed",
> status, IStatus.ERROR
> | IStatus.WARNING)
> .open();
> }
>
> }
>
> });
> }
> };
> try {
> targetEditor.getEditorSite().getWorkbenchWindow()
> .getWorkbench().getProgressService().run(true,
> true,
> progress);
> } catch (InvocationTargetException e) {
> e.printStackTrace();
> } catch (InterruptedException e) {
> e.printStackTrace();
> }
> }
>
> }
>
>
> Thanks.
>
> Kamesh
>
>
> Ed Merks wrote:
>> Kamesh,
>>
>> If you have an IEditorPart you can do
>> getEditorSite().getShell().getDisplay(). Another way is
>> PlatformUI.getWorkbench().getDisplay().
>>
>>
>> Kamesh Sampath wrote:
>>> Paul,
>>>
>>> I have a small ambiguity in this .. When i run the transformation
>>> from an action class (IEditorAction) , i will not be getting the
>>> display right . then how can i call Display.aSyncExec() , i tried a
>>> round about way of achieveing this by declaring a member variable
>>> status and accessing the same after the run is through .. but i
>>> guess thats not the right way .. Any insight in to this ?
>>>
>>> Kamesh
>>>
>>> Paul Elder wrote:
>>>> Kamesh:
>>>>
>>>> You are not running on the UI thread. You must use
>>>> Display.syncExec() or Display.asyncExec() to display GUI. See the
>>>> following Eclipse FAQ for details:
>>>>
>>>> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F
>>>>
>>>>
>>>> I find the Eclipse FAQ
>>>> (http://wiki.eclipse.org/index.php/Eclipse_FAQs), very useful in
>>>> answering this kind of question. You can get them in book form, too
>>>> - see the bottom link on the FAQ main page.
>>>>
>>>> Paul
>>>>
>>>> "Kamesh Sampath" <kamesh_sampath@msn.com> wrote in message
>>>> news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org...
>>>>
>>>>> Paul,
>>>>>
>>>>> thanks for the info . I am able to club the ProgresMonitor with
>>>>> the JET2 Transform.
>>>>>
>>>>> I face one more problem , I am trying to simulate an erroneous
>>>>> condition , want to display the error dialog , i tried something
>>>>> similar to that of Jet New Project Wizard but am getting an
>>>>> Invalid Thread Access error when i try to open the dialog ? What
>>>>> could be the problem ??
>>>>>
>>>>> Kamesh
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>
>
> ------------------------------------------------------------ ------------
>


--------------040808080301040304030801
Content-Type: multipart/related;
boundary="------------090202040308090703030407"


--------------090202040308090703030407
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Kamesh,<br>
<br>
That probably just a reflection of the contents of the IStatus's
getChildren().<br>
<br>
<br>
Kamesh Sampath wrote:
<blockquote cite="midefbj12$hna$1@utils.eclipse.org" type="cite">Ed,
<br>
<br>
My dialog box is getting displayed correctly but ,
<br>
<br>
In the details section i get repeated line of the same status message .
Attached please find the screenshot.
<br>
<br>
My code sinppet is ,
<br>
<br>
public void run(IAction action) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IFileEditorInput editorInput = (IFileEditorInput) targetEditor
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; .getEditorInput();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final IResource modelFile = editorInput.getFile();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (modelFile != null) {
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; IRunnableWithProgress progress = new IRunnableWithProgress()
{
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; public void run(IProgressMonitor monitor)
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; throws InvocationTargetException,
InterruptedException {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final IStatus status =
JET2Platform.runTransformOnResource(
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; TRANSFORMER_ID, modelFile, monitor);
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; targetEditor.getEditorSite().getShell().getDisplay()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; .syncExec(new Runnable() {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void run() {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; if (!status.isOK()) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; new ErrorDialog(
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
targetEditor.getEditorSite()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .getShell(),
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; "Struts config editor",
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; "Java artifact
generation failed",
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; status, IStatus.ERROR
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |
IStatus.WARNING)
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; .open();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; });
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; };
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; try {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; targetEditor.getEditorSite().getWorkbenchWindow()
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; .getWorkbench().getProgressService().run(true,
true,
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; progress);
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; } catch (InvocationTargetException e) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; e.printStackTrace();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; } catch (InterruptedException e) {
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; e.printStackTrace();
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; }
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>
<br>
&nbsp;&nbsp; }
<br>
<br>
<br>
Thanks.
<br>
<br>
Kamesh
<br>
<br>
<br>
Ed Merks wrote:
<br>
<blockquote type="cite">Kamesh,
<br>
<br>
If you have an IEditorPart you can do
getEditorSite().getShell().getDisplay().&nbsp; Another way is
PlatformUI.getWorkbench().getDisplay().
<br>
<br>
<br>
Kamesh Sampath wrote:
<br>
<blockquote type="cite">Paul,
<br>
<br>
I have a small ambiguity in this .. When i run the&nbsp; transformation from
an action class (IEditorAction) , i will not be getting the display
right . then how can i call Display.aSyncExec() , i tried a round about
way of achieveing this by declaring a member variable status&nbsp; and
accessing the same after the run is through .. but i guess thats not
the right way .. Any insight in to this ?
<br>
<br>
Kamesh
<br>
<br>
Paul Elder wrote:
<br>
<blockquote type="cite">Kamesh:
<br>
<br>
You are not running on the UI thread. You must use Display.syncExec()
or Display.asyncExec() to display GUI. See the following Eclipse FAQ
for details:
<br>
<br>
<a class="moz-txt-link-freetext" href=" http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F"> http://wiki.eclipse.org/index.php/FAQ_Why_do_I_get_an_invali d_thread_access_exception%3F</a>
<br>
<br>
I find the Eclipse FAQ
(<a class="moz-txt-link-freetext" href="http://wiki.eclipse.org/index.php/Eclipse_FAQs">http://wiki.eclipse.org/index.php/Eclipse_FAQs</a>), very useful in
answering this kind of question. You can get them in book form, too -
see the bottom link on the FAQ main page.
<br>
<br>
Paul
<br>
<br>
"Kamesh Sampath" <a class="moz-txt-link-rfc2396E" href="mailto:kamesh_sampath@msn.com">&lt;kamesh_sampath@msn.com&gt;</a> wrote in message
<a class="moz-txt-link-freetext" href="news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org">news:71cb222b7b640dfd356dd1055150706e$1@www.eclipse.org</a>...
<br>
&nbsp;
<br>
<blockquote type="cite">Paul,
<br>
<br>
thanks for the info . I am able to club the ProgresMonitor with the
JET2 Transform.
<br>
<br>
I face one more problem , I am trying to simulate an erroneous
condition , want to display the error dialog , i tried something
similar to that of Jet New Project Wizard but am getting an Invalid
Thread Access error when i try to open the dialog ? What could be the
problem ??
<br>
<br>
Kamesh
<br>
<br>
<br>
&nbsp;&nbsp;&nbsp; </blockquote>
<br>
<br>
&nbsp; </blockquote>
</blockquote>
</blockquote>
<br>
<br>
<hr size="4" width="90%"><br>
<center><img src="cid:part1.02010901.07020003@ca.ibm.com"></center>
</blockquote>
<br>
</body>
</html>

--------------090202040308090703030407
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-ID: <part1.02010901.07020003@ca.ibm.com>

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL DBkSEw8UHRof
Hh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwL DBgNDRgyIRwh
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjL/wAAR
CAMABAADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcI CQoL/8QAtRAA
AgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS 0fAkM2JyggkK
FhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1 dnd4eXqDhIWG
h4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW 19jZ2uHi4+Tl
5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcI CQoL/8QAtREA
AgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMz UvAVYnLRChYk
NOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0 dXZ3eHl6goOE
hYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU 1dbX2Nna4uPk
5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD1W5juhOBE0sjKoKMwGN22 X2x3UflU9gsg
8zdJI6cY3oy4POfvkn09v1q5FbQwqVi8qNSc4VSBn8qfsX/nqn5H/CsLFjKz YjKkdwkbT+cT
L5aGLCA7iQd23H5nHNauxf8Anqn5H/CofsNp5nmeXb787t3l859c4osBkzRP I8q2y3BV02nz
N/J2ScZbtkr7dK1YNnkrs8zb28zdu/HdzU+xf+eqfkf8KNi/89U/I/4UAVb1 WewuFUEsYmAA
HJODVORJYbkxpG7RpE+xgDhVZl447jDYA7AYrVaJHUqzoVIwQQcEflUSWNpE 4eOO3Rh0ZY8E
fpRYDPhN0sTOjO5VyiiRHAIYLg4PPDdyem72pdkkcrJK1y1upwGUsWJ2pg/L z/f9s1q7F/56
p+R/wpkttDMoWXypFBzhlJGfyosBkRyXDLaODLu2xD7rsHBxuJIO0dT1GeM+ lAiljtLeNWmj
VFIl+WRjvAXgbSDjr0+X9K2ti/8APVPyP+FGxf8Anqn5H/CgCGHeIY/MJL7R uJABJxz04pty
EMDb9+AQcopJBByCAAe+KsbF/wCeqfkf8KNi/wDPVPyP+FFgMiU3LhcySiEF sOY33NwuMhNp
HO/24HsaV2uRNCSZQ6mNT8jEOCRuJwdg6nrnp16VrbF/56p+R/wqF7G0lcvJ Hbux6s0eSf0o
AoIkiW1r57XLK0eZMFt2/C4Hy89N39eafBE8TxuolBeeQOCSRty5Bx0HO3n/ ABrS2L/z1T8j
/hRsX/nqn5H/AAosAyqU1vLPdzoGCxSQqjkoSSMvnBzweffqK0Ni/wDPVPyP +FRS2dtMwaVY
JGAxlkycflRYCjslEW6RpyrTvvALZCZbbjHPXb07e1RSfaMRhHlDMj8EknYJ FwcZznaT/tfj
WusSIoVXQKBgAA4A/KjykDFt6biME4OSPy9zRYDKQSBU857hoMtgqrq2flx3 L4+91/wqzZp5
ZmUiQOZGY7s7cFiRjt0Pb8au7F/56p+R/wAKNi/89U/I/wCFFgGVnwxTLIjS D90s8jKFQ7gS
zAE88jBPb07ZrT2L/wA9U/I/4VA2n2bsWaK2LE5JMfJP5UWAzi08iW0X+kBl RVmOGHO9Afm7
8buQfWr1srIZkO/Yr4TcSTjaD1PJ5Jq1sX/nqn5H/CjYv/PVPyP+FFgGVluj NF5MPntbrtJD
IUKBWUgLwCeN3qeB+OvsX/nqn5H/AAo2L/z1T8j/AIUWAzNkuJpFafaskexS W+4Ahbg8nof1
7k5auZb8TOs/lB2VOHXBIjxx1xkN14rV2L/z1T8j/hRsX/nqn5H/AAoAoWHm fvN/mN0/ePuX
cec/I33fw4/kK9sZF09Iw1yXCJuVoiu1QRuCnaM8Z7k+la+xf+eqfkf8KNi/ 89U/I/4UAYZi
d3kEa3HkF9x3bwSAYueec8NjvxxVn955w2+fu3p5Wd23y/l3Zzxn733uf0rT 2L/z1T8j/hRs
X/nqn5H/AAoAqWKOllF5jSNIyAt5h5zgcf5/nVin7F/56p+R/wAKNi/89U/I /wCFFgMgw3Ue
fK48rMMfGcKc47cgZjyf9hvxeluxvDCfOW3QEIFdlAAWMDkH/e/Wrn9m2P8A zxtf+/X/ANap
kgiiQJG0aKOiqpAH6UWAyP30iRG4WczF4WUANtx8pbIHy9d3Xn9Kcv2gRqy+ fvVA04O7lgyk
hc8cgOPl46e1a+xf+eqfkf8ACjYv/PVPyP8AhQBQt0uVuQJmyFQkkE4JYg45 9CG+gK1cp+xf
+eqfkf8ACjYv/PVPyP8AhRYDKuLeZ49RKySruztRVGH/AHa+oz7cVFOly/2k FpSxWQbBG2Cu
Dt5zt/u9Bn9a1HsbSVy8kdu7HqzR5J/SpViRFCq6BQMAAHAH5UAZlszNcAoZ i3nSCTcW27QW
xjPHXb05/WtGnLEijCugGSeAep69qXYv/PVPyP8AhRYBlFP2L/z1T8j/AIUb F/56p+R/wpWA
ZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/AM9U/I/4UWAZ RT9i/wDPVPyP
+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/89U/I/4UbF/5 6p+R/wAKLAMo
p+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56p+R/wosAyin7 F/56p+R/wo2L
/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/AJ6p+R/wo2L/ AM9U/I/4UWAZ
RT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/I/4UWAZRT9i/ 89U/I/4UbF/5
6p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1T8j/AIUbF/56 p+R/wosAyin7
F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5H/CiwDKKfsX/ AJ6p+R/wo2L/
AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+eqfkf8KNi/89U/ I/4UWAZRT9i/
89U/I/4UbF/56p+R/wAKLAMop+xf+eqfkf8ACjYv/PVPyP8AhRYBlFP2L/z1 T8j/AIUbF/56
p+R/wosAyin7F/56p+R/wo2L/wA9U/I/4UWAZRT9i/8APVPyP+FGxf8Anqn5 H/CiwDKKfsX/
AJ6p+R/wo2L/AM9U/I/4UWAZRT9i/wDPVPyP+FGxf+eqfkf8KLAMop+xf+ei /kf8Kf8AZyOs
iL/vEj+dOwiGipvs/wD01i/76o+z/wDTWL/vqizAhoqb7P8A9NYv++qPs/8A 01i/76oswIaK
m+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z/wDTWL/vqizAhoqb 7P8A9NYv++qP
s/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCGipvs/wD01i/76o+z /wDTWL/vqizA
hoqb7P8A9NYv++qPs/8A01i/76oswIaKm+z/APTWL/vqj7P/ANNYv++qLMCG qerf8ge+/wCv
eT/0E1pfZ/8AprF/31VLV4MaLfnzYzi3k4Df7Jq6afOvUT2Mr4a/8gS//wCv 9v8A0XHXZ1xn
w1/5Al//ANf7f+i467OuzF/xpEQ+FGRRRWBofhKyjt7S/SWTzHjVyDHFjJGf 7ma5KcIzum7D
nKUbWVzbE0bTNEHBkUZI/L/EfTI9RUlZsmlCxvbZRcbofOZkTylD5KZ5cDJ/ 1ZyerAgEnHMf
iNtdj0WaXw4llJqUfzJDeKxSUDqoIZdrHsTxxg4zkc1OUpXurWZrJJWsa1Ma VVbbhyePuoT1
6dBVfTBqC6bbjVXtXv8Abmc2qMsW70UMScDpk9cZwM4ErFvMlCDLARMBnrhi f6VtFXdiWPMm
BkxzAe8Lf4UqOHXIzjJHIx0qP+0TeFYkVfvKxIkU4AYHsadCcqx9ZH/9CNOU UkJMczhMZDEs
cAKpJP4CkWVHcoCQ46qwII/A0zc/m793EchUBVJPKdc8+vpTQsk0ylz8+7Id kzgYOc/Kvt3p
qF1cLlimSTRw7PMYLvcIue7E4AohcyQxucZZQTj6U2aXymhP2jyd0qrnbktk /dHoT0zUdSiW
ori5itYxJM+1C6Rg4J+ZmCqOPUkCpa4nxjCsd7aSXUU4gnulRZBeSGEHYTuk j3KE243grnOw
5K5zRFXZM5cqudokkcjOqOrNG21wDkqcA4PocEH8RTq4aW7m0XUY4bbVbho5 p2MhmtvtLySM
vBZUAZlwmF2kbcYOQML2bO1xZGSyni3SR7oZivmJkj5WwCNw6HgjI7ilpuhQ mpE1FYXhhvFE
lpO/ihNMin80rDFYK+NgJG5mZjndwQMDAxnkkK/xbcS2vha+lhDF9qr8vXaz AN+hND0HKXLF
y7EsviTSYpChui2OrRxO6D/gSgj9a0YZoriFZoJEkjYZV0bIP41zGhnT7r4d m61Ii1WORysg
X5lPQYHfOAMd6h8B3j3K6gmHEIZHXcuDuYsDx24VTj396zjKV7PqYQrNySfU 7Giue18+Ll1L
T18PnSDZStsu2vYpGeAcneu11DDHG3g5xzgkr0NaHSUbvV7GylMU8x8wAEqi M5XPTIUHH41Z
trmC8gWa3lWSNujLXH2N+uka14kOtqJIX5hixlpQWO0D8Mc9se1L4PvjEL2S 6DQQyzRrGMMy
qzdAWxgEhowM4zkeoqFJ3szCnUlOfKlff5HaUVHOJWt5Ft3SOYqRG8iF1Vsc EqCCRntkZ9RW
N4YbxRJaTv4oTTIp/NKwxWCvjYCRuZmY53cEDAwMZ5JC2bm7TI5o5t/lsG2O UbHZgASP1FPq
K3l8xZR9o83ZKy4C4EfA+X3POc+9AEtVjqFqt69m0wWeOHz2UggBMkZz06g9 6S6lnW7s4o3j
SOeQxuzLlh8pYY7dFPX24rmyYdQ12+uZ7uxsrf7OlvCWuYpy7KzENjJyvPRu +O4BFKL5ZPsi
W9Uu51kciyoHQ5B9Rgg9wR2PtTqytEmjuEupRPDJK8zFxEwwOTjgAe/zHlgA T6CLxBKynT4h
ZPdLJcHKgrjIRsA5I69fwPTjOV5KN5LU0UU5WTNU3MIEh8xSYmCOFOSrEAhc DnJDDA6nI9ak
VldFdGDKwyCDkEVw9ndSQvfSjTHtxbXQkEjCMoMKpw3XGcfeAJXPHcV12m2x tLGONid5AZ8q
q4Y9cKvyr9B+pJJmE5Sla2hU6aity2SACScAVUj1SwmLCG9t5WXqsUgdvToO epA/GsnxHIJd
R0bTJiwtL2crNtON2MYU+xz+lZc+rNBeXSxaCbSHT7kf6Rt+UDdgbgQc7sDD KMrnIznBubaT
aOV1kp8r0R2isrorowZWGQQcgilqjo8YTSbZgxYyRrITtCDJAPCjhfoP1OSc y0Pi4+LLmO7O
kf8ACPou+GWOKQXEhOcIcuQCuMlsYIxgDJ2ON2rs206HQ0zzo/P8jcPN2b9v fbkDP5kU+ohL
/ppi+0YzEW8kLyfmA3E+gzjHvTAlqpBfG73taWz3KI20vDNCw6Bh/HxkEHns RVuuehP2uwz/
AMfO1wM/6/bmGI/9N8dc9VznOGzubWnS9pfWxEp8ptxTs88kMlvLBIiq5EhU 5BJA+6T/AHTU
1ZemxGC7aIoqEWkTbVAGMySnoETH/fI/rWpWTVm0Ve+oxZo3lkiVgXjwXH93 OcfyNPqKKXdc
XEf2jfs2HyguPLyDyT3zj9KgvpSjWsW8os82x2U4OAjNgHtnbjPXBOMHBCnJ RV2VFXdhsms6
fFd/ZXuVEuQpGDgE9i2MA8jqavV5pq+gTRatfXunzyXO5iyII5mIYkblBClS R8wzuyD7jNav
gtdSXVLpbiAW8CwgtH5Zjy5b5Tt+gfn6deznUpXiqcr3RnNzjLl5XbudtTJZ EhjaSRgqKMkm
m3M621u0zq7Bf4UXczE8AAepNc7caqzXUf2tfMjY+UsMO5XjdjtBznJYE47E dRgjFROTSfLq
zWEbvU6C3u4bksIy4ZcbleNkYZ6cMAanqnY2hg3SMqozoqCNOFjRc7VA6dz/ AJFXKcG5RTas
KSSdkMhmjniEsTBkbIDDvgkH9QaV5FTGc5Y4UAEknrwByeAfypltL51rG/2j z87h5gXaDhiM
Ae3T8KZJMIr6HODmJ/5pSqy5IuQ4R5nYmSRXzjOVOGBBBB68g8jgj86dVSaa AuT9gSZUKrIw
j3MC3oApzgEE8jg8ZPFOsiDAwDZxI/GCCoLEgYIBGARxjpjtU06vOOUOUs0V z12fFw8WW0do
dI/4R913zSyRSG4jIxlBhwCWzkNjAGcg4G/oa1IGNNGkscTMA8mQi+uBk/oK fUTy7LqBPtHl
79w8sLkyYUnGe2Ov4VLQBXnvbe3kWJ3JlYZEaKXbHrgAnHHWltb23vAxglDl DhlwQy/UHkVz
N/rkOl/aHkMsNzHdOzyq38BBAz7Bdv0xnrWVoWqy6l43SWEFYnWQMgAG2MLw OOoDYHbqK29n
unfRXv0ZzxquTXLtez8j0KmedH5/kbh5uzft77cgZ/Min1EJf9NMX2jGYi3k heT8wG4n0GcY
96xOglpgfODtYIzFVbjBIzkevY/lTm3bDsxuxxnpms8vJOkMERilnSZm2OmV zzncM8AbuufT
rkCqSuI0aKZJHFHcxmOJUyr/AHV25GV9hRL5gjJi2lh2bvSas7APqC5uktUL yA7QMkjHAyB3
PqRUybtg343d8dKid1FzGrPJHkEFlB+YHkrnt068H060JagOjlaVEdIWIcBl +dOQen8VORxJ
GrjOGAIzT7W7M7Mu52COF80qVD8kewyMHOOOh9hDbf8AHrD/ALi/yqpJJaAi Wio187ziG2eX
2IHJpt3B9qtZId5TeMbh1FQMk3oApLLhuFOetOrOsoobPTzDNJhtwy4AUpyD t5yOv6Y9BVhJ
kaVFimaTJ+YEqcDB54Hrj86px7CuWaQsoYKWAJ6DPWhiQhKruIHAzjNRs1v5 KF5yjb87+ASc
EY5+p4/+vSSuBLRUKSKZQscxlXaSxODg8Y6D6/lTpfOAHk7Cc8hqGrASUUDO Bnr3xULyIspW
WZol2gqRgZPOeoPt+dCVwJQylioYEjqM9KWole08p9k7O+/IfgkHAGMADI4H H/1qkUkoCy7S
RyM5xQ1YBaKjj87e3mbNo+7tHWpKQwooooAKKKKACiiigAooooAKKKKACiii gAooooAKKKKA
ClVSxwOtJUpzEm3o56+wpgJvCcJgn+9/hUdFFIAoqhrih/D+pI3Ctayg/wDf BrB0/wAPaNa3
8y211LOghQ7oLWKTBYtkExx/7I4PB5yCK0hGMk9dSJSaa00OpimjnUtE4YA4 yPz/AJEEeoIP
emwwfarSW8mv5LWFGkB2bAqqjEEsWU/3Se1Z+jRsZrt5WzJEywcQ+UCqohBK 4Byc55+70HHJ
ZrF7DaeCbiOaV4vtU89urIVHLSPnJYEAYBzxnHTnFZ0ZPkcpLUdRxi99C5aT 6Vf3LW1r4laa
cNt2I8JLHaG+X5PmGD1GRwR1BqVYrV9Vk0xdYvDeRxCZo/Lj4QnGc+Xjr71x Xh5zca9b3X9r
ybEvTNOZZ4doLRFVC5UFt23acDOM8Dhq6zSbDU5fGV7rN7ZCzia1W2RDMshc hs7hjtx3wa2o
vni5SViZuOjpu6Zq/wBjt/0E7z8ov/iKP7Hb/oJ3n5Rf/EVjaxql3ofipXbU ZJbO40y5mSym
VBGs0b2yRqjJGZSWMpGPnJLAKpOBVex+IUDwmfVLGTT4IXuIbmVhLiOWOFbg KqPGkhDQmRsl
FwYyADuUmtOwWOh/sdv+gneflF/8RUF3aSafCs4vJph5iIySqmMMwXjao9ay bjxtPZajptrd
6Vt8/wCzRXgheWZrO4mKqImZYjDwXQktKpKtkKcqG6DW/wDkG/8AbeD/ANGp RZdgZBRRRXOa
BRRRQAUUUUAFFFFABVPVv+QPff8AXvJ/6CauVT1b/kD33/XvJ/6Caun8a9RP Yz/hr/yBL/8A
6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrtxf8aRnD4UZFRacLixsIrV5YpBEg RGWMqcAY5+Y8
0qm4cbo7G4ZT0J2rn8GYEfiKdi7/AOgfP/33H/8AFVwWZpoV3ivZ7iB57i3M cMhkCxwMrMdr
LyS5/venarVNxd/9A+f/AL7j/wDiqMXf/QPn/wC+4/8A4qkotdB3HVVuYJZf NCbMSR7OSRjr
7e9WMXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qqV1qhFR4buS4jlZ1ITo pkY9iD1HuPyq
zAjJFh8bsknB9STTsXf/AED5/wDvuP8A+Koxd/8AQPn/AO+4/wD4qm3JhoVJ 7e7M7vBOFRsH
afXGPQ+lRm31HHF0ufw/+Jq/i7/6B8//AH3H/wDFUYu/+gfP/wB9x/8AxVNS khWQRJ5cSJnO
1QM0MJC0Zjl8vDgsQuSV7gc8Z9aMXf8A0D5/++4//iqMXf8A0D5/++4//iqi zGOqpfWMF4m6
W2iuXjRvLjnP7skjHIwR7ZwSATjqQbOLv/oHz/8Afcf/AMVRi7/6B8//AH3H /wDFUWYaGJon
hWw0WO1fMlzdwRCMTzSM2OACVUkhc47djjOK3agmluIEDPp12QTj5Arn8lY1 FFf+eu6G3lkH
cq8Zx/49Q79RRikrIuVHPDHcwSQTIHikUo6nuDwRUf2mX/nyn/76T/4qj7TL /wA+U/8A30n/
AMVSGczdeCGnjitk1RxZRMXjhki3FSepyGAJ9yDXQaVpVto9n9mttxBbczuc sx9T+AA/Cpvt
Mv8Az5T/APfSf/FUfaZf+fKf/vpP/iqSilqZwowg+aK1LFFV/tMv/PlP/wB9 J/8AFUfaZf8A
nyn/AO+k/wDiqZqLc2VpeAC6tYZwvTzYw2Pzrz1vAXiDcwXU7cqWDctycYx/ yzJ7DjOD3zk5
9B+0y/8APlP/AN9J/wDFUfaZf+fKf/vpP/iqmUFLc3oYidC/J1Cwt3tdOtbe R97xRIjP/eIA
BNWKqi8cyNGLOfcoDEZToc4/i9jTvtMv/PlP/wB9J/8AFVRi3d3ZYpqCQKwk l35clRtwEXjA
689+feoftMv/AD5T/wDfSf8AxVH2mX/nyn/76T/4qgRBq1rdXMMLWUscdxDJ vXzOhyrKecHB
wxIODyBxVKK21mGMRxwWIUf9PLkk9SSfL5JPOe9an2mX/nyn/wC+k/8AiqPt Mv8Az5T/APfS
f/FVrTrShskRKCluFra/Z1LO/mzvjzJCMZ9AB2Uc4H8ySSzUNPTUIo1aaWFo n8xHiIDA4I7g
joT2qaK4SYlcMjr95HGCP8R7jim3V3BZQ+bcSBF6c9zWcrzeuty4+7sYy+Fl P2pJtUvZIp3y
yfIMjaAQTt56HkY4wO2T0FYf/CV6f/cn/wC+B/jR/wAJXp/9yf8A74H+NWsN VW0H9zFKspbs
vatpNtrFn9nuNww25JEOGRvUGskeF7i5aNNV1m5vrVDn7OwKq31yxyKsf8JX p/8Acn/74H+N
H/CV6f8A3J/++B/jT+r1f5X9zMpKlJ3djcAAAAGAKKw/+Er0/wDuT/8AfA/x o/4SvT/7k/8A
3wP8af1er/K/uZftIdzcpoEnmlvNxFsx5YXq2epOfTPGO9Yv/CV6f/cn/wC+ B/jR/wAJXp/9
yf8A74H+NHsK38r+5hzw7m5WYNPu0fKz2ciq++L7TbyTMmAAMM0vBwo6Yycn qTVb/hK9P/uT
/wDfA/xo/wCEr0/+5P8A98D/ABpqjXW0X9zE5Qe7Ra0XRbfRLPyovnmfBmmY fNI39AOw7fXJ
OlWH/wAJXp/9yf8A74H+NH/CV6f/AHJ/++B/jU/V6v8AI/uYRlTirJo2lEga QtLuQ42R7cbe
uTnPOePyqlqunNqMESx3DW8sUnmI4GR0KkEZBwQx6EEcHNUv+Er0/wDuT/8A fA/xo/4SvT/7
k/8A3wP8aUsNVkrOD+5lRqxi7pj00zUo0VEv7NUUYVVs2AA9B+8rTtbWO0i2 Jkknc7tyzt6n
3/lwBgACqFvr9rdNtiSQnjhmRf5tV37TL/z5T/8AfSf/ABVc8cPCk9FZmsqs prVllAizpK6b
ygO0E8Anv9ev5mqFxpcF1rh1OXBIVQsQXChxn5z6nGAPTA9Bib7TL/z5T/8A fSf/ABVH2mX/
AJ8p/wDvpP8A4qq5Ve5N2WKKr/aZf+fKf/vpP/iqPtMv/PlP/wB9J/8AFVQi aMSLEiyy+a4z
ltu3ucADJ6DAqOe1iuQvmqcr0KsVI/EHNN+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqGk9G
CbWxEbOeN2NtcrGjYJWRC5yFC9dw7AdamtbdoBIZJPMklfe7BcDOAOBz2A70 n2mX/nyn/wC+
k/8AiqPtMv8Az5T/APfSf/FVnGlCMuZLUpzk1Zliiq/2mX/nyn/76T/4qj7T L/z5T/8AfSf/
ABVaEkxEnmoyy7EGd6hcl+OBnPHPNOqv9pl/58p/++k/+Ko+0y/8+U//AH0n /wAVQBQ1fw5Y
6yQ0/mxSgY8yFtpI98gg/lUmkaDYaIji0jbzJMb5XOWbHQZ9PYVb+0y/8+U/ /fSf/FUfaZf+
fKf/AL6T/wCKqnOTXK3oTypO9ixTQJPNLebiLZjywvVs9Sc+meMd6h+0y/8A PlP/AN9J/wDF
UfaZf+fKf/vpP/iqkosVUgju4pmZmjaMoE2cDkd87cnncef7xp/2mX/nyn/7 6T/4qj7TL/z5
T/8AfSf/ABVNSa2E0SfvXmV3VFADDhskk49h6VJVf7TL/wA+U/8A30n/AMVR 9pl/58p/++k/
+KobuBYqKeNpFXbjKtnB78Ef1pn2mX/nyn/76T/4qj7TL/z5T/8AfSf/ABVI YsNsIotu+QEk
sQsjAZJJ9feplUIgVRgAYAqD7TL/AM+U/wD30n/xVH2mX/nyn/76T/4qndsR Yoqv9pl/58p/
++k/+Ko+0y/8+U//AH0n/wAVSGSSQrIyscgqQcjvg5wakqv9pl/58p/++k/+ Ko+0y/8APlP/
AN9J/wDFUAWKjMKmZZeQw5wOh4xzUf2mX/nyn/76T/4qj7TL/wA+U/8A30n/ AMVQBYoqv9pl
/wCfKf8A76T/AOKo+0y/8+M//fSf/FUAWKKr/aZf+fGf/vpP/iqX7TL/AM+M /wD30n/xVADx
CgmaXkseeeg4xxUlQfaZf+fGf/vpP/iqPtMn/PjN/wB9J/8AFUAT0VB9qk/5 8Zv++k/+Ko+1
Sf8APhN/30n/AMVQBPRUH2qT/nwm/wC+k/8AiqPtUn/PhN/30n/xVAE9FQfa pP8Anwm/76T/
AOLpftUn/PhN/wB9J/8AF0ATUVD9qk/6B83/AH0n/wAXR9rk/wCgfN/30n/x dAE1FQ/a5P8A
oHy/99J/8XR9rk/6B8v/AH0n/wAXQBNRUP2uT/oHy/8AfS//ABdH2uT/AKB0 v/fS/wDxdAE1
FQ/a5P8AoHS/99L/APF0fa3/AOgdL/30v/xdAE1FRfa3/wCgdL/30v8A8XR9 rf8A6B0v/fS/
/F0AS0AEnAGTUX2x/wDoHS/99L/8XQb2bGFsZlHt5f8APdmmIsgeV8x+/wBh 6fWo6r/aZf8A
nyn/AO+k/wDiqPtMv/PlP/30n/xVIZYoqv8AaZf+fKf/AL6T/wCKo+0y/wDP lP8A99J/8VQA
X9r9t066tA/l+fE8e/Gdu4EZx361XSPWo7l5xf6fueNIyDYvjCliP+WvX5j+ lWPtMv8Az5T/
APfSf/FUfaZf+fKf/vpP/iqabWwmrjLK2uIXupbqeOWa4lEjGKIxqMIqAAFm P8OeveoLi00j
UdFfTNWuI4GFxJIpaQI6kuxDLng8N7jk1a+0y/8APlP/AN9J/wDFUfaZf+fK f/vpP/iqala9
yZRUlZnn2teHZLWVbTQtStpLOQAyTPdwh2bkfPnHygHgKD1PGa9K0/UtOtNN tbaXVrOSSKFI
2fz1+YgAE9arfaZf+fKf/vpP/iqPtMv/AD5T/wDfSf8AxVausuVRtohRhyqy IHsPCsst1LPe
xTyXOdzz6k8hiywf90Wc+T8yqw8vbgohHKrgtrDwraWctql7FJHNdx3shn1J 5neaMxlGLu5Y
48qPjOPlxjGan+0y/wDPlP8A99J/8VR9pl/58p/++k/+KqfaLsOzIL2w8K3+ orfT3sXnCWOc
rFqTxxySRlSjvGrhHYFE5YE4VR0AAu6lf2d5arBa3UM8pmibbE4YgLIrEnHT gGoftMv/AD5T
/wDfSf8AxVH2mX/nyn/76T/4qj2i7ByssUVX+0y/8+U//fSf/FUfaZf+fKf/ AL6T/wCKrIss
UVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsUVX+0y/wDPlP8A99J/ 8VR9pl/58p/+
+k/+KoAsUVX+0y/8+U//AH0n/wAVR9pl/wCfKf8A76T/AOKoAsVT1b/kD33/ AF7yf+gmpBdh
WAmhlhB4DOARn6gnH41Hq3/IHvv+veT/ANBNXT+NeonsZ/w1/wCQJf8A/X+3 /ouOuzrjPhr/
AMgS/wD+v9v/AEXHXZ124v8AjSM4fCjHvtQuLbVbSKKCW4jkglZo4tgOVaMA 5YjpuI696xfC
/iy71vUpLe4jgVBEZAYwM9Iz2kbu7DkDp65A0b5Lt9Ys5LV449tvMGkkhMij LRYHDLgnHr2N
ZHhq21631GR9UMxhMRA3y7huxH0/eN3EnYdffA8+pKXNGx0U1Hllc39U8RWG j3Fvb3RumnuE
d447azmuGKoVDEiNWIALryfUVoQXUN1bxXFvKk0EqB45I2DK6kZBBHBBHeuY 1nSb/UfFGl3V
rfXVhDBZXUclxbCEtud4CqESI4wQjHIH8I5GcHndU8NX0XiDS207TZ1i0+Wz gsp7UW22KzR0
8xJZJP8ASN23zhhDtZSoOSXzrcyPQbzVIbG60+3lVy99cG3iKgYDCKSXLc9M RsOM8kfWrm+v
LoPC1/JYaRZxaY+l6lbXCnUdWTyc3ji1uI2m3I/muGd+S2yTEpIKtllW+0XW LnXNNvI9Deyl
s57WK3NiLPyYLVJF81WkbE+CPOwse1TGyAqCXWi4HqG+q99qFvpun3N/dyeX bW0TTTPtJ2oo
JY4HJ4B6V4xBpf8AaV0ul6bYomq2Wmvb61fWkltI17KtxamQMwZsvIIp8C4C 7tzBhjfjrrbw
9dwfDjxBpNta3Uct7b3K2trcvbqyF4dgULCqwxgsCcKSPmLE5YgFwOx0zW7X VvN+zRXyeVjd
9qsZrbOc9PNRd3TtnHGeorQ31wos7q60d7Kz0fV7C6FwslteanfrctbSFSPO VvOkYhQMeXwH
37T8rORzt9oxu9Z1Cxg8MY1P+xoI7W68yKT+z52mu/3/AJzsJDl8Sb1BkONz APxRcD1DTdUh
1S1e4gV1RLia3IcAHdFK0THgnjKEj2x06Vc315Xc+GNUePUUk0n7VcXP2pdM uN8R/syZ7q5k
W4yzBkyssDbowz/uuQCqgz33hC5k0KRfss7STazc3V7DC0MslxbmW4MSKs+Y ioMscmxsAHcw
AfqXA9N31BeXL21jcTxQtPJFGzrEvVyBkKOvJ6VxHhXwxJp+si9vLafbDYQx WhuJ0dom865Y
rtjCorLHKijau1FZkRiuSevu5Z0sp2tUV7hY2MSN0Z8cA8jvjvRcCL+1rj7P u+yx+Zs83zPO
P2Xy8Z3+dtxjHbGc9tvzVIkaalZ211NC9rcvErHH+sjyMlCSOcZIwR+GazvL uf7P8n7HJ9l3
b/K3p9p8zfv83du8vO/nZ0xzn+CtK0lneyga6RUuGjUyovRXxyBye+e9DYFd WeOXyJ8eaBlW
HAkHqP6jt+RqWpbiJLmPY+Rg5Vh1U+oqmkxjkEFwVWX+E9BIPUe/qO361m0M gm1mwgttTuJZ
9sWmZ+1tsY+XiNZT25+RlPGeuOvFWoZlnQugcAMyfOjIcqSDwQDjI4PQjBGQ Qa4nW/B82p2n
jKXZe/ar3f8AYY4tQkijl/0SJF3IrhDl1YHeOQOeMVk3vg3Vbm7kee3vXVpb k2n2WS1H2V3u
7iQSl5VZotyyQnfCC42HIyqiiyA9QorhZvDNzH4dvof7O86S+1O4lvEAhmmk tzcSyRCMT5iG
C0bbW4AaQgBzVHRvCGrmy1J5o5rW+/sx7XTJridA1u5mvNhxCSqMscsQBQfK GZUwMiiwHeya
hFHq9tprK/nXEEs6sANoWNo1YHnOcyrjjsfxt1xNv4W03UNXsHl8G2tjpkEF 2Htbm3tivnO1
vtcJGzLkqjjPX5cHGRmvo2kXrX2m6bezOzizstR1iKQ72+1RrsQmTOWLvErZ U4H2TnPmkksB
2yf8hGb/AK5R/wA3qxVdP+QjN/1yj/m9WKQzO1H7Z9pt/I+2fZ9j+Z9k8ndu yu3Pm8Yxv6e1
Qw/bvtttt/tTyt5877X9l27djYx5fzZ3bf1rXop3EUdWkuI7D/RX2TvNDGrZ A+9IqnkhgOCe
cHHpVHUbLxBZaZd3X2rHkQvJn7VG33VJ6fZhnp0yPqK1L23e6twkUixyLLHK rMm4ZRw4yMjI
+X1qK9TWL6xuLSW9sRHPE0TFbN8gMMHH73rzTjbqBJeKAIZRw6SqAfZmCkfT n9BXK+JJHl1V
4yfkjACj6gGurvf9Qv8A11i/9DWuX1tN2r3H/Af/AEEV1YC3tlcyr/Acz4iu V0jy4baWKa5x
mRM7gBnrweAe2ck4zgAil069g1O0E8SmNwdkkTHJVgBznAyDnj8R2yaniO0v 7a+E1hG1zbTK
vypv3o3I5AbAHA/+vnNaGj6fcW1n5l5gXMpyY1YsEXAwMknnrnHt+Hsqa0V7 /IxqRio6Im8u
jy62FmxDFCZG8oQuGTnbuO4jj8V5qeW6idwMoI2JC4DkxqVK9zgYyOF4OPYU 3UfYwsjA8unR
27SyLGgyzEKB6k1rSSRTxhMeVvkUN1baq5APvw2P+A+9Ptp0hgi3uRscNsjJ G7DZO4Hg8Dgg
+n4DqO2wWRieXTlt2dXZRkINzewyB/MitlbkxGHdMZSs++Rhklh8mOTg9uns PalidLe38qO5
AkbdiRNwC5KH0z/CelL2j7BZGH5dHl1uLNGIoQ0mCowqoW2IdpAYgjhskHI9 +/UilCsN9zux
JulPzHzlwPl6c9CMHA5p+0fYLIxY7dpZFjQZZiFA9SaWS32Hh0dc4DL36djg 9/StuK6UXCeZ
KxiRYtoOSFZSmcDtwG/yabbyPLGE8xzcsX2v8xK/c5yOeisOKXtH2HZGH5dS 2un3V61wLaNJ
DBGJGjDfvHGSDsXHzY4zz3GMkgVfv0LXZ3NvYIgZueSFAPXnrTdPuhp981z9 maWeNP8ARWJA
jRzuDM4zuOFPAHXJzjgiatSfJeG44Jc1mUrmwurFrf7RGsZnjMipu/eIAQBv XHy55xzng5wQ
RWtpOtzWjJDcMXt+g9VqtqF0NQvlufszRTyJ/pTAgxu42hWQZ3DKjkHpgYzy TB5ftWXJ7ana
qtfyK5uSXuHeo6yIrowZWGQR3p1cnpWpvYv5cmWtyeR3X3FdTHLHMgeJ1dT0 KnIrxq1GVKXK
zshNTV0PooorIsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK999o/s+5 +yf8fPlN5PT7
+Dt68dcdazv9K/6mD/yRrZoppiK9j9o/s+2+1/8AHz5S+d0+/gbunHXPSs21 tdcv0lnhucRf
aJkQfaETAWRlAwbdvT+8a2qpW0eqWUbw215Z+UZZJFElozMN7l8EiQZ5b0px t1Bkemi7Jv7X
UHErwz+XyyuNpjRsZCID94/wj05plxn/AIR28UsW2RTICTkkLuAz+VW7SCeK S6muZo5ZbiUS
MY4yijCKmACx7L696qXP/IA1D/duP5tVQ/iL1B7Ff4a/8gS//wCv9v8A0XHX Z1xnw1/5Al//
ANf7f+i467OuzF/xpGcPhRlbqN1NorzzUduo3U2igB26jdTaKAHbqN1NooAd uo3U2igB26jd
TaKAHbqN1NpOSwRBudug/qfamIfuo3VXiuoZUQiSMMwB27hnntU1ADt1MlVZ ozHIu5T1FMae
JGKtKikdiwFLFIXjRmXaXQOvOQQfQ/j/AJ4o1AhME8X+puNw/uTDd9ACMH8T ml33n/PCD/v8
f/iKsVFukaN5VwFUnggc465ORjoexoSuAzfef88IP+/x/wDiKN95/wA8IP8A v8f/AIipFlJ2
bo2UP91iQQeM9ie1ExIQYOPnX/0IUnoMj33n/PCD/v8AH/4ijfef88IP+/x/ +IqxWauqOw4g
ycAkKJGxkAgEhCM4IqowlLYlyS3JlW8Fy83kwfMirjzjxgk/3fepN95/zwg/ 7/H/AOIplrfC
4kMTxvHJglQyOAyjGSCyjucVLcz/AGeNTgFnYIoJwNx4GT2H/wCoZJAMz9z4 hx97YbvvP+eE
H/f4/wDxFG+8/wCeEH/f4/8AxFZ0mrpp13cW13cJMyuCredDHgFVONrOCOc4 znjHJ61qW06X
Vuk8edrjIz/nBHuMg9QSKzhVjPRblyg46sZvvP8AnhB/3+P/AMRRvvP+eEH/ AH+P/wARTroX
JtZPsjRLcY+QyglM++CD/nv0rNFzqEuyO3vrN7kkebC1kymAd9/7049uu7qP lyw1sQWrlrkx
oJIolXzY8lZST99e20Vj6hby3Gr3KxRPIw2nCKScbV9K3r3/AFC/9dYv/Q1q PSv+Rnvf+uQ/
klb4aXLPm8iKqurGB/Zd7/z53H/fpv8ACj+y73/nzuP+/Tf4V6FRXZ9cl2Mf YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/s u9/587j/AL9N
/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYP YLuee/2Xe/8A
Pncf9+m/wo/su9/587j/AL9N/hXoVFH1yXYPYLuee/2Xe/8APncf9+m/wqWC 11S2JMEF0meo
ERIP4EYrvaKmWJ51aUbjVG2qZycd5qqriXTJJD6qjL/Q0/7dqH/QIm/8e/8A ia6miuZqn/L+
Jr73c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/ 0CJv/Hv/AImj
7dqH/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x 7/4mupootT7f
iHvdzlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8A QIm/8e/+Jo+3
ah/0CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/ +JrqaKLU+34h
73c5b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0C Jv8Ax7/4mj7d
qH/QIm/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A 4mupootT7fiH
vdzlvt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib /wAe/wDiaPt2
of8AQIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJ rqaKLU+34h73
c5b7dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv /Hv/AImj7dqH
/QIm/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4m upootT7fiHvd
zlvt2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/ 8e/+Jo+3ah/0
CJv/AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+Jrq aKLU+34h73c5
b7dqH/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8A x7/4mj7dqH/Q
Im/8e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mup ootT7fiHvdzl
vt2of9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe /wDiaPt2of8A
QIm/8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaK LU+34h73c5b7
dqH/AECJv/Hv/iaPt2of9Aib/wAe/wDia6mii1Pt+Ie93OW+3ah/0CJv/Hv/ AImj7dqH/QIm
/wDHv/ia6mii1Pt+Ie93OW+3ah/0CJv/AB7/AOJo+3ah/wBAib/x7/4mupoo tT7fiHvdzlvt
2of9Aib/AMe/+Jo+3ah/0CJv/Hv/AImupootT7fiHvdzlvt2of8AQIm/8e/+ Jo+3ah/0CJv/
AB7/AOJrqaKLU+34h73c5b7dqH/QIm/8e/8AiaPt2of9Aib/AMe/+JrqaKLU +34h73c5b7dq
H/QIm/8AHv8A4mj7dqH/AECJv/Hv/ia6mii1Pt+Ie93OW+3ah/0CJv8Ax7/4 mj7dqH/QIm/8
e/8Aia6mii1Pt+Ie93OW+3ah/wBAib/x7/4mj7dqH/QIm/8AHv8A4mupootT 7fiHvdzlvt2o
f9Aib/x7/wCJo+3ah/0CJv8Ax7/4mupootT7fiHvdzlvt2of9Aib/wAe/wDi aPt2of8AQIm/
8e/+JrqaKLU+34h73c5b7dqH/QIm/wDHv/iaPt2of9Aib/x7/wCJrqaKLU+3 4h73c5VtQv0U
s2kyqoGSSWAA/wC+ajeTzfDN5JjG+KdsZzjJaul1H/kGXf8A1xf/ANBNcun/ ACKdz/1wm/8A
ZqfLG8Wl1Fd6pjfhr/yBL/8A6/2/9Fx12dcZ8Nf+QJf/APX+3/ouOuzrbF/x pBD4UZFFReeP
+eN1/wCA0n/xNHnj/njdf+A0n/xNcFmaktFReeP+eN1/4DSf/E0eeP8Anjdf +A0n/wATRZgS
0VF54/543X/gNJ/8TR54/wCeN1/4DSf/ABNFmBLRUXnj/njdf+A0n/xNHnj/ AJ43X/gNJ/8A
E0WYEtFReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATRZgS0VF54/543X/gNJ/8 TR54/wCeN1/4
DSf/ABNFmBLUZdrdmkHKtjce6/8A1v5c/gnnj/njdf8AgNJ/8TR54/543X/g NJ/8TQroQ3zr
m5tsFI1WVOfnJwCPpU9ReeP+eN1/4DSf/E0eeP8Anjdf+A0n/wATTd2AqPcw qUj8spuJBLEH
k59PemJcS3saFgFUYYkc8+gP6E/h9HeeP+eN1/4DSf8AxNHnj/njdf8AgNJ/ 8TRdgS1mXq3S
IpRN0SSF3XAIcFgfUHgZPQ8/QGr3nj/njdf+A0n/AMTR54/543X/AIDSf/E0 JtA9TO02SWeV
t2FRZCypwNo5HHJPOQewzn8dKf8A1Y/31/8AQhUaNFGcpaTqemRaOP8A2Wle UOoHk3Q5B/49
pOxz/doldsFoT1labDqksMw065tbZkkVZRdWryEnyoxxh0x0Prnj8dDzx/zx uv8AwGk/+Jqv
JBZzSGSXTndz1ZrJyT+O2rpzcL6EThzDvKv4r+2Goz200pimKtbwtEu3MXBB duevOfwqy6JL
G0ciq6MCrKwyCD1BFVYYrW3cvDYSRMRglLN1OPwWp/PH/PG6/wDAaT/4mpm+ Z3KiuVWOce7l
sbW/jWK4j8wsxmmExMXyhQdyxEHAUc7j0zuPWtuyd45ZLQzNcrEP9cRgrnor 9i2MHI/EDI3S
TmK5t5IJbe6aORSjr9nkGQRgjpRCYreFYore6VF/6d5CSepJJGSSeSTyTXJC hOM076G8qkZR
21LNFReeP+eN1/4DSf8AxNHnj/njdf8AgNJ/8TXTZmQy9/1C/wDXWL/0Naj0 r/kZ73/rkP5J
S3Um+AfJKuJYv9ZEyfxr0yBmk0r/AJGe9/65D+SVrR3foRPoa+r3clho19eR BTJb28kqBhwS
qkjPtxXP6N4Z02+8M2k90sk19dwR3D37vm4WQqpBWQ8jbgYHTjnPOeqlijmi eKVFkjdSrowy
GB6gjuK5+Dw9qVnpx0u112RbEYVGeHdcRx8ZVZAwA74O0lc8dBXTTmlGydnc ynG8r2ujL8J+
Jb+6GiW1+I/JvLKQRTfMXlmicqQTk/wAMSRySee1C+NZ5ILdibKBb+9mSzu5 8rCLaMjLuCwO
48gD5cn076moeEoLjQ7LT7C6ksJrHH2e6iUb14w2SMH5gSTgjJ59qlk8MQR2 ulpp8v2W40vi
2mMYcEEYcOowG3DOSMHPII77OdBvmtvf9bfp+Jmo1Urf10/4Jhah44nsLfU4 op9Ov7i3gjuI
Li2yYmQyKjK67yQwLZ4Y5BHTodHUdX8Q6NbG+1GLSxZi7iVzAZHMUDMQxOcZ YZQDA9eKn1bw
/qWt6ZeWV7rEYSdEVFhtNqIVcMWILliTgD7wA9DWxqNhBqmnXFjcruhnQo3A JHoRkEZB5B7E
Cpc6Stot9fTT08ylGo76+n4mBrOsTS3Ov6ekEE1lZaU8lxuDA+cykqhIIypQ Z4/MGqsPiVbW
30PTIZbDTjJpsV1JNdk+UibQqogLgs2fVuAO5rR0/wAK/Y9A1Gwlv5Lq81BH We9lXLnK7F75
IUdAT69M06Pw3JaNptzY3qxXtnaLZPJJDvSaIDoU3Ag7gGBB9jkU1Kily/1t v94uWpv/AFuZ
MnjWeKxvplNlc/2ZdQi6mt8tHNbyHAMQ3cOOAQSQCDyatN42ii12/tpYP9Bt 0mEUyEl5JYVD
yptPTAbgnA+U8nPGpcaPdahpeo2epX8dx9rQpGFtgscHy4BCkkk7vmyW6gYx WXd+BoLjw5Dp
qXskd5G7Stf7AZJHfIk3dCQwOCM9AuScctSw7+L9ey1+/wDMTVVbG3oN3d3+ g2V5fCAXFxEJ
SIAdoDcr15ztIz75rRpsUUcMSRRIscaKFRFGAoHQAdhTq5JNNto6ErKzCiii pGFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB RRRQAUUUUAFF
FFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQ
AUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVtR/5B l3/1xf8A9BNc
un/Ip3P/AFwm/wDZq6jUf+QZd/8AXF//AEE1y6f8inc/9cJv/ZqtbR9Ser9B vw1/5Al//wBf
7f8AouOuzrjPhr/yBL//AK/2/wDRcddnWuL/AI0gh8KKuoXEltaeZFt3mSOM FxkDc4XOMjOM
561zOmeNrHVb+e1sdb0u9kt7iOFo4ACZFby8yIRK2VHmhc4+8pFdPf2hvbNo Fl8piysr7c4K
sGHH1FYlr4Vlt76S5bUA3nXKXM4EJHmOoRQeWOOI0HA7etYpgzS1q8urGyjm tTCCZ443Mqls
K7BMgAjJyy9+mayZdbsreYiPXLOOdSVkE82/J7grvAHPpjH04rW16wuNT0aa 2tJY47ndHLE0
oJTcjq4DY5wSuCR0z3rmINB8UW6EBNMZmO53a8k3O3qf3P09gAAMAAUlQ9q7 uVrDdRwWkbm5
oOuf2peXsDXthP5JUR/ZzhmG0Fm27m+XLAZB6g1mXfjr7JrGu6a+nfvrHy47 D9//AMf8zLD+
7+7+6w9zbpuYkfvM9FbG3o2kvYp9ovHWa/dcMy/djXrsTPbgZPViMnACqrLf w9bx6rd387ed
JLqAv4Bgr5L/AGVbY9D83yhuv9/pkA05JJ2TuCbau1Yr6N4u07VfD1rqzt9n 837LHLFhn8qa
4SJkjztG7/XxjcBjnnGDjL07x8osNPv/ABDbWmk2mo2SX1tMl20yqjPCmJSY 02HdcRcjcPvE
lQMmTR/CP9naxo/mL5kOj6Vb2yXWcfaZkWSNW2bvk8tHl45DfafWMVJp/gLT dK8MWWk2Udpb
zwvYvc3cNoqNdNbSJJlwDklih5JON5PPeRmoPFGkm8htTNOskuwZe0lVI2cA pHI5XbHIdy4R
yrfOoxlhmnb+N9HktUnmmkQM8u7ZbTsIESV498+YwYBlGyZAoBV8EhS1F14X muNUuJFv400+
7vbfULmA25Mpmh8rZsk3gKn7iLIKMT8+GGRt5+P4dDUB9tvodNW4uXnM0d9p 8d48ET3M86CI
ltkcoE5DEiRCVXAIX5gDoNW8aafpsU7QxXd2be4hglMVrMY/nnSFgkgQrI6l zlFJbKlcAg46
CCZbm3inQSBJEDqJI2RgCM8qwBU+xAI71zb+Frw211Yx6nAtg12b+2RrQmWO 4+0i5Bd/MAeP
zMjaFU7SBuyNx6SATLbxLcSRyThAJHjQorNjkhSSQM9snHqaAJKKKKACiiig AooooAKKKKAC
iiigAooooAKKKKACiiigAooooAy9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKv63 /qIf+usf/oa1
Q0r/AJGe9/65D+SUU/ifoKWyOjooqneM7SxQhmVGVmYqSCcYwMjp1/SnFXdg bsi5RWZ9nX/n
rcf9/wB/8aPs6/8APW4/7/v/AI1fIu5POadFZn2df+etx/3/AH/xo+zr/wA9 bj/v+/8AjRyL
uHOadFZn2df+etx/3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8A f/Gqcl7pkWpx
aZJqipqEyb4rVr0iV155CbskfK3IHY+lHIu4cxv0VmfZ1/563H/f9/8AGj7O v/PW4/7/AL/4
0ci7hzmnRWZ9nX/nrcf9/wB/8aPs6/8APW4/7/v/AI0ci7hzmnRWZ9nX/nrc f9/3/wAaPs6/
89bj/v8Av/jRyLuHOadFZn2df+etx/3/AH/xo+zr/wA9bj/v+/8AjRyLuHOa dFZn2df+etx/
3/f/ABo+zr/z1uP+/wC/+NHIu4c5p0VmfZ1/563H/f8Af/Gp7Mus0sRdmRVV l3MSRktnk/Sk
4WVxqV2XKKKKgoKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAK2o/8gy7/ AOuL/wDoJrl0
/wCRTuf+uE3/ALNXUaj/AMgy7/64v/6Ca5dP+RTuf+uE3/s1Wto+pPV+g34a /wDIEv8A/r/b
/wBFx12dcZ8Nf+QJf/8AX+3/AKLjrs61xf8AGkEPhQUUUVzlBRRRQAUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAZet/6iH/r rH/6GtUNK/5G
e9/65D+SVf1v/UQ/9dY//Q1qhpX/ACM97/1yH8kop/E/QUtkdHVW5XM8R9FY fqKtU1kDMCew
NOLs7g1dHzhZ281iL7QbeLw14onvNN1Ro9W0pTPqCsY3IedxuOXMnlgZ5LAb jj5t7R9Y1drD
4f6J4e8VIRqVlPFcyPBBcC2eO1jYR7VCkFCSQGOckbtw4r3HYKNgp3FY8Vm8 da3b6mNMn1RI
tQPjVbEWrxxrKdObG35CM7DkYkxk5HzVk+GtV1Tw/wDB62TTNdtYdTt73ybv T766treS0Xzp
S0aGRcJI4Un97u4DFRwBX0BsFGwUcwWPML3xVrKfBF/E2mxXzak1qJVN7CjS oDJhn2oqqVVS
WVtoBUKxHWq+q+JXtL3w9bWfjTztFvbq5S+1vdaN5DJCGjh8wR+Uu45OGUse xxXq+wUbBT5g
5TwKx8a+MNTslludUn0+WHwlPq+2K1hHnSxzOiOwkRvldArELgHORgGsm+1i 9udK+IHiEmAT
z2GhzSW7W8csBeVIiSUkVs45Ayf4snJAI+k9go2ClcLHiV54212PxMttJrX2 W5Pi2PSxpPlQ
jNgQuJdrKZfmyPn3Y+bjHFZi/EfxEND0GJ9YQaybLWX1SAwxCWKWCORofMj2 5jIK5xgZxzmv
aLrwrpN9q8Op3cM9xcQSrPCk11K8McirtV1hLeWGAJwQuQeevNbGwUcwWPIZ vE2u2XhHw1Nq
Gs4utc2TjUMQ2Vtap9mVvLkkeOVdzMCw+UbiTjaF21geDdcvde8b+Gte1rU/ 7PlvdBa3E6rH
Gl7LHesvkjepBZhtJVMNzxtBxXvuwUbBT5gsfOei+NdatfCGnhtUg0W2Gg31 9bSwWtvAl1eJ
cuqwgMmw4UKdqAMd2STkVp6h458XQWXifVpb6S0m0a30mZdNNrGIt9wiGaOQ MpkxktwHBHrX
vOwUbBS5gsVNp9KNp9Kt7BRsFVzi5SptPpRtPpVvYKNgo5w5SptPpT7ZcTyn 1VR+pqxsFCoF
YkdwKTldWGo2Y6iiioKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooo oAKKKKACiiig
AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtqP /IMu/wDri/8A
6Ca5dP8AkU7n/rhN/wCzV1Go/wDIMu/+uL/+gmuXT/kU7n/rhN/7NVraPqT1 foN+Gv8AyBL/
AP6/2/8ARcddnXGfDX/kCX//AF/t/wCi467OtcX/ABpBD4UFFFFc5QUUUUAF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGXrf +oh/66x/+hrV
DSv+Rnvf+uQ/klX9b/1EP/XWP/0NaoaV/wAjPe/9ch/JKKfxP0FLZHR0UUUD OT8V6bHda74c
LXWpQi6vWtpltdRngV4xbXEgBWN1GdyKd3XgDOOK5+38Ral4U0S71GUWl5p8 mp6wIrVYmilR
o3u58tLuYMD5LLgIMbwcnbhvSJIIZnheWKN3hffEzKCUbaVyvodrMMjsSO9R rYWaeXttIF8q
V548RgbJH3bnHox3vk9Tub1NAGH4X1XXL24vbPXbKO3ngSKWNgIo2ZXLjmJJ 5iAChwxYbskA
fISce38W69JYWN6Le0uRqOmf2vBbW9u/mxQo8BkhHznzpTHOQhAQb0GRhvl6 CP8Asrw1cWmj
6To0cT3rtN9nsIY4lVFKLJM2Sowu+MHGWORgHBxc0zT9Lt/Nv9O06C0kv8TT utr5EkpOSDIC
A275j97kEnPOaAOTvfFuv3FxbxaJp8c6Xr3M1pIsKyk20Jij3lXniUh3kZ1d XIMew7TuJWTT
/FPiDUrDVdShsbH7PY/Z3Ftbs1zNMGgt55URkO12CSSKhGQ7Mn3QpL9RdaFo 99p0GnXmlWNx
YwbfJtprdHjj2jau1SMDAJAx0FXI4IYXmeKKNHmffKyqAXbaFy3qdqqMnsAO 1AHn+qeM9Sgu
4ryzs454LpJ49NVWbMi/aLO3SQqZFjcM8sjqcjdGUw6bmNSL4v8AEseLO40u BL9/PtosopDX
X+jmHekc0nlrtmld13s3lwtIMDiuos10LU9O0/7NZQTWNzp5Fr/oZ8v7KwTM fK4VWGz5DjIX
odpxcttJ02yt7a3tNPtIILVy9vHFCqrCxDAlABhSQ7gkf3j6mgDn7fxfNL4X 8Q+IG0+RbfT0
eW2glUxO6pbJI6OfmAdZTLG2PulCCMqaw/EMusajrWneFr+fSriRruGZ5HsH NtNG8F4RHJbm
U79rWwYHfjJU4ynPokMENshSCKOJC7OVRQoLMxZjx3LEknuSTVOx0LR9Miji sNKsbSOOUzok
FukYWQqULgAcMVJXPXBx0oAy9Vk1I+OtCt7K9jggayu5bmOWNpFlVZbUcAOo D4YgMd2Mng5r
j9G8S614c8EeHLdo7TUHvdHtmsVhgMTRHfawKr7pcSn/AElT1iHyEZG7K+mX VhZ33kfbLSC4
8iVZ4fOjD+XIv3XXPRhk4I5FRnSdNa3S3bT7QwJbtapGYV2rCwAaMDGAhCqC vQ7R6UAY+jXu
uazoOp2955ematE72yTqkTmNjGrJI0SyyBSN4+QuchQ3AYAcuW1Sw13TNHtJ ZNO1R72OSUz6
ndapbvC9tebQRK0bZ3QuSowMiNstjA9Ah0nTbbSzpcGn2kWnlGQ2iQqsRVs7 hsAxg5ORjnJq
vH4a0GHS5tLi0TTU0+Z98totqgiduOWTGCflXkjsPSgDD0/xJrFxeWRuY7Fb W71u702NY1cv
5cIujvJJwGJgQYwRwxz84VM/Stc8Qaj4k1y5tvInjs7R1XTcMvnvHdX0UYRy +2Jm8mPcxVs8
fdAFdpPpOm3VhLYXGn2k1nK5eS3khVo3YvvJKkYJLfNn1561XHhrQRb29uNE 03yLdJUgj+yp
tiWQESBRjADAkMB1zzmgCv4X1S51Oyuft08cl5bXBgnjWxe1MD7EbYytI4Yg MDvVipBGCRyd
yq9jYWemWcdnYWkFpax52QwRiNFySThRwMkk/jVigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAK
KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiii
gAooooAKKKKACiiigCtqP/IMu/8Ari//AKCa5dP+RTuf+uE3/s1dRqP/ACDL v/ri/wD6Ca5d
P+RTuf8ArhN/7NVraPqT1foN+Gv/ACBL/wD6/wBv/RcddnXGfDX/AJAl/wD9 f7f+i467OtcX
/GkEPhQUUUVzlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAZet/6iH/AK6x/wDoa1Q0r/kZ73/rkP5JV/W/9RD/ANdY /wD0NaoaV/yM
97/1yH8kop/E/QUtkdHRRRQM5fUtLMnjKC/u9E/ta18qBLV8Qv8A2fKskheX EjAruDRcx7mP
lcjhc8mngzULizsbSTQo4zElrFrEkhhK6vKt1bO85wxMoCxXDZlCufNwASzA eqUUAcHYeDhD
43E0uj2g0Wye4fTkKRmO2ZksSpjT+A+ZHcHIA53H+IE8nFpi6T/YOjarpUFz 4hMukSWkolt5
JrOCL7MsqAF/NChobhj5asmGZifv49oooA8rl8Ma5e2fh3SJdHu4o9IsoLKe 6W6iRZtt1Ysz
xMknmAbLeVgSEbgcBjitDXPDeov4q0+5sNLkjSzuLOOznsYrOOKGzR0MqSO+ J1OPOG2I7ChU
YOXB9EooA8rtvBmoWmk6PZWuhR2wsLJrfUFjMKrqDCayaQjDfOJo4Jl/ebc9 H2g1oad4KivP
EEM+peG7SPQ1S7a2066jhkWyLizVVEalkUs0Vw/yEj5ySQzEV6JRQBl+Gob6 28K6RBqhkOoR
2UKXRkk3sZQgD5bJ3HdnnJzWpRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFF FFABRRRQAUUU
UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ AUUUUAFFFFAB
RRRQAUUUUAFFFFABRRRQAUUUUAVtR/5Bl3/1xf8A9BNcun/Ip3P/AFwm/wDZ q6jUf+QZd/8A
XF//AEE1y6f8inc/9cJv/ZqtbR9Ser9Bvw1/5Al//wBf7f8AouOuzrjPhr/y BL//AK/2/wDR
cddnWuL/AI0gh8KCiiiucoKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC iiigAooooAKK
KKACiiigAooooAKKKKACiiigDL1v/UQ/9dY//Q1qhpX/ACM97/1yH8kq/rf+ oh/66x/+hrVD
Sv8AkZ73/rkP5JRT+J+gpbI6OiiigZn6nDFcTadFNGkkbXJyjqCD+6k7Gn/2 Ppn/AEDrP/vw
v+FF9/x96b/18n/0VJV2qu0kTZXKX9j6Z/0DrP8A78L/AIUf2Ppn/QOs/wDv wv8AhV2ildjs
jHu4dCsbi0gnsbNZLqTy4x5C8nH0+g+pFW/7H0z/AKB1n/34X/CuU1rRb5NT iBle/wDtr+XH
LLwYD1wccYwC3ygfdrrdNtJrGySCe8lu5F6yygZP+fck+9RGcm2mZwbcmmjN 83wp/bH9keZo
v9p/8+W6Lzvu7vufe+7z06c1cn07RrW3luLizsIYIkLySSRIqooGSSSMAAc5 rkNRWe4k8ZaJ
DZX39oaldq+nz/Y5RCjfZLdUm8/bsXy5ELZDbgY/lBbaDj+KIfEWp6rqdnZx XyyX8V7ZyWP2
e6aHyvsswifz3c2w3usLfIqsC+0tkPuu7NLI9L/sfTP+gdZ/9+F/wqnqS+Gt Gt1uNUGk2MDO
EWS6EcSlsE4BbAzgE49jXEeKrjUI9Hgbw9/bkC21pLNYSSW2o3M1xcbm/dyL vBXaVTBuFdGE
mANqsD1nigWkVxZXb3Ws2d4iSxxXOl2D3TCNihdGAilUAlYzkgH5eDjcCXYW Rpwado11bxXF
vZ2E0EqB45I4kZXUjIIIGCCOc1J/Y+mf9A6z/wC/C/4VxEUniGa/gl1GHUoN ee4smiitjMbJ
LcpB9qVtpMGQftYHmEv93aT+7rPluPEN3Z+HdMhk8QW99aWUFvqc628wxP8A arFXbzHUxykK
Lg7hvUrvJypOS7CyPR/7H0z/AKB1n/34X/Cj+x9M/wCgdZ/9+F/wrkL6HULa 81mC1OsnVo7d
00AiS4e3KC1UL5jEmFn87zeZyWJ2542VjxxatDo1yRq+sy2f2iEiI6XqUbTE LIXjDmSS6jB/
dEyAeWu0ABy0ikuwsj0f+x9M/wCgdZ/9+F/wo/sfTP8AoHWf/fhf8KXSRMNG sRcW0ltP9nj8
yCS4M7RNtGVMhJLkHjd3xnvVyi7CyKX9j6Z/0DrP/vwv+FH9j6Z/0DrP/vwv +FXaKLsLIz9M
hit5tRihjSONbkYRFAA/dR9hWhVKx/4+9S/6+R/6Kjq7Q9wQUUUUhhRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFF ABRRRQAUUUUA
FFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU UUUAFFFFABRR
RQAUUUUAFFFFABRRRQBW1H/kGXf/AFxf/wBBNcun/Ip3P/XCb/2auo1H/kGX f/XF/wD0E1y6
f8inc/8AXCb/ANmq1tH1J6v0G/DX/kCX/wD1/t/6Ljrs64z4a/8AIEv/APr/ AG/9Fx12da4v
+NIIfCgooornKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooA
KKKKACiiigAooooAy9b/ANRD/wBdY/8A0NaoaV/yM97/ANch/JKv63/qIf8A rrH/AOhrVDSv
+Rnvf+uQ/klFP4n6Clsjo6KKKBlK+/4+9N/6+T/6Kkq1LLHBG0ksixxryzOc AfjXIeLvEbWe
oW9jZFRcw/vpJThhHuVlAA/vYbdzx04OeMQ+IdSuUCTanIyhlfHlRjlSCP4f UCuuGEqTipbG
Mq0Yto9Cj1XTppFjiv7V3Y4VVmUkn2Gat15odXvG8zfqVw/mSrMQwUgMu3G0 EfKPlBwMDOTj
JOZz4l1L/oJy/wDfmP8A+JqvqU+jX4/5ErERO+mu4LeWCOaVUed9kYP8TYJx +Q/zmpq8svr1
9SuIZ7q+neWDmJgFXYcg5GAMHIHPtV7/AISbUv8AoKS/9+Y//iaPqNTuvx/y D6xE9ForyJor
GTWJNXlhtptSklSY3U1lDJIrqqqpVmQlcBFxjHIz1JNbH/CTal/0FJf+/Mf/ AMTS+o1O6/H/
ACH9Yiei0V51/wAJNqX/AEFJf+/Mf/xNZ+rXK69FBFq0q3sMEvnRxT28Tpv2 suSpXDcO3UH1
6gGj6jU7r8f8g+sRPVaK8ysdYudNs47S01CWK3jyI4xGhCAknauV4UZwFHCg AAAACrH/AAk2
pf8AQUl/78x//E0fUandfj/kH1iJ6LRXnX/CTal/0FJf+/Mf/wATR/wk2pf9 BSX/AL8x/wDx
NH1Gp3X4/wCQfWInotFedf8ACTal/wBBSX/vzH/8TR/wk2pf9BSX/vzH/wDE 0fUandfj/kH1
iJ6LRXnX/CTal/0FJf8AvzH/APE0f8JNqX/QUl/78x//ABNH1Gp3X4/5B9Yi dxY/8fepf9fI
/wDRUdXa83TxBfRvK6alKGlbe58qPk4A/u+gFP8A+Em1L/oKS/8AfmP/AOJp vBVO6/H/ACEs
RE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AIml9Rqd1+P+Q/rE T0WivOv+Em1L
/oKS/wDfmP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6 Ckv/AH5j/wDi
aP8AhJtS/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj /hJtS/6Ckv8A
35j/APiaPqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+Y//iaP+Em1L/oKS/8A fmP/AOJo+o1O
6/H/ACD6xE9Forzr/hJtS/6Ckv8A35j/APiaP+Em1L/oKS/9+Y//AImj6jU7 r8f8g+sRPRaK
86/4SbUv+gpL/wB+Y/8A4mj/AISbUv8AoKS/9+Y//iaPqNTuvx/yD6xE9For zr/hJtS/6Ckv
/fmP/wCJo/4SbUv+gpL/AN+Y/wD4mj6jU7r8f8g+sRPRaK86/wCEm1L/AKCk v/fmP/4mj/hJ
tS/6Ckv/AH5j/wDiaPqNTuvx/wAg+sRPRaK86/4SbUv+gpL/AN+Y/wD4mj/h JtS/6Ckv/fmP
/wCJo+o1O6/H/IPrET0WivOv+Em1L/oKS/8AfmP/AOJo/wCEm1L/AKCkv/fm P/4mj6jU7r8f
8g+sRPRaK86/4SbUv+gpL/35j/8AiaP+Em1L/oKS/wDfmP8A+Jo+o1O6/H/I PrET0WivOv8A
hJtS/wCgpL/35j/+Jo/4SbUv+gpL/wB+Y/8A4mj6jU7r8f8AIPrET0WivOv+ Em1L/oKS/wDf
mP8A+Jo/4SbUv+gpL/35j/8AiaPqNTuvx/yD6xE9Forzr/hJtS/6Ckv/AH5j /wDiaP8AhJtS
/wCgpL/35j/+Jo+o1O6/H/IPrET0WivOv+Em1L/oKS/9+Y//AImj/hJtS/6C kv8A35j/APia
PqNTuvx/yD6xE9Forzr/AISbUv8AoKS/9+o//iaa3ijUh/zFJf8AvzH/APE0 /qNTuvx/yD6x
E9HorzU+KtS/6Ckv/fmL/wCJph8Xaojqy6kzbSDteGPDexwoOPoQaPqFTuvx /wAg9vHsem0V
ieGPEC6/pzSMqx3ULbJkU8ZxwwGchT2z3BHOMnbrknBwk4y3RsndXCiiipGF FFFABRRRQAUU
UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR QAUUUUAVtR/5
Bl3/ANcX/wDQTXLp/wAinc/9cJv/AGauo1H/AJBl3/1xf/0E1y6f8inc/wDX Cb/2arW0fUnq
/Qb8Nf8AkCX/AP1/t/6Ljrs64z4a/wDIEv8A/r/b/wBFx12da4v+NIIfCgoo ornKCiiigAoo
ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiii gAooooAy9b/1
EP8A11j/APQ1qhpX/Iz3v/XIfySr+t/6iH/rrH/6GtUNK/5Ge9/65D+SUU/i foKWyOjooooG
eM+P73+z/EWsXRGdnl44yNxjQDPtkivO1vWuZPNnAnc95Bn3wPQe1dz8VVzd 66f9u3/lFXJ+
E9ITV9Tjt5mZYVXzJNg+YqMDA/EivtMucKeF9rLol+SPEx0JVKipx3Y1LuJR xaW3/fsU5tQj
H/Lpbf8AfoV0GvaFb21w6afply0YHDKsjZrkJ4ZoXKzQSwt/dlQqceuDXXhs XRxDtFa+Zw18
FVoK8ndeRcOpRf8APnbf9+hR/aUX/Pnbf9+hWjr3haPQ7t9Ne7uJNVUwhLf7 E+y58wc+S4J3
bW4yyrk5xyMVW1LwlrOm67No/wBjmurqJBJ/osTuGQgfMvygkAnBOMZBFaQx FCaTT317afP1
M5YapHdFf+0ov+fO2/79Cj+0ov8Anztv+/Qqv/ZWo/8APhdf6/7L/qW/13/P Pp9//Z61dm8L
6pb+Hm1qa2eO3S6Nq6NG4dWHViMYC7htyT97jrWjqUo2u1roSqUnsmRf2lF/ z523/foUf2lF
/wA+dt/36FVLzT7zTphDfWc9rKy7gk8RRiOmcEdOD+VP/srUf7P/ALQ+wXX2 L/n58lvL67fv
Yx14+tVeFk+5Ps3sWP7Si/587b/v0KP7Si/587b/AL9Cq8+laja2cV5cWF1D ay48uaSFlR8j
IwxGDkc099F1WNY2fTLxVkm8hC0DANJkjYOOWyCMdcg0c1Puh+zfmS/2lF/z 523/AH6FH9pR
f8+dt/36FbGp+DDpV3qFrPJqLSWFkbmWWLTXeF3KgqiMrE7T843sqgFD74wp NF1WGxF9Lpl4
loVVhcNAwjwcYO7GMHIx9ayp4ijVV4v9PzLnh6kPiRL/AGlF/wA+dt/36FH9 pRf8+dt/36FV
7LStR1PzPsFhdXfl43+RC0m3OcZwOM4P5VZ0LQrzXtShtraCdommjjmnihMi wBjjc2Og6nkj
oa0lOnFNye25CpSbSXUT+0ov+fO2/wC/Qo/tKL/nztv+/QrTbwdO8621s11J cyatJp0O6xkE
TKhYGYyjKgZRsryQAT2NZ8vhnWU1O90+LTbq5ns5DHL5EDsBycHpnDAZBI5H NZwxFCezRcsN
UjumM/tKL/nztv8Av0KP7Si/587b/v0KrwaVqN1Zy3lvYXU1rFnzJo4WZEwM nLAYGBzVStly
vRGbg0af9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFPlQuU0/7Ti/587b/v0KP7 Ti/587b/AL9C
szFGKOVBymn/AGnF/wA+dt/36FH9pxf8+dt/36FZmKMUcqDlNP8AtOL/AJ87 b/v0KP7Ti/58
7b/v0KzMUYo5UHKaf9pxf8+dt/36FH9pxf8APnbf9+hWZijFHKg5TT/tOL/n ztv+/Qo/tOL/
AJ87b/v0KzMUYo5UHKaf9pxf8+dt/wB+hR/acX/Pnbf9+hWZijFHKg5TT/tO L/nztv8Av0KP
7Ti/587b/v0KzMUYo5UHKaX9pRf8+lr/AN+hR/aUX/Ppa/8AfoVmY9qMe1HK h8pp/wBpRf8A
Ppa/9+hR/aUX/Ppa/wDfoVmY9qMe1HKg5TT/ALSi/wCfS1/79Cj+0ov+fS1/ 79CszHtRj2o5
UHKaf9pRf8+lr/36FH9pRf8APpa/9+hWZj2ox7UcqDlNP+0ov+fS1/79Cj+0 ov8An0tf+/Qr
Mx7UY9qOVBymn/aUX/Ppa/8AfoUf2lF/z6Wv/foVmY9qMe1HKg5TT/tKL/n0 tf8Av0KP7Si/
59LX/v0KzMe1GPajlQcpp/2lF/z6Wv8A36FH9pxf8+lt/wB+hWZj2oI9qOVB ymtDdm7uI7e2
0+GSaRgqIkIJY1rP4e1kHnTtJHsbu2H/ALPVDwWxXxRE3TFtdH/yXkr0q2to 9agmignC6mvz
RQvgLKoHIB/vf59SPm85zitga8aVKKd1fW/d+a7H0GU5PRxdKVWrJpJ20PP3 0DVhybDRx/2+
2v8A8crA1C8vdEvjHLbrb3CYYqhGyQdj8pwwIPBGfavStU01dM0VZdSmaPUr ghoLRVGVj7tJ
6Z7D/wCvt858aD9xomB/y4t/6Uz1hlGeV8diHh60Ela+l/8ANnZmGSUMHRWI ozb962v6HsHw
nnW6TU7hM7JY7d13dcEORXpFeX/BkY0q497S0P8A469eoV5WO/3iXy/IuHwo KKKK5CgooooA
KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACii
igCtqP8AyDLv/ri//oJrl0/5FO5/64Tf+zV1Go/8gy7/AOuL/wDoJrl0/wCR Tuf+uE3/ALNV
raPqT1foN+Gv/IEv/wDr/b/0XHXZ1xnw1/5Al/8A9f7f+i467OtcX/GkEPhQ UUUVzlBRRRQA
UUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABR RRQAUUUUAZet
/wCoh/66x/8Aoa1Q0r/kZ73/AK5D+SVf1v8A1EP/AF1j/wDQ1qhpX/Iz3v8A 1yH8kop/E/QU
tkdHRRRQM8R+KJH2vXQe72/8oq5Hw7fjTLvzXTdHJGY3+UHg45weDyBXV/FP /j+1v/rpb/yi
rm9M8JeJNRsY7uy0zzbd8hX8+Nc4JB4LZ6g19rgZUVgUq7ST01duiPExiq+3 UqSu1qV9ZvdS
acrZfYbiM8hzZxDH1DJ/jVNYZjEPP8kyfxGGFYx+SgD8a6QeCvFoH/IG/wDJ mL/4qj/hCvFn
/QGP/gTF/wDFVeHnl9B80aqv5tHNiHja6tKFl5Jk+razp7+Dzoz3h1a5hkh/ s2RrSSOW1Q4M
qyMfl2hRtAVn5x2A2z6jr2lTeI/GOqJcMU1XRXhgUQSbxK0UaCNvlxnKHkEq M9az/wDhCPFv
/QHP/gTF/wDFUf8ACEeLf+gOf/AmL/4qoawDvesuvWPW1/xV/v7lxli42tT7 d+n/AA5b0TV7
CLSbCHUL5oZ7bxCmqyySxyymZdhDYKKxLbufmwOetMuNdsZ9NuBDdSQTJ4qf VoHNszF42LhW
VSMbhkNh9ox3zxVf/hCPFv8A0Bz/AOBMX/xVH/CEeLf+gOf/AAJi/wDiqGsv dRz9svS6t0/y
BSxigo+zfrr5/wCZH4svtP1G9txYXE1w6m4kuHTzo7UPJMWBjjlJKswOXx8u cYqbXNQsL2C0
uodVuraaHQ4dOa1t4ZfNmdXYMhcYQRnIJJfoOVzxTf8AhCPFv/QHP/gTF/8A FUf8IR4t/wCg
Of8AwJi/+Kq1LAqEYqsvdv1j1Jf1pylL2b19TQ8S+IdLu08UyWc7yz67LYGK JIJFaFYgpfzG
ZQn8JHys2SfrS+IvEWmXzeNza3EjnU59PW0PkyDzFi2eZ1XgDDdcA9s5rO/4 Qjxb/wBAc/8A
gTF/8VR/whHi3/oDn/wJi/8AiqxhTy+NrVlp/eXTl/8AkV+Jo6mMe9P8H5/5 mhqOv6VN4p8c
6jHM7QajpUlpauIHzLIYYlCgbc43KwyRj3rR8WJJeXXiyz0827XUq291qrzC aJvLtgmTGjRB
VGcHmV8rkjOeOe/4Qjxb/wBAc/8AgTF/8VU1z4U8dXlp9kuba+ltMKPsz6mD FhcbRs8zbgYH
GO1ZTpYNShKnWjpZayXS1tvTyNIVcQ1JVKb17


Ed Merks
Professional Support: https://www.macromodeling.com/
Previous Topic:Merging Transformations in JET2
Next Topic:<jav:merge> EMF rules
Goto Forum:
  


Current Time: Sat Nov 09 01:02:24 GMT 2024

Powered by FUDForum. Page generated in 0.03923 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top