From 24dc9ed6815803d55828a41fd369dc6073fc8c50 Mon Sep 17 00:00:00 2001 From: jinyuttt Date: Sun, 9 Jun 2019 12:24:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E9=99=A4=E5=86=97=E4=BD=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .metadata/.log | 29 ++ .../0/30dafcb16c8a00191333cad021808fa0 | 248 ++++++++++++ .../10/90167ecb6c8a00191333cad021808fa0 | 255 +++++++++++++ .../1b/209b1171658a00191333cad021808fa0 | 247 ++++++++++++ .../20/d0f41ac56c8a00191333cad021808fa0 | 255 +++++++++++++ .../23/609acfc16c8a00191333cad021808fa0 | 255 +++++++++++++ .../27/00e5525b658a00191333cad021808fa0 | 242 ++++++++++++ .../2d/b0c2e7a96c8a00191333cad021808fa0 | 248 ++++++++++++ .../38/e0adf005658a00191333cad021808fa0 | 358 ++++++++++++++++++ .../3b/b0ab5e6a658a00191333cad021808fa0 | 247 ++++++++++++ .../54/30fce0926c8a00191333cad021808fa0 | 249 ++++++++++++ .../5f/e0d8b99b6c8a00191333cad021808fa0 | 249 ++++++++++++ .../64/d02a54ba6c8a00191333cad021808fa0 | 255 +++++++++++++ .../68/d0b41b43658a00191333cad021808fa0 | 241 ++++++++++++ .../6c/a0b3cbad6c8a00191333cad021808fa0 | 248 ++++++++++++ .../9a/c0da9a976c8a00191333cad021808fa0 | 249 ++++++++++++ .../9f/303a765d658a00191333cad021808fa0 | 247 ++++++++++++ .../a2/103ed87b658a00191333cad021808fa0 | 247 ++++++++++++ .../ad/700ac080658a00191333cad021808fa0 | 247 ++++++++++++ .../d8/60c834a26c8a00191333cad021808fa0 | 249 ++++++++++++ .../d9/7030e7866c8a00191333cad021808fa0 | 249 ++++++++++++ .../e4/30e8ce5e6c8a00191333cad021808fa0 | 247 ++++++++++++ .../ed/5013fa7e6c8a00191333cad021808fa0 | 249 ++++++++++++ .../f0/500dea6c6c8a00191333cad021808fa0 | 358 ++++++++++++++++++ .../judt/.indexes/e4/c5/history.index | Bin 903 -> 1515 bytes .../.projects/judt/.markers | Bin 10201 -> 10201 bytes .../judt/org.eclipse.jdt.core/state.dat | Bin 446282 -> 446290 bytes .../.root/{30.tree => 31.tree} | Bin 18166 -> 18326 bytes .../.safetable/org.eclipse.core.resources | Bin 1670 -> 1670 bytes .../org.eclipse.e4.workbench/workbench.xmi | 37 +- .../org.eclipse.jdt.core/1805218701.index | Bin 89517 -> 89634 bytes .../org.eclipse.jdt.core/savedIndexNames.txt | 10 +- .../0.log | 1 + .../.cache/clean-cache.properties | 2 +- .metadata/version.ini | 2 +- Client.bat | 1 - Client.jar | Bin 163009 -> 0 bytes Config.xml | 6 - LICENSE | 21 - RecFile.jar | Bin 163021 -> 0 bytes RecFiles.jar | Bin 163026 -> 0 bytes SendFile.jar | Bin 163022 -> 0 bytes SendFiles.jar | Bin 163027 -> 0 bytes Server.bat | 1 - Server.jar | Bin 163009 -> 0 bytes judt/bin/udt/ServerSession.class | Bin 6268 -> 6373 bytes judt/bin/udt/UDPEndPoint$1.class | Bin 943 -> 943 bytes judt/bin/udt/UDPEndPoint.class | Bin 8531 -> 8653 bytes judt/bin/udt/UDTSession.class | Bin 6226 -> 6246 bytes judt/src/udt/ServerSession.java | 23 +- judt/src/udt/UDPEndPoint.java | 5 +- judt/src/udt/UDTSession.java | 2 + readme.txt | 54 --- recFile.bat | 1 - sendFile.bat | 1 - update.txt | 2 + 56 files changed, 6013 insertions(+), 124 deletions(-) create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/0/30dafcb16c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/10/90167ecb6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1b/209b1171658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/20/d0f41ac56c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/23/609acfc16c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/27/00e5525b658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2d/b0c2e7a96c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/38/e0adf005658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/3b/b0ab5e6a658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/54/30fce0926c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/5f/e0d8b99b6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/64/d02a54ba6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/68/d0b41b43658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/6c/a0b3cbad6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/9a/c0da9a976c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/9f/303a765d658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a2/103ed87b658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ad/700ac080658a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d8/60c834a26c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d9/7030e7866c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e4/30e8ce5e6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ed/5013fa7e6c8a00191333cad021808fa0 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f0/500dea6c6c8a00191333cad021808fa0 rename .metadata/.plugins/org.eclipse.core.resources/.root/{30.tree => 31.tree} (94%) delete mode 100644 Client.bat delete mode 100644 Client.jar delete mode 100644 Config.xml delete mode 100644 LICENSE delete mode 100644 RecFile.jar delete mode 100644 RecFiles.jar delete mode 100644 SendFile.jar delete mode 100644 SendFiles.jar delete mode 100644 Server.bat delete mode 100644 Server.jar delete mode 100644 readme.txt delete mode 100644 recFile.bat delete mode 100644 sendFile.bat diff --git a/.metadata/.log b/.metadata/.log index cd9b795..3a7b468 100644 --- a/.metadata/.log +++ b/.metadata/.log @@ -11247,3 +11247,32 @@ This warning can be switched off on the Team > Git > Confirmations and Warnings !ENTRY org.eclipse.jdt.debug 2 0 2019-06-09 03:47:38.318 !MESSAGE Unable to find location of java.lang.Thread.setName() in debuggee JVM, for type java.lang.Thread +!SESSION 2019-06-09 10:41:50.744 ----------------------------------------------- +eclipse.buildId=4.11.0.I20190307-0500 +java.version=1.8.0_201 +java.vendor=Oracle Corporation +BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_CN +Framework arguments: -product org.eclipse.epp.package.jee.product +Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product + +!ENTRY org.eclipse.egit.core 1 0 2019-06-09 10:44:38.604 +!MESSAGE Using Apache MINA sshd as ssh client. + +!ENTRY org.eclipse.jface.text 2 0 2019-06-09 10:46:26.427 +!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean' + +!ENTRY org.eclipse.egit.ui 2 0 2019-06-09 10:47:09.167 +!MESSAGE Warning: The environment variable HOME is not set. The following directory will be used to store the Git +user global configuration and to define the default location to store repositories: 'C:\Users\jinyu'. If this is +not correct please set the HOME environment variable and restart Eclipse. Otherwise Git for Windows and +EGit might behave differently since they see different configuration options. +This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. + +!ENTRY org.eclipse.jface.text 2 0 2019-06-09 11:15:59.729 +!MESSAGE Duplicate template id: 'org.eclipse.wst.xslt.templates.xpath.boolean' + +!ENTRY org.eclipse.jdt.debug 2 0 2019-06-09 12:12:50.585 +!MESSAGE Unable to find location of java.lang.Thread.setName() in debuggee JVM, for type java.lang.Thread + +!ENTRY org.eclipse.jdt.debug 2 0 2019-06-09 12:13:50.480 +!MESSAGE Unable to find location of java.lang.Thread.setName() in debuggee JVM, for type java.lang.Thread diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/30dafcb16c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/0/30dafcb16c8a00191333cad021808fa0 new file mode 100644 index 0000000..5c45b1f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/0/30dafcb16c8a00191333cad021808fa0 @@ -0,0 +1,248 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + return client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/10/90167ecb6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/10/90167ecb6c8a00191333cad021808fa0 new file mode 100644 index 0000000..ee2f93c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/10/90167ecb6c8a00191333cad021808fa0 @@ -0,0 +1,255 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(GetClientCookie()); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + /** + * + * @Title: GetClientCookie + * @Description: 输出字符串Cookie + * @param @return 参数 + * @return String 返回类型 + */ + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + return client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1b/209b1171658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/1b/209b1171658a00191333cad021808fa0 new file mode 100644 index 0000000..cd65c77 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/1b/209b1171658a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private Sstring GetClientCookie() + { + + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/d0f41ac56c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/20/d0f41ac56c8a00191333cad021808fa0 new file mode 100644 index 0000000..d093b9d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/20/d0f41ac56c8a00191333cad021808fa0 @@ -0,0 +1,255 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(GetClientCookie); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + /** + * + * @Title: GetClientCookie + * @Description: 输出字符串Cookie + * @param @return 参数 + * @return String 返回类型 + */ + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + return client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/23/609acfc16c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/23/609acfc16c8a00191333cad021808fa0 new file mode 100644 index 0000000..c50cafd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/23/609acfc16c8a00191333cad021808fa0 @@ -0,0 +1,255 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + /** + * + * @Title: GetClientCookie + * @Description: 输出字符串Cookie + * @param @return 参数 + * @return String 返回类型 + */ + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + return client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/00e5525b658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/27/00e5525b658a00191333cad021808fa0 new file mode 100644 index 0000000..d380973 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/27/00e5525b658a00191333cad021808fa0 @@ -0,0 +1,242 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp"; + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b0c2e7a96c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b0c2e7a96c8a00191333cad021808fa0 new file mode 100644 index 0000000..97ca8e5 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b0c2e7a96c8a00191333cad021808fa0 @@ -0,0 +1,248 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ * + * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + client=dp.getAddress()+":"+dp.getPort()+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/38/e0adf005658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/38/e0adf005658a00191333cad021808fa0 new file mode 100644 index 0000000..4c82bda --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/38/e0adf005658a00191333cad021808fa0 @@ -0,0 +1,358 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.TimeUnit; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.PacketFactory; +import udt.util.UDTThreadFactory; + +/** + * the UDPEndpoint takes care of sending and receiving UDP network packets, + * dispatching them to the correct {@link UDTSession} + */ +public class UDPEndPoint { + + private static final Logger logger=Logger.getLogger(ClientSession.class.getName()); + + private final int port; + + private final DatagramSocket dgSocket; + + //active sessions keyed by socket ID + private final Mapsessions=new ConcurrentHashMap(); + + //last received packet + private UDTPacket lastPacket; + + //if the endpoint is configured for a server socket, + //this queue is used to handoff new UDTSessions to the application + private final SynchronousQueue sessionHandoff=new SynchronousQueue(); + + private boolean serverSocketMode=false; + + //has the endpoint been stopped? + private volatile boolean stopped=false; + + public static final int DATAGRAM_SIZE=1400; + + private volatile int sessionnum=0;//cd 添加 临时统计 + + private long startTime=+System.currentTimeMillis(); + + /** + * create an endpoint on the given socket + * + * @param socket - a UDP datagram socket + */ + public UDPEndPoint(DatagramSocket socket){ + this.dgSocket=socket; + port=dgSocket.getLocalPort(); + } + + /** + * bind to any local port on the given host address + * @param localAddress + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(InetAddress localAddress)throws SocketException, UnknownHostException{ + this(localAddress,0); + } + + /** + * Bind to the given address and port + * @param localAddress + * @param localPort - the port to bind to. If the port is zero, the system will pick an ephemeral port. + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(InetAddress localAddress, int localPort)throws SocketException, UnknownHostException{ + if(localAddress==null){ + dgSocket=new DatagramSocket(localPort, localAddress); + }else{ + dgSocket=new DatagramSocket(localPort); + } + if(localPort>0)this.port = localPort; + else port=dgSocket.getLocalPort(); + //set a time out to avoid blocking in doReceive() + dgSocket.setSoTimeout(100000); + //buffer size + dgSocket.setReceiveBufferSize(128*1024); + } + + /** + * bind to the default network interface on the machine + * + * @param localPort - the port to bind to. If the port is zero, the system will pick an ephemeral port. + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(int localPort)throws SocketException, UnknownHostException{ + this(null,localPort); + } + + /** + * bind to an ephemeral port on the default network interface on the machine + * + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint()throws SocketException, UnknownHostException{ + this(null,0); + } + + /** + * start the endpoint. If the serverSocketModeEnabled flag is true, + * a new connection can be handed off to an application. The application needs to + * call #accept() to get the socket + * @param serverSocketModeEnabled + */ + public void start(boolean serverSocketModeEnabled){ + serverSocketMode=serverSocketModeEnabled; + //start receive thread + Runnable receive=new Runnable(){ + @Override + public void run(){ + try{ + doReceive(); + }catch(Exception ex){ + logger.log(Level.WARNING,"",ex); + } + } + }; + Thread t=UDTThreadFactory.get().newThread(receive); + t.setDaemon(true); + t.start(); + logger.info("UDTEndpoint started."); + } + + public void start(){ + start(false); + } + + public void stop(){ + stopped=true; + dgSocket.close(); + sessions.clear();//cd 2018-08-25 + } + + /** + * @return the port which this client is bound to + */ + public int getLocalPort() { + return this.dgSocket.getLocalPort(); + } + /** + * @return Gets the local address to which the socket is bound + */ + public InetAddress getLocalAddress(){ + return this.dgSocket.getLocalAddress(); + } + + DatagramSocket getSocket(){ + return dgSocket; + } + + UDTPacket getLastPacket(){ + return lastPacket; + } + + public void addSession(Long destinationID,UDTSession session){ + logger.info("Storing session <"+destinationID+">"); + sessionnum++; + sessions.put(destinationID, session); + } + + public UDTSession getSession(Long destinationID){ + return sessions.get(destinationID); + } + + /** + * 移除session + * cd + * @param socketid + * @return + */ + public UDTSession removeSession(long socketid) + { + //cd + sessionnum--; + logger.info("Storing Sessionnum:"+sessionnum); + return sessions.remove(socketid); + } + public Collection getSessions(){ + return sessions.values(); + } + + /** + * wait the given time for a new connection + * @param timeout - the time to wait + * @param unit - the {@link TimeUnit} + * @return a new {@link UDTSession} + * @throws InterruptedException + */ + protected UDTSession accept(long timeout, TimeUnit unit)throws InterruptedException{ + return sessionHandoff.poll(timeout, unit); + } + + + final DatagramPacket dp= new DatagramPacket(new byte[DATAGRAM_SIZE],DATAGRAM_SIZE); + + /** + * single receive, run in the receiverThread, see {@link #start()} + *
    + *
  • Receives UDP packets from the network
  • + *
  • Converts them to UDT packets
  • + *
  • dispatches the UDT packets according to their destination ID.
  • + *
+ * @throws IOException + */ + private long lastDestID=-1; + private UDTSession lastSession; + + //MeanValue v=new MeanValue("receiver processing ",true, 256); + + private int n=0; + + private final Object lock=new Object(); + + protected void doReceive()throws IOException{ + while(!stopped){ + try{ + try{ + //v.end(); + + //will block until a packet is received or timeout has expired + dgSocket.receive(dp); + + //v.begin(); + + Destination peer=new Destination(dp.getAddress(), dp.getPort()); + int l=dp.getLength(); + UDTPacket packet=PacketFactory.createPacket(dp.getData(),l); + lastPacket=packet; + + //handle connection handshake + if(packet.isConnectionHandshake()){ + synchronized(lock){ + Long id=Long.valueOf(packet.getDestinationID()); + UDTSession session=sessions.get(id); + if(session==null){ + session=new ServerSession(dp,this); + addSession(session.getSocketID(),session); + //TODO need to check peer to avoid duplicate server session + if(serverSocketMode){ + logger.fine("Pooling new request."); + sessionHandoff.put(session); + logger.fine("Request taken for processing."); + } + } + peer.setSocketID(((ConnectionHandshake)packet).getSocketID()); + session.received(packet,peer); + } + } + else{ + //dispatch to existing session + long dest=packet.getDestinationID(); + UDTSession session; + if(dest==lastDestID){ + session=lastSession; + } + else{ + session=sessions.get(dest);//cd 获取session + lastSession=session; + lastDestID=dest; + } + if(session==null){ + n++; + if(n%100==1){ + logger.warning("Unknown session <"+dest+"> requested from <"+peer+"> packet type "+packet.getClass().getName()); + } + } + else{ + session.received(packet,peer); + + } + } + }catch(SocketException ex){ + if(ex.getMessage().equals("socket closed")&&stopped) + { + //cd + //已经正常关闭 + } + else + { + logger.log(Level.INFO, "SocketException: "+ex.getMessage()); + } + }catch(SocketTimeoutException ste){ + //can safely ignore... we will retry until the endpoint is stopped + } + + }catch(Exception ex){ + logger.log(Level.WARNING, "Got: "+ex.getMessage(),ex); + } + } + } + + protected void doSend(UDTPacket packet)throws IOException{ + byte[]data=packet.getEncoded(); + DatagramPacket dgp = packet.getSession().getDatagram(); + dgp.setData(data); + dgSocket.send(dgp); + } + + @Override + public String toString(){ + return "UDPEndpoint port="+port; + } + + public void sendRaw(DatagramPacket p)throws IOException{ + dgSocket.send(p); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0ab5e6a658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0ab5e6a658a00191333cad021808fa0 new file mode 100644 index 0000000..1d6e7ae --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0ab5e6a658a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp"; + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/54/30fce0926c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/54/30fce0926c8a00191333cad021808fa0 new file mode 100644 index 0000000..07dd789 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/54/30fce0926c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=System.currentTimeMillis()-startTime; + client=dp.getAddress()+":"+dp.getPort()+":"+; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/e0d8b99b6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/e0d8b99b6c8a00191333cad021808fa0 new file mode 100644 index 0000000..ed0d7ef --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/e0d8b99b6c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + client=dp.getAddress()+":"+dp.getPort()+":"+; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/d02a54ba6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/64/d02a54ba6c8a00191333cad021808fa0 new file mode 100644 index 0000000..f697dcd --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/64/d02a54ba6c8a00191333cad021808fa0 @@ -0,0 +1,255 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + /** + * + * @Title: GetClientCookie + * @Description: TODO(这里用一句话描述这个方法的作用) + * @param @return 参数 + * @return String 返回类型 + */ + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + return client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0b41b43658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0b41b43658a00191333cad021808fa0 new file mode 100644 index 0000000..7209e85 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/68/d0b41b43658a00191333cad021808fa0 @@ -0,0 +1,241 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp"; + private String client=""; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + int n_handshake=0; + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/a0b3cbad6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/a0b3cbad6c8a00191333cad021808fa0 new file mode 100644 index 0000000..4913b61 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/a0b3cbad6c8a00191333cad021808fa0 @@ -0,0 +1,248 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + client=client+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/c0da9a976c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/c0da9a976c8a00191333cad021808fa0 new file mode 100644 index 0000000..95543a9 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/c0da9a976c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000; + client=dp.getAddress()+":"+dp.getPort()+":"+; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/303a765d658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/303a765d658a00191333cad021808fa0 new file mode 100644 index 0000000..b8c00bc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/303a765d658a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp"; + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private string GetClientCookie() + { + + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/103ed87b658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/103ed87b658a00191333cad021808fa0 new file mode 100644 index 0000000..fe55b5c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/103ed87b658a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/700ac080658a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/700ac080658a00191333cad021808fa0 new file mode 100644 index 0000000..3ec962b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/700ac080658a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d8/60c834a26c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/60c834a26c8a00191333cad021808fa0 new file mode 100644 index 0000000..ecd768e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/60c834a26c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=(System.currentTimeMillis()-startTime)/60000;//转换分钟 + client=dp.getAddress()+":"+dp.getPort()+":"+timespan; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/7030e7866c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/7030e7866c8a00191333cad021808fa0 new file mode 100644 index 0000000..76f77a7 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/7030e7866c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=System.currentTimeMillis()- + client=dp.getAddress()+":"+dp.getPort()+":"+; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/30e8ce5e6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/30e8ce5e6c8a00191333cad021808fa0 new file mode 100644 index 0000000..3ec962b --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/30e8ce5e6c8a00191333cad021808fa0 @@ -0,0 +1,247 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + client=dp.getAddress()+":"+dp.getPort()+":"+System.currentTimeMillis(); + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/5013fa7e6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/5013fa7e6c8a00191333cad021808fa0 new file mode 100644 index 0000000..ecfe8d3 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/5013fa7e6c8a00191333cad021808fa0 @@ -0,0 +1,249 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.net.DatagramPacket; +import java.net.SocketException; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.KeepAlive; +import udt.packets.Shutdown; +import udt.util.Tools; + +/** + * server side session in client-server mode + */ +public class ServerSession extends UDTSession { + + private static final Logger logger=Logger.getLogger(ServerSession.class.getName()); + + private final UDPEndPoint endPoint; + + //last received packet (for testing purposes) + private UDTPacket lastPacket; + + private long cookie=0;//cd 2018-08-28 + private String key="judp";//标记,暂时不用了,和c++一致 + private String client=""; + int n_handshake=0; + public long m_Start=0; + public ServerSession(DatagramPacket dp, UDPEndPoint endPoint)throws SocketException,UnknownHostException{ + super("ServerSession localPort="+endPoint.getLocalPort()+" peer="+dp.getAddress()+":"+dp.getPort(),new Destination(dp.getAddress(),dp.getPort())); + this.endPoint=endPoint; + client=dp.getAddress()+":"+dp.getPort(); + logger.info("Created "+toString()+" talking to "+dp.getAddress()+":"+dp.getPort()); + } + + + + @Override + public void received(UDTPacket packet, Destination peer){ + lastPacket=packet; + + if(packet instanceof ConnectionHandshake) { + ConnectionHandshake connectionHandshake=(ConnectionHandshake)packet; + logger.info("Received "+connectionHandshake); + + if (getState()<=ready){ + destination.setSocketID(connectionHandshake.getSocketID()); + if(getState()<=handshaking){ + setState(handshaking); + } + try{ + handleHandShake(connectionHandshake); + n_handshake++; + try{ + //理论上应该先检验cookie + setState(ready); + socket=new UDTSocket(endPoint, this); + cc.init(); + }catch(Exception uhe){ + //session is invalid + logger.log(Level.SEVERE,"",uhe); + setState(invalid); + } + }catch(IOException ex){ + //session invalid + logger.log(Level.WARNING,"Error processing ConnectionHandshake",ex); + setState(invalid); + } + return; + } + else + { + //cd 回复 + try { + handleHandShake(connectionHandshake); + } catch (IOException e) { + e.printStackTrace(); + } + } + + }else if(packet instanceof KeepAlive) { + socket.getReceiver().resetEXPTimer(); + active = true; + return; + } + + if(getState()== ready) { + active = true; + + if (packet instanceof KeepAlive) { + //nothing to do here + return; + }else if (packet instanceof Shutdown) { + try{ + socket.getReceiver().stop(); + }catch(IOException ex){ + logger.log(Level.WARNING,"",ex); + } + setState(shutdown); + System.out.println("SHUTDOWN ***"); + active = false; + logger.info("Connection shutdown initiated by the other side."); + return; + } + + else{ + try{ + + if(packet.forSender()){ + socket.getSender().receive(packet); + }else{ + socket.getReceiver().receive(packet); + } + }catch(Exception ex){ + //session invalid + logger.log(Level.SEVERE,"",ex); + setState(invalid); + } + } + return; + + } + + + } + + /** + * for testing use only + */ + UDTPacket getLastPacket(){ + return lastPacket; + } + + /** + * handle the connection handshake:
+ *
    + *
  • set initial sequence number
  • + *
  • send response handshake
  • + *
+ * @param handshake + * @param peer + * @throws IOException + */ + protected void handleHandShake(ConnectionHandshake handshake)throws IOException{ + ConnectionHandshake responseHandshake = new ConnectionHandshake(); + //compare the packet size and choose minimun + long clientBufferSize=handshake.getPacketSize(); + long myBufferSize=getDatagramSize(); + long bufferSize=Math.min(clientBufferSize, myBufferSize); + long initialSequenceNumber=handshake.getInitialSeqNo(); + setInitialSequenceNumber(initialSequenceNumber); + setDatagramSize((int)bufferSize); + responseHandshake.setPacketSize(bufferSize); + responseHandshake.setUdtVersion(4); + responseHandshake.setInitialSeqNo(initialSequenceNumber); + responseHandshake.setConnectionType(-1); + responseHandshake.setMaxFlowWndSize(handshake.getMaxFlowWndSize()); + //tell peer what the socket ID on this side is + responseHandshake.setSocketID(mySocketID); + responseHandshake.setDestinationID(this.getDestination().getSocketID()); + //cd 2018-08-28 + if(this.cookie==0) + { + this.cookie=createCookie(); + } + responseHandshake.setcookie(cookie); + + responseHandshake.setSession(this); + logger.info("Sending reply "+responseHandshake); + endPoint.doSend(responseHandshake); + } + + /** + * cd + * @Title: createcCookie + * @Description: 生产Cookie + * @param @return 参数 + * @return long 返回类型 + */ + private long createCookie() + { + byte[] bytes=null; + byte[] result=new byte[4]; + ByteBuffer buf=ByteBuffer.wrap(result); + //修改用于c++一致 + String src=Tools.string2MD5(client+key); + try { + bytes=src.getBytes("utf-8"); + } catch (UnsupportedEncodingException e) + { + bytes=src.getBytes(); + } + if(bytes.length>4) + { + buf.put(bytes, 0, 4); + } + else + { + buf.put(bytes); + } + buf.flip(); + return buf.getInt(); + } + + private String GetClientCookie() + { + long timespan=System.currentTimeMillis()- + client=dp.getAddress()+":"+dp.getPort()+":"+; + } +} + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/500dea6c6c8a00191333cad021808fa0 b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/500dea6c6c8a00191333cad021808fa0 new file mode 100644 index 0000000..2fcc618 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/500dea6c6c8a00191333cad021808fa0 @@ -0,0 +1,358 @@ +/********************************************************************************* + * Copyright (c) 2010 Forschungszentrum Juelich GmbH + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * (1) Redistributions of source code must retain the above copyright notice, + * this list of conditions and the disclaimer at the end. Redistributions in + * binary form must reproduce the above copyright notice, this list of + * conditions and the following disclaimer in the documentation and/or other + * materials provided with the distribution. + * + * (2) Neither the name of Forschungszentrum Juelich GmbH nor the names of its + * contributors may be used to endorse or promote products derived from this + * software without specific prior written permission. + * + * DISCLAIMER + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + *********************************************************************************/ + +package udt; + +import java.io.IOException; +import java.net.DatagramPacket; +import java.net.DatagramSocket; +import java.net.InetAddress; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.util.Collection; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.TimeUnit; +import java.util.logging.Level; +import java.util.logging.Logger; + +import udt.packets.ConnectionHandshake; +import udt.packets.Destination; +import udt.packets.PacketFactory; +import udt.util.UDTThreadFactory; + +/** + * the UDPEndpoint takes care of sending and receiving UDP network packets, + * dispatching them to the correct {@link UDTSession} + */ +public class UDPEndPoint { + + private static final Logger logger=Logger.getLogger(ClientSession.class.getName()); + + private final int port; + + private final DatagramSocket dgSocket; + + //active sessions keyed by socket ID + private final Mapsessions=new ConcurrentHashMap(); + + //last received packet + private UDTPacket lastPacket; + + //if the endpoint is configured for a server socket, + //this queue is used to handoff new UDTSessions to the application + private final SynchronousQueue sessionHandoff=new SynchronousQueue(); + + private boolean serverSocketMode=false; + + //has the endpoint been stopped? + private volatile boolean stopped=false; + + public static final int DATAGRAM_SIZE=1400; + + private volatile int sessionnum=0;//cd 添加 临时统计 + + private long startTime=+System.currentTimeMillis();//cd,启动时间 + + /** + * create an endpoint on the given socket + * + * @param socket - a UDP datagram socket + */ + public UDPEndPoint(DatagramSocket socket){ + this.dgSocket=socket; + port=dgSocket.getLocalPort(); + } + + /** + * bind to any local port on the given host address + * @param localAddress + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(InetAddress localAddress)throws SocketException, UnknownHostException{ + this(localAddress,0); + } + + /** + * Bind to the given address and port + * @param localAddress + * @param localPort - the port to bind to. If the port is zero, the system will pick an ephemeral port. + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(InetAddress localAddress, int localPort)throws SocketException, UnknownHostException{ + if(localAddress==null){ + dgSocket=new DatagramSocket(localPort, localAddress); + }else{ + dgSocket=new DatagramSocket(localPort); + } + if(localPort>0)this.port = localPort; + else port=dgSocket.getLocalPort(); + //set a time out to avoid blocking in doReceive() + dgSocket.setSoTimeout(100000); + //buffer size + dgSocket.setReceiveBufferSize(128*1024); + } + + /** + * bind to the default network interface on the machine + * + * @param localPort - the port to bind to. If the port is zero, the system will pick an ephemeral port. + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint(int localPort)throws SocketException, UnknownHostException{ + this(null,localPort); + } + + /** + * bind to an ephemeral port on the default network interface on the machine + * + * @throws SocketException + * @throws UnknownHostException + */ + public UDPEndPoint()throws SocketException, UnknownHostException{ + this(null,0); + } + + /** + * start the endpoint. If the serverSocketModeEnabled flag is true, + * a new connection can be handed off to an application. The application needs to + * call #accept() to get the socket + * @param serverSocketModeEnabled + */ + public void start(boolean serverSocketModeEnabled){ + serverSocketMode=serverSocketModeEnabled; + //start receive thread + Runnable receive=new Runnable(){ + @Override + public void run(){ + try{ + doReceive(); + }catch(Exception ex){ + logger.log(Level.WARNING,"",ex); + } + } + }; + Thread t=UDTThreadFactory.get().newThread(receive); + t.setDaemon(true); + t.start(); + logger.info("UDTEndpoint started."); + } + + public void start(){ + start(false); + } + + public void stop(){ + stopped=true; + dgSocket.close(); + sessions.clear();//cd 2018-08-25 + } + + /** + * @return the port which this client is bound to + */ + public int getLocalPort() { + return this.dgSocket.getLocalPort(); + } + /** + * @return Gets the local address to which the socket is bound + */ + public InetAddress getLocalAddress(){ + return this.dgSocket.getLocalAddress(); + } + + DatagramSocket getSocket(){ + return dgSocket; + } + + UDTPacket getLastPacket(){ + return lastPacket; + } + + public void addSession(Long destinationID,UDTSession session){ + logger.info("Storing session <"+destinationID+">"); + sessionnum++; + sessions.put(destinationID, session); + } + + public UDTSession getSession(Long destinationID){ + return sessions.get(destinationID); + } + + /** + * 移除session + * cd + * @param socketid + * @return + */ + public UDTSession removeSession(long socketid) + { + //cd + sessionnum--; + logger.info("Storing Sessionnum:"+sessionnum); + return sessions.remove(socketid); + } + public Collection getSessions(){ + return sessions.values(); + } + + /** + * wait the given time for a new connection + * @param timeout - the time to wait + * @param unit - the {@link TimeUnit} + * @return a new {@link UDTSession} + * @throws InterruptedException + */ + protected UDTSession accept(long timeout, TimeUnit unit)throws InterruptedException{ + return sessionHandoff.poll(timeout, unit); + } + + + final DatagramPacket dp= new DatagramPacket(new byte[DATAGRAM_SIZE],DATAGRAM_SIZE); + + /** + * single receive, run in the receiverThread, see {@link #start()} + *
    + *
  • Receives UDP packets from the network
  • + *
  • Converts them to UDT packets
  • + *
  • dispatches the UDT packets according to their destination ID.
  • + *
+ * @throws IOException + */ + private long lastDestID=-1; + private UDTSession lastSession; + + //MeanValue v=new MeanValue("receiver processing ",true, 256); + + private int n=0; + + private final Object lock=new Object(); + + protected void doReceive()throws IOException{ + while(!stopped){ + try{ + try{ + //v.end(); + + //will block until a packet is received or timeout has expired + dgSocket.receive(dp); + + //v.begin(); + + Destination peer=new Destination(dp.getAddress(), dp.getPort()); + int l=dp.getLength(); + UDTPacket packet=PacketFactory.createPacket(dp.getData(),l); + lastPacket=packet; + + //handle connection handshake + if(packet.isConnectionHandshake()){ + synchronized(lock){ + Long id=Long.valueOf(packet.getDestinationID()); + UDTSession session=sessions.get(id); + if(session==null){ + session=new ServerSession(dp,this); + addSession(session.getSocketID(),session); + //TODO need to check peer to avoid duplicate server session + if(serverSocketMode){ + logger.fine("Pooling new request."); + sessionHandoff.put(session); + logger.fine("Request taken for processing."); + } + } + peer.setSocketID(((ConnectionHandshake)packet).getSocketID()); + session.received(packet,peer); + } + } + else{ + //dispatch to existing session + long dest=packet.getDestinationID(); + UDTSession session; + if(dest==lastDestID){ + session=lastSession; + } + else{ + session=sessions.get(dest);//cd 获取session + lastSession=session; + lastDestID=dest; + } + if(session==null){ + n++; + if(n%100==1){ + logger.warning("Unknown session <"+dest+"> requested from <"+peer+"> packet type "+packet.getClass().getName()); + } + } + else{ + session.received(packet,peer); + + } + } + }catch(SocketException ex){ + if(ex.getMessage().equals("socket closed")&&stopped) + { + //cd + //已经正常关闭 + } + else + { + logger.log(Level.INFO, "SocketException: "+ex.getMessage()); + } + }catch(SocketTimeoutException ste){ + //can safely ignore... we will retry until the endpoint is stopped + } + + }catch(Exception ex){ + logger.log(Level.WARNING, "Got: "+ex.getMessage(),ex); + } + } + } + + protected void doSend(UDTPacket packet)throws IOException{ + byte[]data=packet.getEncoded(); + DatagramPacket dgp = packet.getSession().getDatagram(); + dgp.setData(data); + dgSocket.send(dgp); + } + + @Override + public String toString(){ + return "UDPEndpoint port="+port; + } + + public void sendRaw(DatagramPacket p)throws IOException{ + dgSocket.send(p); + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/.indexes/e4/c5/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/.indexes/e4/c5/history.index index c215846ec20f1d59d10031e4e7d7e8946c0e549f..bdd03435556174aba2fc60bf9dd75d761c94e236 100644 GIT binary patch delta 659 zcmZo?f6dLx#K6G7vXNDVv0hTYxF}h_G^Ip8)Fr?*FC`#9Gp|H1E3qt*fhmCZRZdP9 zgQT$WsSAn?{R_^C+gfEaGB7+?`++qTNnGx?4OpB(8g5u{YEfBgQE+N;ab|uV#5mCj zVs)pHjazmn->M#D-i0qxN0BA?kLQEUOPF>3AhI~yG>G^Gt&m;F;?eOCaf4fbHX@5Z za)yX6*nD~|vUsu)me!6gBv?%Ba4@Af`}iuHETMu zc+F&pxWS(XlaR&#yFkPX44$_^#Oom;>mUe`2oU~NhpZvgE*I<|gBR!Gki{3+IDo|q zxDGTR$3&G3L|nk`Mm4hdt*iE6^$N2E3z5aY)~|#}Y*-zag)9*r3K2K3DvL!Hk93EK rGdvB7MiyVX!VYY~g)P#~$l}RD=3sH8q~V;CnVMGuO&XgW7~Pow!VK=X delta 19 acmaFO-OkR+#K6G7w2@VXadR(o91{R42?PuP diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/.markers index 5e66445e5ac59c5dfbbe5b119711ddcd8ed30d3c..01475a63ca738a782d14db11027b721f99c17c5d 100644 GIT binary patch delta 270 zcmccVf75@1rZ5v*<>ZGej!97W6i&XVvJI$c$E3-wYC248C16D})Cxfw1t;^Wp8){QpHWf( delta 264 zcmccVf75@1rZ5w0*5rpws*`^TSMZ1*Iq1#+2CUhWFRG|bUMy0MESL#a86aH20#dnI zPE>)Jkp(O!ELq26G3DGYh;B9}u;3xdd}KjpuwaTr9Scb1WK$`v&7pE%8QH;l*wjF> zn_Hz$F>m%#_`t-(`Vu6-q_lJrrwo(Qy~&Nrxt#J042;geoI{DBWs6U#4{#XZe?x8o6UDb4$SX;n~W~dbc#f}tB=2brf E0GgXqO#lD@ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/judt/org.eclipse.jdt.core/state.dat index d980d39b8e7b7a6d4b3105d39d14e4a71cf92357..7048f81fe2b4259f86b5fd03e7a9373449a0f0dd 100644 GIT binary patch delta 22017 zcmZ{s3!GL}xre{a%xq>*Km<_%k;@Fsj3QS>1-Z^}6$C-<3Jf!-c|E9^Mtodm3^4KT zrXtfs#j@1OFv`kXUeY>s>RdXfQ=QQ4cq=vSoJ!C0?AdGDe9ig#J+s$Zd+oLU@Be+* zo&m;QxU>IH?(Bb4ZPkWCA-d@F%e!{pGP-Sa)Hb?H+vu{k(dBKUD;^ykA2~VMGdUiZ zteG57jE+mzPLBJO&$#g7mSoM$xX=FQCdW&vj_!ZOhIJ!9a#i!?BNtt^?xL0}=dHbT z?fESm_K%+(_b-de_Afd!J`hC|GikNKU^bKCx?gVTKZu`+`K$KDs}6G%EH;~ zekuQ3TWCUh3n3rISW96YT!<$v?fVp3l1o;`Ba?;|MBR@sM0!rUOG(ALcy037ig;Yo z+QgRSEBLa0U3^mV_*1yMX*pjGERP2yzgiwwC*xMcM-$WvlKzqQ*+2a_p*Q3g@007h;8CEEqqFf+XO79ny?-q9gD~HIe(nBQKi%IO z13+v2*mv>cU|`nfa>#h;+~c`F2uejc-r3y2jI&R%Bbp)Y10DULS)WU~adk<*CfC=U zVI}?HCH>lxeqGwn{C9!A5bQc3*FG_w$d~Lof@_#}QZ}aLJ~J|RZ&Y@V3rDw57*o<8 zYd_mRoiMIs!pXV5r(`_1v7h{@IhFot5boIz0#DDiC*;}_vv$$O8Cl1Qodo9JkFHDx z`=RKjWPL8_{i#_$+@F@augK}SzAiKz+AkIwvw^U{jFSG$Lmw#2%JmgEJJ)xEIk~>~ z=jQs}KQq_w>G_{`$Uvb`U(%mXUpqbHXXV-pvbM)=Vb(sI>mtZIxH!A#^XFu3onB(w z{QJ;S2oI@pS+1{*%S-wzO8P75E7G-A&%Y0Q<3jKOKTfj!k*pn*Uqs*eI^yvO^ZmZz z4+WQi&-w{trE@Oj-rvUX-v=){WUzhg@=nJ7p_8!x4fSLNCtrQLD< zeeh}rAVl{u+J95pF6x?2#;#>7ykbMtivM^gb2l=U-=p}6+@zp>Q#L8&$s#oxPsZk~ z?Y%9z_SRf`8*SI}qo7s@eUD^Y)@O}kT2$ASO!y@I5V;R-haI^&VJyGsPVOsGVb|y8 zdYV2}(!YVebGv%}cV(R$x!wdW8d7j`N#8kPQy0D^*Eh0TbA9jM20_&A**yi?zQexO zI^d#7b`AaA^nKWGGM~=czC=EgwVmh7CT#Fo+OFex6YK%+`Lg*OgnQ1rGwZv5`pxI_ z*?@g>b{B*c*uNXT03rG?mM^?8=bqfN&Uc-?os8WZ&c6@b2Tl&J$@{ZDm-HLWzLNd} z^o`E>UxXkwZ1^R{O2s|M*q3v2BlE9nZ-fOxWMAoI?4eG^9`0o9kxs_G+R510^uKiD zuXi%`C}T!uZY`euVD$DM1Mm6q`pxVb?j6YbT+;jB%JtLt|F;BMAkl?>r=V*)44g%(9Tj*?08T6#`->lO*}r&W_=@Rg6F_Z{eJO0gt;Eq z7jpd{(0&n|>&Jcw&}X{COX-;Y^KsA#KZFp~kFqf?>3tvi$E@v`0)Jf6|4B*zpK^Ug z{pBG{WnVbZ_+nXAABp<{(aV-!SxSW z`xvfoXKm-d18(fc)ATObKid3zp5My`xTJ;ke%4o<6aNH8kni80-Q$uz^FO)1&-`!J z56}ELcmFWje}VM;b4?fcD_0}*czuv-e@Hv1Cy%}$53v(rk%MVOTyZmUoqXSR=3ZnV zwh>m0%$GN_0*T_R&qYyD*Q{?8eCLWPvpyG}iK=pa)`_}h{VeLpNL}9#)<=hP4gDWb zf05_f0Usb0k@?B@k0|N)%KBW=1&`z!BI{jpuTORlN28;1?Y^N+{-aE3D8$I(3Dv5Y z$C-0%Cu9AxMR-2ypS5u-8bG^~QxJI)5SpgusjTh!j|S#$Jl)<-#r%Esd zn12^PIX{?<=}M`H@tusF%2-2$G_Bko;HmKFdE7iw9y3ppr^6HBNwE4u)zeJZORLXH3=>?~4UQ@#ukMHk7QJUd zT4aL&`wJG8g%mann<&v#5+T zENnz!@epl@PEkf~fz~C(o$)b^?w5AC8k@^mm)4?&sm;D+=2)ml%g{1&{;1?XSgNQ3 zt#XQwI>pDVKBro7R+v>~5vkh3u}~}wi@^dg;S=Eum;|mn8B{(6rouFs4h_%JG&ME3>xQ^bu{Yg1P?%y}rWYIuVVNPcL*9Hv z7+fgJ^JuRHHM`XaI2Wu7-$$!q4Ge>j4%aqjX#X=wr9Bg}3VhmCeX<7DfIC=0M(xf` zunwBRom;>t*2DQ=0T_|%s@$aeY*l_E7b)gdSex`6S{cDj)9|8J*m?&Ovl?89ZC zq+_8USYj=ncq`x2Vq$`;7t#I*_<-?E1*>Bq90xk>f^K4Lhb14ok;7>C-f~}UP`I}h z>T)i7Fm>!dPHGIru_Ml;fTm$-UrSt-0 ztOE;lEHJs_*eFI(3RP685Jl*NV)eiPKLNu*U-UdV>?^3dZCxG&!CKGd7?=cpoalq;5BN%TH%r+aRil^gI3DUj`R>{m zv}88u>nzYV0x4{UEwB}|&m0W~OT_U8uw*>vt})%mLOmSAK=91Pn!trDz6s!B+u$V7 zM@4Ohh0q2@`bp4l1JI6ExDKX*Ylpqec_no3;!YZBM)XIY^eC9>Q|{_Y?xHQO?y6d% z1u6;Qnkd7)9<fO-|jKWQf;(F8eDH=CGHF!GAreSr5U7(s9VE`D8hv8=MIkV}r`Q(Mrx-uS~ zcSF~>35?1^rhr@YzZUAijA_NK&;YkV1vnmopPpd&Jq_RFxT5}e5>({_Cg66s17<+* zF8Fsuc(}Lw-NFpF)SMW6+9!5H0>(c&iSCGd7kl}j1?iZEF9TI^##kxlJS(yg8ra~p8@SS%w(NQLvg`m#hP`?N0UDdidzjXJOb9h zFwjRU!x}Y+tq@L?$uJNE14{-p_-Y)p{2wr5x^tZO{tp*SI#&yoqosd;#tOw>=An!d^hq zkixw*YQTEX*eP%y7^m9jCdJ+S7EtvA@e##F`ugw)6k#*CNmn=r%%0EX%~g08Frd3Y zF^X1@A{D5Zawr4!>;Nmqgt`7V0MCo*PurHyPFM{4K=VT~zDWBFFv|PEK-$2hJOFiI z-5N*(d4O_&UsixrY2GjaD#XKStFXj4*}@=mUKnaHpGKIXKA` zRbZ%_VHg;04OBrl@EOCt9rnX{pe=o&*v6L;kPpQoc7huo1u8n)j-CYl?x=Kk)XWvo z6IA0aLm(*VMcZdR&#G3N)`1pcOpf<}*~W$#?mo;Ii88l6k!w=__MAYyykc{GSQk!MQ&7J@}4A^f-Jca@H80UGq4a0)SxH8u}}+jV6rQ~k0saz6y;j|?09oMd=D-v^5p_>rZWs- zESUfA!{u->cwZ$h;12ft+p(Tj!4sg5A^A_zJ`YxdUKm0ftOfnq4Wo>|k;Y7z0q&qy z<8OlJpc$S8O$*60SuJ3^hVne@0sXKrYQdz<0jqB=XnZ*+x(bY-TOm37&iJyT0Vq^q z`d$x;SGb~`Z*YoNxJmWY2AyhDkNX;fg{wAonkTiXOXrM3%@&th(9!-IUdP$fPH`1? zG!LOP7tzMD)as|XJ_F`xDyXOtba5}t1|#uBq)K=5UIVCLE0`+tJf`=B1?z})1m&&O+u8)^DjIfM+Eu@IR@Xd-L?Gozm8!R2p<9-xcYKycWtdV#O7 zp)d?qfNrjYAutQN>RKg@YN!EUH0s*|rqec)3O@o3aQs|Q+)JQgKLo{Bz%gLyeFpOH zm8-nNdlVVHm=g#eoh;=|K#O#1u__)qvg{1R>eeft&s8umhW(9dw@ z57PcISRX%u2KXoVDf|rn4gMAW8U6)+4*w3W?_TV=G~M98=(x#mK&3lD3-*Btei@AD z6}Sa{3$KDUXs0%q4_|A8Qcv!8CqaRVQ`n>MHMq6N7n7{w<6#=Kz*J}hZMWQwWCQ#T z{u^F{*Fgt1K|O2*3*rqJ3bVip_PFPdz()EW(-Wb%nJ>d&Hrxv}U?usc+5%mn5_*8= z%0(@Gqq1<^RHt-fI2ce9Xtgetfi+=GDYOC%Vjvvn^bpN<26n)6U}Q$|CLDmrU^gUS zWHaF+m;s(I&sGcQhK}uoPlD-t7j$zpyaj)RQP2kU%DtM#@8J*dHoOB1LE9}H(_`K} zgF5m6=+FpghU=gTxY8G3U!ypH4G=O}h`e! zxu9i!v>=8`7;2|W^6UHJvB_ywRZrBE`U>TkQCH4*NDBTFOaa$17*l1MOpO65+yJ_O2HXW-0E4^- zLJVp(c(qy*n#gOf*x~N=3~T`%4S6=5J7F>G0}Ti%w~pS0Gr*wkgElZr4PZGu0Civ) zG=i=h+;sR7%(sxgOyfcL3Ooc4!z1uj_!@j2=76>HD6~RXFk&MzYD>jhs(?OF?ae{p z4O7+)RQ5J310Q?`ips->^tkJ{=W7E@gIk~%90_~DaJ$1F;XP;o!!ji8SOF_x2vk8& z7z`no&PzZ++RXFCjqi^R}p> z)S7!4)1IOW=uZ>83C&>mEuau{(iiICS+M>aAcUf2dbu7x0AB#}U?%Cg@c;xIq;dwJr<`1FPt4f|nt0nqX0ZfVsQ|bj%9X#TwWJ9@a`23!1VO8bF~hz$vgC#skMk z!_zl}!pp2K1ylghMczFIUW4thgE6CRg6n7-^+jM*9(ZeKI0P3xyE{RVQ^8vCMS!Cb zdqnKfQOsufaI0H;Ja2VyD;TBea5FboR6nS-qgr#T*Lv=XAA>8P4fOUy_yx>{IdDB_ zqgIS%y_hSJ8Daac{E&!rk;z<@e-LhldYBJxY|*Kt&Wh)Ug+0IaFIprb5mce zC_g^z8PS*Cpwdqp|3Wy8`%bV#EH@Qd1tEl4wDqM1c7Zlb0js9;jbKvhz-ss`>sE4g z(;vfOfCcF{xp7>J4SZR~B+JMW(IX>Nj0$Ifi7+a&8M3W4X8Cil1jukId^*>yplw>F zkXxYc0sL8)}Qmsds?8sZZ7x9;S8p4DIjJR*?^?Q0r`~LhH0@7|db3f~&Tf zqs+QA`@z21`tL@1#iHpi=!H--J0cf&5lD9ALin5h;-2BVp;mCR(o+?}*5@qr$juC2 z(IHZ!Jb_N~%ZKBt3e1msByT*-uh{tR*qu#QR1@q09}EwVuwho6oY|9F(MEp@gpgGm z7P*dg7E#A>-N~3qQf>PNN$Vr=+>XDhGXkxB4pe^)_}(}Ot*{NA1a-U&=fSn`3j7w% zg|%=q+yrmJSBcel(Vsed3uET}c$fw)7KP<%Fy?n6yb7!I4l6%V8sI0#cb8=5gB$dlA*mm!b}O&KjTx_y(Q{x~ZU(z)iicdm})H zehB5@;>UoZx5Ey24w~R~Xa=_F_ygTK+UwyCxZNA?!G6@RaYO`>5hP%A3b_bo0CuHk zZ#Y+@u^c9YsWtLX!n>fO^WZIb8=i*`U>kf0y1frZLHg$}^Xyx>7R;-4EABCWJ; zJlL}#*jqun3q;TlD#02Y>7WmrXx=udMRi;cLMy1kT>q74(|>uKKnI`Ga~4*wV$9WQ zz}&d=99RLKzae0r+{iqY!4xobE72U~^MOsiI3h*Wb2Z{LYW)w#LY0O&A6CN}7zSFv z!yVzeh#`+MR2!>6-+0J3K-7cwQ}8~l0ZQ29roW~07p~XBZeVV)<0qXzGw=#L3BLuy zc$o*yY!hfje=uD7>3gx6b_*EA9&qk@?vYI2p^;Vc20Razq*d@HoDb{ZL!YEZBNmOU z;S1pcuoASR3|J`5viTToM=$)CdcAY^3g`-k9v*1T+Fa7PW4z%c{lY6VQB2J+w#<<9 zIA$@XD;u9uP68`F#F@{C^9R6Kcd!!OK{K%)x&POsCya_ zcB-On%sxEMooJ+o^_#RGgKyKfSWX8gJJHZ~0l7|Ne}Xwy?c;!&qW}I8Sw!D}$xvF2 zrohi};O-~8vy&`CjZvOEdh~ArciIb`DKKUiwAe;KV*JMK&Q{MpC{^Hw;_j!|(BYe4 zIiMo_fnqc5pk^3t=eXPL+_(14gga|$8@N0D_FvQS<>Tt(UESHr(Y+-w1}1?qp2j@m zJ{e}gP&f-Ff^km)!(ivg!_ol0vsc0?FdbamwT8oDUjjbh2J>JlG$ucLEWV&-s2jk&XKufv~d#CS{9rS~S`)I3AZ3aixM+3OJhI(8_ZLZ;3I%N#*a|Tc`#SUGI z8Bmvb`XZ>a5h}os&S{+e7*4a(3s%7sKosd~#2l=K8v45225X@jJbt5~5oW@SB43oF zL&|I7p<}ol5e~8H9U~3#bI&{O%>j&fsIfPo53WR9Cx>X`hm)ig=Ju5mNKe~ z9g?>&V7OYKd^V3fk}?EbL}5F@%`GYgECegfYVu%JfT1hahzCF=OmMIoTtq+8(l63D z2(93*+rYDHW>s`991n)guIVew@Lz{l=@V9(G(u0`I-g)XoEJks5wt>kR>LM34_1n{ zrGI9&p+A2F!)O3K3Ww@7+S>t3O8*p@ewT5ht)LApppDw}6d0}btyS-ULA`}o?Ri@N zr_!)4x4}ec29u-83edJ*pqDyf9ws`dseZT-IVdXB#_vKAtbnfY4ET(5UBsk1ugpoU z;7vd7a)uqZ#`N?h<4m90436uSI}PRjAg*oTGuaM>Nj5ZaGLY)@?P1oamGmuPfi8kZ zMOyKu$icIjFqmrtxB%MI2VBU4vu3Q|IWQM=RdvRwbU(f!Cab^&t(&pH`zWnuCa2bi zciX)14P^?Gkea5W2iFi|LfhTVY4$RUhOh{+cf7xhpb-vBUiwb_;8E+jeLP*4vz$i4 z4gQB9{fl?eyc>MyY=c%X4&NQRs7V%qaqVQ8L0qQ;1(N#WE;GR$Rb|}PfqB+1eXNEW zP@$1%gGZvLC83E{(~V^>Pwe;;vG$Jv4;9NE62n3It*{NYfX4VPo(9_62FB=iuYyHOy8OGI z^gUcp+X6KI8^LsI>S~M7*!93X&Vuo<3Cy96yKn;-oA)e8-^J4*@6BuUw}XaX2TiaJ zX2MqReZCk$uB%^qc&tg7K*K_`@QmOsm8$6xf}PAC!XS;t$aj1)pXZsT^wriq&VI_Qs5=7Qhw z^l&I>^7EkS7TlTeE%0q`JviO~_*(osV}qGxOwdphaXsjTLKlFZy#tuq;n$C7Yp%ul zJt=*F~@e0({-mH774@qpqW21}hNEl0~q2Nbgk!s}ZX+{_9$TBDu< zR#P=tX;q**x}*a-W>x7Hl~qi?SvpyZj54#R!=dSn<;zZILY0KF(-A5mEj5G5j%tTX zR+=t71C6i^YN5_@w6u&u>x@Y2EYS+^6YMieHYv=o%m#v1{29)J)nK?!K)$H3E;0|C zTL0{x7Ec@3wP4i6-F(p_-!ghM3Y0h#W`N=B1-$3)liKYW#8n%b7*k9$IIjij;8~!` zIxNJl^sgf=E~|Y#ec#S|^xx2T!amRw?YI?upUeRhI~N)NztcZ~&Zb=sZmxJOQrt`j z^iLH|I0&tv;nTpE*HplQsG95V@IUp$olgYIqaHSbWwIG8CwIITYQP=c&3e`bpVKz0 z!th3bp}I~uS3772OLx-ViU98yf6o`aLs44aR)A_BfI83)y{rJEGt|K_1QamKL0Ju| zbE2wRzy(z0f+`9N44^&RPUQl=+yt7UIlf%l*rf_wP2AoUZ)dC*S68((T+w)uADzIJ zxS}JHx1Qrvli_r!a<0C=$HI+Zr0#1}Ml#oq>v^La+yGBQ{yP)hbn-#2t>B_YWbLnl zE$|AQ%QWxx_EZr>s^C?wuY>Ol4gUa4vcgTW$(scx+XFHMR)b033?42`V9E4(jEE{| zYik2&&Moi)80kuw?qnk~#MfXu=++K~9B%?@IsL1db&R>lWY`KVpg7!2BlCQ`1@FKS zFbND!!K1)}X#^c<2Hh;S@MB_0fs&V(r>b%V3?E^O*j;8Y@+Zza?H(VfFWx^SWy4160NZ?{SnJ| z#%fpth)tt27^9nK!-?ym66q3!vY20DWQQ8iahcpVVhaTEwXa{DUiMw@${>5wLa zkI)>AOCkC{Q2&7} delta 21959 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 delta 211 zcmbQ%&-ksEQHF(?iHQLW>-RmO%wF zkR-DvoAb(nB%7gp;Zs&&qokM5F>g K_f+pLKL!8>MJX8o delta 151 zcmZqUZR4Gw&0%0{WnyV%YB0HgS$AW?WkwDoV`EDLQ)AP~jjTbFdzli1VFJ8d`g$cr zsj0Tc29q~3N>1iu7MZNeYz;SIa{)6a6SDR#c(n3~rzPeTr}AfPnX0E=QOFaQ7m diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index ececb5b..8e75b23 100644 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,6 +1,6 @@ - + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration ModelMigrationProcessor.001 @@ -11,6 +11,7 @@ topLevel + shellMaximized @@ -72,8 +73,9 @@ persp.showIn:org.eclipse.eclemma.ui.CoverageView persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject persp.perspSC:org.eclipse.jpt.ui.jpaPerspective - + + active @@ -233,30 +235,9 @@ categoryTag:Help - + org.eclipse.e4.primaryDataStack EditorStack - active - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - active - activeOnClose - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - @@ -265,6 +246,8 @@ View categoryTag:General + active + activeOnClose ViewMenu menuContribution:menu @@ -612,13 +595,13 @@ Draggable - + toolbarSeparator - + Draggable @@ -662,7 +645,7 @@ Draggable - + toolbarSeparator diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1805218701.index b/.metadata/.plugins/org.eclipse.jdt.core/1805218701.index index 5150df0b195430a6eada0f3ea1559359031112d0..393fe1c9e339489ffa1e2cd7c3c1b9c33fd7bc6e 100644 GIT binary patch delta 21554 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 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt index 9925bd0..f3f9037 100644 --- a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt +++ b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt @@ -1,20 +1,20 @@ INDEX VERSION 1.131+E:\study\java\judt\.metadata\.plugins\org.eclipse.jdt.core -3416640879.index +1980772638.index 3313612825.index 444117817.index 2598090827.index 2623740563.index -1695359110.index -3634686691.index 3707260393.index -2850441063.index +3634686691.index +1695359110.index 1805218701.index +2850441063.index 1923975890.index 540189086.index 3117026293.index 1854609566.index 2442155254.index 3312204052.index +3416640879.index 4127974235.index 329092823.index -1980772638.index diff --git a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log index 71769c0..c68e787 100644 --- a/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log +++ b/.metadata/.plugins/org.eclipse.m2e.logback.configuration/0.log @@ -462,3 +462,4 @@ Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Failure to tra 2019-06-08 17:46:56,849 [Worker-0: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. 2019-06-08 19:08:31,964 [Worker-6: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. 2019-06-09 02:12:32,579 [Worker-1: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. +2019-06-09 10:47:05,572 [Worker-6: Loading available Gradle versions] INFO o.e.b.c.i.u.g.PublishedGradleVersions - Gradle version information cache is up-to-date. Trying to read. diff --git a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties index 8142d67..300f115 100644 --- a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties +++ b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties @@ -1,2 +1,2 @@ #Cached timestamps -#Sun Jun 09 03:49:51 CST 2019 +#Sun Jun 09 12:21:00 CST 2019 diff --git a/.metadata/version.ini b/.metadata/version.ini index 71d6844..a3179f9 100644 --- a/.metadata/version.ini +++ b/.metadata/version.ini @@ -1,3 +1,3 @@ -#Sun Jun 09 02:11:28 CST 2019 +#Sun Jun 09 10:43:41 CST 2019 org.eclipse.core.runtime=2 org.eclipse.platform=4.11.0.v20190307-0500 diff --git a/Client.bat b/Client.bat deleted file mode 100644 index ba721ea..0000000 --- a/Client.bat +++ /dev/null @@ -1 +0,0 @@ -java -jar Client.jar \ No newline at end of file diff --git a/Client.jar b/Client.jar deleted file mode 100644 index 1c25865b9791630331ab62ed044d9e3ecb2ab60a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163009 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 diff --git a/Config.xml b/Config.xml deleted file mode 100644 index 67de1e6..0000000 --- a/Config.xml +++ /dev/null @@ -1,6 +0,0 @@ - - -192.168.3.104 -5555 -

F://monitor - \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 962f950..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 jinyu鎴愰兘 - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/RecFile.jar b/RecFile.jar deleted file mode 100644 index 959979f1a0832443c01a772fc4d84726994c7df2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163021 zcma&NV|1kL)-{^$pkv#%ZQHggw#|-h+qToOE4FR3<8(Ut`q}v2{p@khdrpl}zv>#J z?t6{7Fz1?=q6{b)DhMPbB*?G$c6pHh_@IJ-fyjxe3eic)i!;ax$xDfgsi@M+iGPfP zfZWSXPRPp8(a*uj&{0oM&NL}AF0$+%IZaE^(l5hF(vHvZ1~do=BnSw(=ieU#{Lindrp_)5 ze;xVflRiiO{RsNMkNkB`+0MAbfFnc1-3@`E+KgR&kHWIxNn!XQIaKqj?FbV{q5oNW1ht89#v|(j3 zIF=^f*nsRcZd@CRNT!l5;v<9%;3Y9~dZVfW`>=ca04bVl0*g-VhWZnUM8MTcxt6o| zh?dF#+m7<7g9+zUL4CAYL$U8^?Cqe(xhf_B+90 zbP=Ceo?zHUR#k2sdg~NICy#QYlbe@?gSZY%PO}|oA!koq#U`-+$7k29i$rF-wur_T zTy@B_P|;+ylRIHM@>*7Ztr#Cb+b9%4dsRVUA7b^R#1pG$Yi85cEGgK0eqel_FoiZx zBK6kKVl2y>C-C=^S{}*y6KoB~AQKC0L2g;@?^&AJWd4PmP#v#$2`dentgmdT;dFYt zZfqR=TMX?S{UcQ~w|SSc^}g~_Qq_poT+)eRsZ@B9MABPi4e~v39kvOR9U&?z4(APm z+>v0Blt|Lh_?Pqc<-1602a0|u<%LEDC1e0(pki9;28V{22Ff5A}MR$)OA)$e+_#zq|iC&)IE)8_(HQOT$1JGQ}oB7{_^ zOmtqyRVjL_o8^tq>$eZQ-yjj>A0Yn8cbn)C>2nAto7*SZCtT0j_a`?qJ0Qz#=bpPKx|9iPaXdNx z#N*3!{myZJ?$)(qXxEYZrTzrG?yJ8~MR=UuD5LFf3Tx!WHoZ82`ln&eIEUD-S1c7- zQ(ceCi(q>XM&&3=av^0L3`r?wKeZX=vBW9QP2atMxBdIA%_!~QCgouXoef3(FD4~) zvE;+1an`?FanSA&|wYXB1MIeGi18CSeU33QCnM=+Wk+qKe z9jB+D@~rCq`13LTS^Vgm%;Z9n$H&5v*;3ZufZ4q|y&sN07RYo`u*w6e1K*Kd3XjOD z=JSMd6BOw10Q=rx=3}Kr6X3eURl{En8IooUk+~u>BMXt!#fgaD#2=`BM)fNC3uQ=G8qq21$6<{LgeOmUgiEMS zk(%9NDukB^w%GKMUNP@wtp*CexE0?%5d4Kg!XY?Bkv}MW{2K~EqyAnEG5&@^Q#+IY zDTlVo8+OP_sCwqmxR~E2N*1*%lue-8TJ z{>YpaMG@$WQ+~#>uo5`|WT)t$)OTyZJBQu8f$RS4V{|rTn_o}w###!uXOEHEOqO!oTo{hy)v9& zDyg1_pSe^-VK!Bbzvx;VuhPMewnnYdw5b+P2g;H1FvN=JS56Y3v${8G;FSN{6MM8F zV55C7pDN%7c*%j5oI5j2xLTy62$25TakJ#CRuZQ@?i(xd)vtmGIXtmsF6qw$1%1E9 zBT@(6l|Froi(pigka__Z9{|m_5CKJa{XHZR7tRu<TbJ$xvBJZrS7pTU2NAR^utmq)x zNzLRAco!4<4B^4WodOA7S!2b{J2Ulj>v;zw95ypb9`|T>2jjR13KfJgbZ^FD)QWJe z72t|Q;}XeS`MPMHi;8_ptIhR>u)a_LQfM*w;3-2z}#lZ%Lp~@=o}fD z&aD>?{UFzS4E=Ec8LB(gBwJ<)(Yi^1 zOTDMkIl-vRqueT58f)1Jdk~_2Rqw+GYvbNl%)upIKB~X?1oz{iP!*OWs~>Z4cXR4> zf3pQ=xN7*v8n`Ea?H;N;i^GKTR&mJPz}=Ab8#@pyR7HaBXw+?;cyt$cuuo-=b9>R5 z!9t-Ty$^ito>b%`IM_?YOLy^>iJxd$b_c^QYfrbJlE9h2TqzMLja7F9EmZdOF&fr5 zVPHo>^XF?$?^r4B^jU*e1uUzn3)o|O)bL=3)hrRqLVgTomnszPv1QLmdUEW zBnihl(0t^fmoUt>x!eBX7l5&)=)$@=L`>Be6+Y#IkadOiT;U;!7`#ShS}&^i`TK&w zzx%h=FdeP4&oHA`U{z=xS=eTpL~PbDG&OD&>RxRq_O()#o&=-;vT6$GMqeB5GZsCrTi0eaYH>aECzGn-GEq25BdyrnC_XF4wvYy={z))>}SX!0l$X|3+`Qyrj zwn9B4o9aaMYS56=P!0H^9v86)v>xDM2T1EGG8Q z061#j(?6tseaSzqFp?g5XBj#>u#iKAgm{=P;6YS zPM^-Fvn0E%ECkqm&#ddY3PNFPCOt;nN(ZM_ApK^S|ceftoS_LQ(hi6%|CxRNJ3ara+B>CGz~tkA zvT3XZBQBX27lg?S4uzao$0?#iw041#WE?I<&|`OZVOpEAVUO;5T?Y0%7AW{0G!&^A zOXPff|3ENbCs2C4424!5$=U22bMO7Nkw#PAjc@X4bskO-{xv z-hzcH+{#b?8*q|szA8EgVgE2>q2R69nthRIYR<99&%uH{5+7Pb*AgWIW?qqe1~nbY zG$YOsM{wh>Wna(nW~>fnf$TiBG`9FgY)7_<3yc8^U)PC3hv!Q%e|W4vg+w?Rg;ENUGhi^la4kF&s}d=V}dA@a^8G zTWRc$G*5qC(HktTWZ|qMbT2PR$!Vp?!Zu@)(94G3coIUWI674K2B#EdAsFuJ>)Yw& z^M75KSzGhR=l6L%U_r|}C=6sMzemzx)g4ItDh*NuXmXGiaHt2~ZgnYGL!_~x3aSjj zuCTeumbH+?bER+H>-D&ZmM7Ozznn8xwXX=_t39A~JrQgZzSh_z|G;nN zQPn|2q?d>YGRvIZVQ9CfsvF}EISguh!=s;0J`kcwjZrsL0$=geqm~D<9kETc+4$^~ zu=s(CN4BmxtRFVgc6-a~3Ar*{eJ^6O*@bW5fQv#ES8gd1Eya^*rP~?~owJ)@$CDn# z^+gPV`YfFDB#OmU6^{e|geo8`G%L*$oZubqD~6837mb?OYxu&HILNs$d`N#hzDBP+Hd}}35pAW-n5Gn|T#v@Df9LdpPHE*@hG|4ne^tD-R& zuY4p*uxn_7Lb`A4YlR^Yl{ve~1rY1TudpyZ7mcB5jE{D`)+eUk6?~HbM9{sHG60An zZ;))wIQR6s&c_;|k!=#@QYrUB<#0k{_A_e?RwD{w(M;;VDN=pzrw8g7i3o8c6ZlT? zL;Af}U;;k02|d6sd?XxjcJ@03t&k+APvHK+Cz1(B(*ERj@BfS73keYpnrB0G(yI@{19ec@@C$uVA97LfS{5)5zU^4pDK1xh@q)A$0_(4h`Jc0a8m zcv5){bg8!!j+kMOI@ispR1Z?85ZU+-88$HZfQ>Y39#X@IY+QE93Jdei2H;2lNYhj^ zm5h+#MO|tZmO20;iBoAgt!s-iy?!E9o6F`1Ua0=cLF`Epcl`6S%O(&sa6(QcTba;k z=sr#F;yB{Aks9C4q1pWqQeT}(zOTbU&V)4@APoPI4p?nhmWgGFl*%w<9Qw$6(Hm?f zv&P_3;Vw-uJarFg8xyOMH=!B{fGuS#BHrqcGtiTOXaZ{_?%FIxaMB?;!cgVC0+~G) z2eQyImz#I3BX$yCiAP_(s6iaj&bXR1$o^oJ30Mi9?3QQC=p?Qvg;Q!*Avz;j8I|$r z0o^d;?JBm%;Nug1gS!=(}s%*jmBq}dwIJMb+i!q7-}3zCxZ_`FD5tmpR& z%NF&a#xzqq0X#yCk1c>xU`zCpFQb#^1anIOxawCJB0tatWH3f)2==sn?fA~W3QLO zB&WJZYc0RF9)}G4Ev{LDQ25Q>Cz{J9Y2|b(T><*z%U_^AgBPty{4-BVg8hH#IaaPF z4*#L&{5OyOOV9bo5fOl~h3S71X+8M~_`NICf+L!>|y$%kY>XX-&jmXD$PZ zHL4fA)uibBeG(BorbK3m&L_Nf)4T@H-@X&^;*deu=Y>)Dj}Ob&B0I)sz^PQd5Bv@X z>iA<_mW*OnH$3>C;(oSGXNeAS6kH~7U%^8^UhfRGIQxR_*PdHhOm*>9mK6A%gz%G;0%pgrHZPpE# z{}sE=yHpwHLVZHgzSAuGoG<9^`XR@0(=c{omXs;<#XpOW8m6Do)dG^rGAmX%I7PLf z2(ly5?UYiS6PCd3d^Io(%xB5UQ>x5z?0WJr+y%nvHraI@iiFF8vlN?w<~KBp*BFk^ z68`apGqXA-LXq?!$;Eg=lo~MYwp`Fcx1(mEwwS@+b;`jSbE$kuaWJ26CQP}aID=7l zp;c9%`&?1sp*Uq%l2CDLk8VAN94_XfEknN3Ng0UmBbGnwfNRVRC@TfGs^Z~rD&oqO zK&!)oO|tT4;}zFr|6XTI&@+9zFpte=(;fhm* z-nS*5erl9BIY#tc>aAhJZyNFQ+?6Wt#U*)!PY8nJ|ac^oVr^;b3u2! zpv&nCI(I~G4iU-(kH+T1{A|e&R`M)17Z{tJ(-Jmga)}ZY;krJO!Rj*BvM#UOXnc2B z4RJl5OjX_RSS7420&$G>rJmp15Dw9V4e4Rx^KQ%suuR4z zDa65F;a(fpi?!h!xPk#+92GseD-NhyJV#rc*#X%j;Si}N*14Omq^RNA(iMrR5Cc8N zbc;W{j-m%KhuZ^lDw5URYuQK+iL%KeF9ObuEwM!4vx}vjlnpVo-u#stu-^Mm!@0pb z(Nbp49Qr_&GDkV#f3O?MkJGbcsD6tLYZg(WC^CjtfU&V8Df@Lb6zt+0Q)20xZr!xD zDa0+m2n(U3ZyWFi)vEj41G&djy&2jCt1(gt@IjcdYHxPp=E(NOo7wXuHzq}9zH(hG z{pQkU%BkzQZ9B=9<+hQ*s_S&XTx;PW#P-~U&aFQrb2ydGp(7LImrHVj!d&u}9Gf-XLz+U8laP+-5FNaD`xM!YaaPHv z7w3wTRIS&~m?bn?XrpZ$iDr2p80~G;*P=%vH4S{_yd<)UH2OBoRClYhypW`d)g+ak zgHQ_EU8*-o6wZGG`G$v{!N2Acth>RzObQem)|b~4AMb=_?JC-HzhK7UJXlpYsf}>x z&2e;MGdP~aM!!^-fm}qA5t?Xpm3ofmt2_`1$-{4>J!>Y5anUYCI!ZY@K>03!tn`eH zNTt%2`Fxaf>>IU&3GUOHAH0kt9mWNJ+u77=2Vc_i=)9`E!5H>)UHTKZb!EEfXKR~T z8uwRSP~85Lmt{Ur3jR2TTN=!M5w5r%_aFXLY78rWfi+q_4NZ1ZJiZi*YHco_Uksj> zel>%$F20_(bdW)_QrFGwR{>MvhYu2Fa}?X`>-^C>lS_%BetUx+1+*b$i&_5Y<#q6? z>)qU`fB5L`Wq(1xjqwc-YlfrS-y_Pj&jTiS`mmJxM!yhugpPY1J2op%6f#8hH=_8M z-d)kkM`&6g6^W#*^Ntu5pcyBPpasy9k5{WrfEPcZsfVgkqJ8=Ns#`+29(s=!P=&JL z(66o_rX*I-WhJ2BwSR`?wVyZ-?&B`uh`yuIX>eq%)dsiXhN?h&VW72TZTk4Qd45%e z!e!yd8P$PlJhm^jlJ5Tt6^R5!z5!b+4>l?5r?+*F2pp!u%FtbXZHumLPQU)iBkWE$hnzq5);*$UD(o)+xdqGw8QqQxy z%PYp)@>2H<7%HUo^5mL%p6~0^(dFx}UV#rV2kaTuU{qFyRHtE7|B>JyCK*Pf<1lCd z@J{p?GLjUI%aFy#A7X$vXro+*v|yg|_GTsKi)iauiD-|fl#%uu?WY0oLWo8PNW!NKgjIw~PD?PFADJ!_r%T#pTd#wwdTH&Sz*?GB%^J zrlH`fAmrUW6oqwNEh>PTf<8wc8>2*Rwz3cnuJFZnD-5XkjlKBYT~Wlh&s#)r~Y-n066fa!{$O#PB)r7SwIz$!CzA3hNij*i~a6JTkVMpz*hkPR)v?r zkw!I2v{2o_2Rfj<4ovEel3@faa3#6L21zrM@tE`Aj`qZ1-hpmgBLnc6D<)mDrtRBD zMkpcFAGzxz><#^7*XrG3a^yS^LnuS%)QQb(ek%`5 z_fSO6RS?FzA36;u3POTE;r>w`5MMO58yd3kRt?uY9vQ2)SpeR2a=JUmhRplfC(~Jpt zmkBM7+`?0<9%pM4m??)bhzH5er$FY(Ctysraa>wCzPVrsNH~USab3@!Gr14R__Ml= z*O-0z`OEyXT3z4o*WknrbrY?zri1ov-O(PWAf09sX9L+6Fd!O2piV`HzGDpXaTl8I!;~6P zO1!4N{b5YcX}#kn$K^e93dl%Im_dVIkUN? z90g&2foVY+?hs<}Z}bapJlY9ALr=?ly2Q%nd{f|ZTSE%3>)a%oqDeHmCn~Ja0KJ#y zaKzldzpdl!j_k3F{1LLMO5Gy zP2nLK;1F+KUfoAFK4BW@8-jg69m4(HFLTin)+n<0W*>!ik4Y(S{vNBRUnL`2rV%Mu zBWW%goOeLtuz&zVDm5u#L~H)&T|wy)KWT?iD_oienxCSEQuuQ}A~I}F56LHhp(=z+ znntANg#OjDn-nfFBY9ior!RG{!Jf6Yu?siNMBwK?NMFAHiX!|U6~h(kKdb70GrIp< zRsTumlugY{olNbF|FxwLQSP@}5JdFNT9rcCOvL7}mDEwrk8eljnguOXA`KoYXcUYu z&(1Ny$%ZIvXAk7*9sB~N8UaesC-J4p+8sxQ<`Lj-=62l8aq#;4)Zz2X^<8p<~I6Lq2w*$AnxDERs-i64RsnaGA97cv=upzN0-hebf z&6)0UH@55xBd-M>Q?l3gs{0^i{3i(gK{??4 z>%{5r@85jg8B3fNGT^q(5^y{Q6auwhrg@CZxwU@d#%~k42`l-F6;R3s`0;mx)S45! zl?TzM9G#W!N0%aq1&Pg7G&>n7|I+f5_nMB}cO4?32R73v)lQ%|Zz4H&P26$@oqFLv z1pvGqv4i+yKfQX^3P1I)rwR>64Lpogm;FV&Nb@msUEUPx#?QE6o@nqH+$<1&HdnLq zH^7=$nk7W)0)ANY zWxmoVr;kI~p6$^sYa7f}Psv{TTp_py>cP{hGhv^@RGe+k07%^c2^S-}5(2?8M_5f~ z#lcZFqG~nC#kL_mg;#M5Lv-$<^Q14wBVnA7%e|yw!JbuYDs$dox~c3%TLP4RfV{xJ zR@p9LmZ54&Zq(z=SE2M0=lUwt)?4&bO^R~VP-Gt4QCPS$A#%~g8R2M6R@?SB=wHNH ze@M=f@{h;UHf7SBxOJM9Jp5wqF+z<}S;h)POfP}`*> zL{TEfnt#zBD2Ewb8DC{a zFlI$ksQdG-K3c2?Eye1!#$q||To5z#d7LG%lRk?&6{h6*)3xkM1~Y&_(0XWkAR4|& z(77)&`_|!b==+4l#Xbu@R`&%6FjxQPqM{%CuaIm)_JmITd12(gX$k+Gg82Uq$zNK+ z-@@{5H6cXpOa;dj*H0f=Q!-81QbvX$N(^>3QQwLR^@v}V5`0~{Wy$m&8GXQR(%#nvb&H_ z;(+dj3=ir;`l47alJ0Z>4%FFl&MYEoc{clTwB&p}O2R$L!u$hkGNdY6F$vZNJ9(mV z{!muqyelvQa|^REh21vQ*7NG?ufZ%VHeF;$H!eplhyW)%Y-th5d|?SJYVfZBQ$?f} z8?NMxocL?a>xas6W9%`RQ0t24F2-_7sLPGR>JF4*R0kF}NN>d=K%L;@NGkUepjWU0 zkjb1=%R}T~a}QGJ=f<3y68(U4R*{}y1-D0tzu+Kg2;?q_9V|Ds(&f6COmOk#>|j5W zNv9Db!tF=FJ_mDq6?GyNKP+}Bv6aSq^ia;{B;upFF0)k>Tgxv(k_(ZPhi0`!k|Mtr zqjy7iUcCbV8CRV;j6VXO%lC?{wIOHR6a-xhJ; zf`@p1bhfi-daXnM7RFpBcn$XS&uTSjJljfv$f@F_)bVmXV3UWup^k9LaPo4t3tE9` z9~lu5&s?UzzXCs)ynYd z^>q$qnXFELNT{v#{m#04ypsU0-F%n5#o}0d>1E5J%wvZU8;$y;Y+Q{xcokmKb~4J! zU50de>J#kB#R2{7HyfP}Jt>kY+InW)!gn+gRrSg^WPt*)_Y@-0GxpCQ?L!&i7`Yu0 z`>wdFoi}zK54r+4L?N`gj!)bH`OEzrDp6B-p-u7lm%g;9bo+PsH&9g$Q^#FqhB)^_ zu)RSoTt1v?sE^2oOha^vCeEbZyoo}R&(*BqUC<%Fp^&@ExnJ#)Wf+YfR8bn}j*P9v z35&Q>#0g^a8r(lfHffLj`V;O>?c?m|3R%UIRxk+oOh~^>uc*P3-+sAnKnn7+$vH&0 z9s$8{0H0>6bX#lIZ0gkQNBd!s=r(0o>*hliyDz9$f#R5x&Z|mN5 z_>(aIkD&u|h4GQYYJ_zYcHXbQZWZ_v{7jhESN5`5mvU=8();-jhao!lip%t$M#1;L z4kv$8S^riU|4I5{)GhyzK1@IQjd(}VKbAG(VRW`AY$dBXLa}~u*l_XwRaZ%RDZ-3k zt?KooRo|AXtFRB~DsbMTY`@dA+=ZRRg@xyBEJ9MDtnA6nU)%1U+mFXL{{Ek!f&zZ( zia^A4_xX}?57NjAa65(5(A>S!K#0&~&)=!|Qy1doUY>5bWj3LuK1?D&*v^BWvklI# z<@rb9RP-}Our>(=JUv9VKYyI6@dM@TieJ#ec(T*a;mQQ74`8L$+Zs{4A_|&hFJM6c z8Bc9WDxf(-h}F_v7hjz|&Q&<$OW~ftPAp3i4Ax4==o5pj7*gl4I6WZ-AcU4;VT(sv z)*5n%cw=!Y2#R5Jpk11-Hhi%lt`&ILs3O~A32a})=)LOM!fVPF3yINH$Yq876pL-ogwmEpqn@m&1l*oV`#}E|ENU8&W=B`WF(B^lxr6%+2I9khc0b?&4fzDUR^;zGf?og}80=;maiNOq-#WoMl&w z0=}vGM_-)Z7Kstch|XEt{E6`SNt|wDz38&&($>G6Csyyle&HVwdPmRJDRUDaou8gj z&}?y%R_sgAU0Aj&yntPqc!1B{QokkAaP|a$)Z0T*SO^IIQjrOt`^idYpf%u-PPa$f z5En|)yvpeMy)S^i2jXjc5aC-xn42D?F+(A0Pg_paJ z!kc~u3$H-$JyImq9A;7<`}q8hiu&)!U$l!gvs|{cF$05GSo`SrTEW&1)(zskaPxLm zgjYf_`3Fx>3mAAcbjQ;~k!o3keh0BYH`YwOKpS{}T$Z&tbSSmoIq*TrC1Pq;u_OP8 zv$qO|)rfRSiSUWKu?o+wL0!`!|HN3C)lM}qlg|L75FEs zR5it8v;V^?+hG2Gu}UEa2OCRcfQzNQort~3zgT6AhL(fM3f4!gD~47NrqmM}rj4)` z@`fO+JT(V?YtBQ-LYpiL%H|C&)EZ(^1)KBC)6M7e=gCWw41pi)u9=Tbp>)2VKT(GD zM)E|73KUSrl!b4t*jg9`^4cAq+t!kTWqDbkaYxSM>#-!jg_!LO`VXqRa&628oSC=d zljz&|yI>(tQMgv*5)Gri`}-2-j2CyseC;_-CHf)X8`aSnnK_v zv4n;PHbGJF9UiJU>20$v(=dH`QM4z5jVkQ&t$+%U^r8RNIhyE#lI=L()x@*h7=tSX zbOx(*bCaRrqfiKo?&49BbS9QGY|lWB+U}|mQ^HG*O)z~oQ+Amcll!?qFK}^c5J5D) zu%2skJu1lV*!S34Ts$_BbwKS`VUx9aO1(xUKvr3+IT0VB9su4nW|X1Zk8}I8mIYrB zMqS2y1v0o6d6^ki5NA0S(Wv&t_a!ByfT_(;kIXlthB%E#A0uY{%D|i*8F|RM}BET5~iz9|;sTw|}!cgqw z3%3GkssMhqq^nZ6n3FtE%d42myqhSHB@?5tb^TGVZ(hehMo8e+PUrw_UUz z=*%pwvp^-agBA^SvbnKZ;oW+}UZv}=Y+Po*y+1Bm$enT<1GqbDRe`e*ow1=7+61(T zR9Wo-5gJ!BwO~Hdq~F@p-=GhUGL$a`4vTp+#@Af=VU&`8uzp;P#pjwyNKh1)^)#ba zk}WbS5IJ-vsrYUT5eKwrwAOwEavU7U#(T|E5m#Gpz^|bi02=g;&*-CLJ3KkKvSz{v z5qDkhJ1!aRA!#$`97B9k9;hza?~X5p8K_`(X}8($QoFvM7`EQRZ;2<$S zPefH`AkNP3kl<qVYhyc^F@ES9?}HV)+9VjQDzPa+CY{?_*{#8X4!G6 zIB|Adm5#)KF7>`Gx>Q`UGms^w$i)JS>)qwNF@RzmqSZetKiuitYrTbhw7Z~k{t!X)aw64W;|qrV^nsFaz(pJvUZ@_* zz}$-Cg=h3KiJoZaxq#qD$S=dX2CfXWWhJ?*ltuGqKDt9*&t3^*Ji1F_)_?k4WAam(T1Xb#-fRJadfBCYsv3V=!Yjh4DW`xSYiw!t~>&e|c{FjDU=SRSa0#JPIB z#)~I$5i~%;>k`GZp=EH=uS$h%(c=98*6N-DeQb1oK3`@d(RT`Yy*K9lI$#mSwC>w8 zmsw@xuznOU;Uwgp&;XZVPvspv$*2tz<=2lgFZz!W9ZVl8^}8P`L2#QJlCqm4wDv}K zE+|NRLxK!QO&K#8beb_Wv_+V916S?fj!w2GmIA%*N()=bJi%d(4EV$FsqgYe?ig%0 z{Wz;p9DBQT+CQm~Utp!)Q|x1UNkV2`Ok@Q3nOk~ zjyOrzU&h1t!&e0ryk5swBfkx~@lv`Slw%GuB^>MQ^8dsgQrU-kSKa%C(h6aOqOdQ~ zh~w~N%u9xYW)9TSQhTpEb9@h8WG4Tra9|$2^L5-alxf!E#PrsA{>%dT+o=r7$wbJ+ z$QDb2hJFk?2xm2LSys%SpAgKbH_}0Sz=zffXoPX6yE_8qZiLEt4voNmL|*n=vmfB z@E-A?S#=v0CZlwN!j+-oxi_}Tkn%Os(${F{=`mm)qVmh32IB_|U3uk4T1llj80#DK zA^rZ*-tuh~#;tZ)E%f%S*wi`vXC*{YxPh45hAJ9X%!_Rj+L`?<4s4z+`kl3oHPYY`bBy}+4`!8Ay(_CiNSfHZoo`vJX{6>|*$8^*? zGc4B(x7%I`d}pL}!D*{&@<|7##Ls9(ztxDJ*qnNWvU7>WXOzb`lJDUiU+5cspe3m~ zJ#6PW-qCwi(j;TcsVXn%%9ssG%uXBvl5n-|GGY4tD^TuZAA6kzO?&#hOEsmO;Ui~lCH4{X^P9-)2o8f=q~bu;F2}L-H^K)j!@I|HC)PP<&ScNYC6{^L zefCM$>+c(b*e{d&b`Vq{{adv=^bFn&8gV>Z;@JTe4qhwXmnm8L%_=?J-8ig9A<;95 z+K5!;mBL<~zjlRYl^9!Fsi7-o&3#hteqV2UxidJrxOSjix@Un&N&()yFhlMN1GTET zaad*O1V#t?>SKhW5$jHE9z^!4;b1K9rq@RE6}nbzvZal{aoqNE+L*rULU73|!xVj= zY73g?v+u;Bgk92xtNXF%D(ra!KJ@}g_*S<3&DKKLE^n6j%6Uh#}cQ#17P_ zl0xeojdM6E&K+!|kH8}Jo_pAa_&8SWFX}6?GfqP=sJ5cQ(QkGPiRWZwf z`Ui8FE7x|x3M^e#2iV8y8&Lb&H0yJl8f4B}BVQ@qGc&AEFGSUl z3D#dEk=0o?VT>ba*ECZl4LVy0MgTO4yOA+*Y}S5xC7WtE7)-+nzH;WS3zl zVUk2iF*}SF4EgE>OjIfElb1PsOLIv3bO!hn?JXJK+&uqaZX5G{yJtvd zrmVc|%ZvA&F)HTR_-c)MRUxX5bYBwA1?Qha^J8S@*hPki>ZV22gMi>6KeuVUutq^8 zuqA^;_ca^%UWyx4o4tuY1;>x}skM{MmBbO};H+|(KAPqF40CS1oi;U(Gm`~;Htkn% zyx0v^E>sSQNtLwB;5Z^T*AfcASnsEsHXz$mQ}+pUU1U943tk?Jy_h_C=+-q~A|sC5 zg|J@0?JJnKF2uaQXy3xAk)<)#Y1}1H7%g_aZTdVl$~kqC(C~fxW5fIgDFL>A9RA0S zoc1?6@_%m-{<>=Lk5vAj4Z^=y2fnI0DhrB;AM!eoa6;o^NIxRQ#>J>3A)S08(a473O|p4 zKn0LeM+u?e0^6Oo@iRjj&f_m>V^rWwp+h})lad&44O#j-YbT|uv!k>6EBv=1jBb(H z1xnXz`ahXN<`srADGmbZY<>*QX1q;scMKy=aH7Wr6^I1|lA|d#TZNPKBg%n)SKmVS znPRwda4*WN({qWnZSrkhIshQ}S-0Q=S{YZOoM{QS!Z-erTRh!ky<1+pa1d6$U2fb z%VVEx&7uJldz0z21RuQoR!<%zSv&^abn4N%I_3Q1L=(I5OG2oi6uh=P4RUVh_DmWgqVRYb-nn1o7(?m!oQ?qO&CL!C9Dtmq^H)ilID`GU}F3A=0C># z;y~p}WLcPb?U3^a_HIE!IU^^~LT}C;ZdW_*9N81^QwW@LILg?mGY4lo`IF=0MJ@uB zXT|5-q_LjQ%?(6hN60Bp+8&VjLUb zcY^|_?v^>LNUggTxe4#(4J3*F)3NHaaD79X@_1n>Z5U^7&V>usobC0qYr9fI)^5^N z$*5hco{}pM`_X#&Slc0gy`X>OmL3K-O6Y1OvN=y`4cdGGO6U{o%O zj|~MUVD%|G4o$h{FUgl)LKcaeMC)fn@XYad(qzUm|BO1g13QpPiT()ZUBulKp+Q}j zZI;n|x1>m*9fYoCbyz3ryI#$9yW~f~J1wS)h%O2sotP6{h*V|0cHsmwGH|8}Pdaa_ z?f9(ub9e8)@!QT1&rWLx5ObrJ05#;9!M2Rk5v>P$Dix+sYY)BLmgI<$73L7+6NU8h zK1I+Ie4{)WP*6TmtuLeGGthm)btbucl@&a&!CzyX>(#-QsiG$ZGWMcjg84EY$=M0T zYZHiSQnx4~9#?8=Z>YsWswreiTL^UR+um$4WHKaSSjQfQ8&1Xf(wG{Q_Vr{FOEJfZ zM14&}vQid(kYH`u8&FwHTnZu-_EqSyqRhCl!w2T;Y<3Ez#kiCZ}bz<7&)K;euc-@xFHeP!4LD9ohI#uz`tygWk(S3~SYdcH$NtF>YG2@^TWBpLHE{*hzxP|XbMvSSf zNBgr6rxu388i0KyCLeoMuiI?2l!tvs=Rs(XB zje6~k2=I$$wfC}&Q}(`jjQ1g+S+%TSQD9sDAI8psNzgFa(p`2{mu=g&ZQHi(F59+k z+qP}n?%JBU*gG4$6C3gUg)iUCljl4cPP88w8&zY|!fK0mOA&LXth?C@`05O*+(WtN@gqqV!iwf3uG%WIsAf!Z@C) zxD6OsO;DHaPVzH6wON7O(vc|62qoZcXvi8RT`*88=&-WwwJ9v+mf@?#K5g#3gp=JPR1+HHc2#hToZZ4j5Ri}V3o^y*zl8ZA>HsmY$IWFg3Y+* z;?fB>qVHf1^k-ToPk`1h-=Q6t@+oDu5~*p2D^ZJl9a>wVnUl8gLnkz|tj$i-3s z2Nbb~*_S(iqyXQBx-v{H5mKWbqHkWHUBtMB1I+!yM6B2dhQR$tc>02vQ)Ae0QH8v> z2@0Y(BHW}IB_HKW5m)!&F~Y;qz(13^X0T*}N$BN?!ltptiXckteU0SENhXqk<&w?N z^vXfqsmp^5XU^^5L!O-Rb)_;Ee9C3|!R5&rtUaXXqmQZOA}}ct_I$~?$W>c~jphAL zYaHWB1xxY*Y0{rXEf?ns$*$U8Q*zTfz3kHH;(4qx3-* z^<~9k>qS@h^CFq0=Eda+4AiQLq2pbdJ>J3uMJ=qUl)AJ*bR`bP_qAlJ!8OYm|(=AJ?WAjm=w9k^JCPf9%W_X4ZPH@94dMHI@Ol!~RB zei?CA3dGp#UCfn>|sUqiv1XtHwdax@6-{n7GmZ& zpR(ycVNcf}xI77l9hmx)1gMA4ATsd>fN}eUd`L{`pYpBQlZZX+ z%T-L<1F|_(l$qQlu1hu?l*n44qWaEBG?10PQn4PN6wTFnO~zL)^_CjPeI_BU`!A2`;N#PKuTwf&DAlP0>Eg5 z4|DAZvhN781*QGoSv&MJVRi3DeYjlPfbz;tIB~R}HgySkWG+;uc`%YaQe5OdzPf~c z|8S-~Hc zwa+lR->JE~a|VkY79oqto)Y$(2Ki{IQjbq1K3vX^>e_=1!J9Q;?sHiQ8vY~Yt z+nXl>6D^Rt)m-^0#Z@0_2*uRi62+B{jG_~{NMB})@pp07dM`55yUvU@Dky4#ObT67 z%KXv<#2#hpEoIt!h1oN6Vh>7IYjlrW^+=nQ)zH#idTjE^Ik>=~k5|?@=h--GZB&7@ z$94fMC5qQL434=Bjr~zxVJkS%Gn;+#D(L7D{ zb@6nF`#z4hMeIq$;VrrZP(W(CV41Y;lQwVm5Z=3urc&3tV zXo~v{)_5N8>EGw(S#}6!jG73=2zy#en@?et?Cx5rvh|*0YPJI4;daL`KG`Bnn{nKH z{C%0yZX4D`B~f27y$im&*SB7SMkgL4TCm*g^lS%U-*kcQ_2@l?R<@Gb9e88}b8j1%i-w2 zgoEv#z2DYl_a#&h);u|%LW@P<0(nwc%1iMpBs%p~()xbYkoQOuEKA{-BePR4eAoE!RpC~0FrLxdI<8kt zGwaCXBq&Sc09~)0#g!3&l~|0`ua8n$^~*J(4=e_`&z6k|w~I^#f3o3ffM>b91jPS+ z9tE9z(*@NM0ir1ZP@VUyh|%lajG@o1SDI3M;07u_q+!F5i{-C(t<2sN#V+YV{T(^m zPVJ5G7wR9A&mZ{!n3kVt#M951|G#kq|EC6k{x2H9f5K({O9hBhvUFTf`OUpzPeqkz zaE})&pctuX1xB~W+z6l%pSq6+6cvR}4ubRsD^C|+0VeGWpTp@5oR0op$M}Wnbs*{_ zF_R>nsW*-nQ(d{$)nPirUD5OXbpYbWs5Te-8%;eT{VHC=V%}QEUW0+P3ZFbyy&+qz zDEWwoYD-N$!KD1=xh)I*w6wKaE9$ENnefpL77KuW#iTy zBKJYoLEIm4(59g9xwl9^L!nb;J=f5K_;$ANim7@%*KYh=!8dQ3Yj zGI@2Fs&%<}1hF5n<)GDlNV7&(#eaue5Wh@#QdI|>{ll=UXWgkLF2Xe-rA3ihk!x+s zdal?<^Ii^A;?pr!sCSlavK4+y2A4DKD8ym(;Mv%gG%VEd2~>|f%;zLc=V_R&#gwab zaO!wWMR;ja7<2&L2A?2O05EI0TqUE*=_;dFdvJYzSOhQBwJKHm$;*?{uha+dIVgp= zVErZyML6UJj~gqM1vpCD%?g&exPI+O3Z?e2KW9Z7g7JEE#A-;f45#nq3U0%=^Tj4a zJ4)atSQx`o5UU5>CGzd#(MRzOx`PJ$?q4OTm&|I}1ie32#5z@nwP7!wEZec)XGu|9 zlF#%Ee!yNSlAff&-st^w^h)SmSfQPgR!S*mu{)SS8~6T;qOJzO9fDu23Q;I93-!mu zARc3MpJbZxoZvk1oLYp*4wd=3GZ0KI9Fx)kwa*n(a!$jvQ127Cz&0TqtndQ%3UDG4 zP4phuh}mc)zQ!I+pdc$E;9h%jQ`>9CG@j8tMzfC~46U}^#Jnl???3ru9)W%lENscTZ5x&1Z0o`z&J4bOv>2Y&(?)XKQ)+Hv=`e(i)J@1CH%r?F<++7%pZQFDm!Ji zULBdVARDsX*)lGPpbK*OLdnf}lCCxG zNb{K3ar^_L#w3G+NyePDntCwt=60)AHHWA$a=CczGFl<45HA5Cy0+c7U z@-PKVWQ<}GZ3MQU-$(l@jv5IHYsUbSC~Z5!6zg?3ypw`eA+<1ki1xRUl^0mgs@R@TLF7B*W}XH{+0G-(ABbpiXB zj2aqvXgXUOn~hqP!UVMnLll+A!RXo%E#}E2a`>o?s=aSRU#-yT0W*orp~jYlo#8Tr zt#}!;PmR#efM6=x!l)wg@RGF}MRk@+X!9hj^hsy6GDF}>k};%j`UF*YLycV3JzI@V z9qSymI-s@QqZUzkl=v;6_}V&wf_PU0pe%`U#4LLbAQ=-}n(geCXX3~?Lnmf76rx83 z*uucJ^i67uMV8_eZ323m=L+vW97gqZe-PT&tg9e~!i@fiw<4>Ox7H&SJHSwM;}w(_ z5|it{+rxC1?rNyCWyPQtEQ&bP6q-xr857TzjNnAxidA%|~*_lxixFCB8 z3pfS#s)?AY2_bEgLmYHrpM2PnvZCn)b*4Zn#E1$c z6s^i2>ry-K4W%~?hjgF^k1_OJE8F9`Kqw74q($0j$oRn6EWjp>`bJ^1X>MLJl(oxH zyak8jV9r%891$M?Aj9ov+z-~{*Tp~uJX5no_Z^!=O*liWF}n#36|7F=&q_l)vztnq zqB2$6B#m|H4gp{hDPqv&8mPRb$#hXbI&{Pl^F|hK>k}b}EXR!4srBKf9S3UWgpb?- zGh5W9W>3j*3GO!9IqA`91Y3PnxhV`Ox~1F4SA`d|g&{9VZ_K!yO)ye)N0_cn9T&}K zWDO}4^!|xi56IdGxoJ>M0Wii`WA@-8%1V(|C3$zc*}QVRGTF=WELdRna*K|JRcjS$ zu(BI))5#{{O%mQ>5t9G7bu{5G6>KiEa#V?thI2m&mXPoz-X)!>wTi~24RC)~IQv89 zF>h1sIE3)9XAIiDbIMOTNcmb7pei|Ju4%tloSL0XT(a+49~dRZ`7|Eg6Df-6`oSGD zULQAV5c-kwc8Bqo?Bc*##kiHrSrPNde4C&IS@@W~qt?&TnbI~Z>r2~2F2=;)Zt(XN zw3$HgQc{tb-6}_MX+rcN|2s_I&;y-!048i*~KK%)Ov3`9XYQ_{qs6Dgx8Y-QA$LUvb~ zwhYKKRms9>dA&XW441-YC&eqPNVLjivLBY>B`Fx{#~8pL*%U7KS0}}CP{KBf-kLJ6 z@f?ib?vWIDt+*xEO+}bSIvbldnI?+8H4v$4T5H1Lg;BQWLub+;QaqvN(u%P8ZD+rV z-5*lt4tYY;Mx3MaSny!rmgnl98u0@?jM!B*n*VZ$Vw&t}ZRFoI;|^k;Bvn3bis6dN z@1=d%o#P9sfSSA*z`j^c9|UmmWRLW7p@8t%ucBrt^v1)sOl8E6ke)#VLTqrbphTMCSZ&Go`=m-rOyi^@I8CSo?A{8LpY8};i398w)b_tw z`#3gLUfBn8{%d_q5X()lCwUBi7+NoI$j>kNU)X5k9E< z%()P#M)Pqg{=JDEtdf@Z;TSt?<2-TOZ9@S=!C_22r z#fI8WS`St06mm_rB`asfz7&kbkgECi15&C#>2h7w5EL#Utrdm371Gg;`*;tOY8Rs8 zH>)F87YL;tCC!j^W&B3mAU0O+^`W05XOW8m-1UB#2dnc=AgUd$&M-}9&{jU=OT-wo zETYFC^d&s%9=|;V4noCk?d)x+T7;-@Jn0?ECF;tq-)eB@YLw0$!pxkiy;^7V$j}BC z$Ijlzhuh{+AG|8KY&*$5xhk4$hsiE_N3l!8xEl3Py2WqrSHx{SYU%xQ-UHgo)>=2z zAJs3k&)|-0n`lK)mL@mJ*Hl)0!ooL0i}p&~G4~bBoHjJ*mGlUylX!ZN^A+_w&$8e5 z)>bF!@fhGU#lh#j9{J{8y67q54rizQY@p2z_gfH#x~d=SmDieGWC9Y+9$Fv78!|b3 z?wp=!^#)%48wZ1@_bi(S&@CQN9%*mDu*XLAHh%;t^7H^pi9PaH8KAcnp8pz_*vnmv@p{M8y9MC8)X-~Sl5@Vd6-b${Fw;lKY~$M&x) z*MDJoMyZ_rBZ~eFgO46c2#I1o2!hNE46(1nS3$Lmr^#O@QHD(d7aIH%M3=AouzB%r zxH=p0ISV;26SIu@((1@+F1cdozGDB9wD7eRAVLuGH`?BGy}8-`@O;@GY5MN&hSdAv zTFU3W5!HzSh>loezlPL)1ZYv*&I= zyzx*|IgKE|2A)kGWVqA9oH(As=aLXBRjTsW9h^5)S}Ro&%HT*j3;teO#S4Qp{r!No z1Wm;UjH$dxQQDnw$h?R@PWFe?1O>Ux|G7w7kz|F4@TmmbTM4NEKvT)8yUg#M6iYSI zlB&&`i=T2ToqVR3sPbKhj^J#L*FX^`7YVU8?qGDb*{(S`md z5s6rOm~#YRtTFo4`eA3N?Zy$^K3!p%R%926S$)7*=goD}P7 z_Ue^9TalUvo-l%J(Sy|eJT5udLX^)F4JNqNQxBQA<%_(zd5GH321>0}hVAB%&wb}s zxT#F63<@IyX)5|akGnp|m3__+6e_M~Wi-zf!90%*dLQdA&Da-b*IfB}1D`bY$+s_Bv?D3W(%3g>wu-ug5+`Z;2%bU=>B}ktx3O!dytvFklJ@#gt|x)*6e(cXiuRbM zXDe(r-v3mZfy8YF%xwOWu45OXSJyDTD-9QAgEUR*3?8{<%NW#OXg;f^5yY}8W0%kn z>C7f?YqLW}Qp=1ha<3W)XGN-Pm(Ej&5LIA@n=>+E;}&2IyyV862#Xu+>P30(Xtxgl z-ELK}kJi7?Sx~lxbXf1H)@QxWf@i5MJ;ADT)DBiJm}*I%s6)@9hD<*O=>EdSxNMnk z#%B;LV?rgQfM3<1uQzTXaUOv;(#)!MN5+lY|FkTU&6I)~NgB{uB|0y5tt4UP`OCR? zP&644SHa*;?IEj^<~82o0Knu!d$=Kwbc?En(H0p$iX=gsN1)&ikr(O!k%Zc+=!fi( zW5&k~319TH`4a=OeV|r5yK)Ct3!>1|VCC~VGkt2zVRQCs_@YYju{gPHa9*Ebd0&&^ z<>cm7M*oAwYnhtnFklF2vHb!a2jX-YM z6Zt_hH`jDW&>lgUz{VCfoThx%=Pu7Szu0*uLh`xnN7OzL(NL zxXB06$`RSpzM0if-O4m&3FuvRF4>+7`(L!XSYf4kTMnqT2NIr@rA?z;J^5Ota&~T zx6Nd1=U^tOcOAa`x2S9du|Yub1#0Yq#%jzPS!P@*jRc+?U|Q+TE)4f2Pf8NZXy+zs;AtX*_M)OKfOA3`6J{!$ zg2H56V%1Kk;>sewp@@_ifFq_|3XvBMO9hw%6BVko$JyQ#5g|t+T;Hh!cQ=fv1_>aV zpd)Yxr|Qro$(R7cPq4Ky+i}T1^-fOw^0EzKjT{)OjTg1s?%uzTGq>QoY@kI7-?R8{ATNHCn?gmNmW z#N6igYEIRG#wg^UQ6PJoG};h028E1?GR7cK0of-oPu2O|>y)D+$vRl{Iv-Y*Wyxj5 z5C3TmIxx4&b(Bb@fgb9Aag@Xhb|;Qy(5QmT{8DN^jGq=R}sY*TO>K+F)xY9L9@4Q(jnnj1)7X7gH5^<*Zc{$mF6} zvb#ix1N+leq*ngx>c9;&voA&LqL@PJgB`RsMBfHKsZM4j49DI#)R6YMZM|BGp~4b< zT-CWRf(PLl0>AB!3RY}Y)|f)k9&6AsQCtvvg>+GXY$-2W-M~DkpFZG^WSgdR>G~hE zAcCXb##oyQF>yAnT&hyG=uon*;v!R!W3myn`8OYVMsa_(23;)pJ!9Z(o`Umefzg~3 zy39f2q)ag_M6&8kGyERRls^T~5#uAymNJrv0>4Jc|8Od@`u5zf*`|=*Xnk&8ovENB zy75DAM;L$ca$g1R4@+Xv9w6r{)T`fz>X(gf0ky9G8LGgl32Q>Cby6iqnZ3ZW1t+LU zX8&3C2R0yVr)RrJ#|(OOL=!Jo9z9NP5UlGZTM54q4TC}x^8+0&kP(icp*fQ*nBAl; zJXKQBk_3tp>Z-$iRRn44j1!Vf`tOt(Jy3>eC@Mq8?ZvS1AnA;Lc}$CyZl%kuBwD98 z0VdHX&dkR|h43_Hof5H^{5l`xDRjl{ngJo5;^L^vD|tOoo*e$Xk$Yf1?{=a}o^RQi zW6AG}^OK1JnW!2hY)qP3sjGY=Nq^QJ5!^8_p7ZEF7-Mi7;}Oe-K)PPnL&mYc6#z%Q z<$?{_{De`dZl2>(5{k!`W)!Yn=Pz@%J(eHb&=3L-*`w#W-gl>gryZIe=92d}I|z$H zzEZT(>@r2r1s4yDdg3iu5?LHRri{hR$C1_S;e|QiLKvbNYeh!X+D7 z27kr?#Ji^8zN#d@Y4!@Hls|D@4>8G=vFQM%{<2UJmHO)nO$Zvp!!91>ku&sw!et+$ z>fvTC0@p0?`ww?(5dLOy(Ff)80S)Y~Etb)P*&NIM?+8BqEx9#Vjc9K(eb2l)AT&da z;VhAL=>b0Kcv~X4v6($C=GaN3_cktB9|siDek zLo2|by0-nz&sW`l)O7;pS+dw4ho;8Qp_Kpkh6eM$MBe{MG7H+;I62r_IsVsZq$&2q(ZCLl>3M4(FD_$W}dnc-j!1U&ysnpWYiURq~^`pjk(N}<9@I4R zPSNx*kg%ZdJo12)=N0#pFj~-STUrtVCb~FbYl{8Ed-{sq^kd{p*9WK;Ro9~Qw;Jn} z=?}Pv(_7u+tNDoCW!d^{?l(ed4ofx0mij>YB@Zh-^+I;Ag@3T|S*)%4u#gI*lBZ(v z#y!&>g7IxW(PHw$4`XaHEB*|AA z#2GZ|7Yos4V;nX!mg1KVQm_&o;Kc;H#hE@`QnanP8f`7h=+Mig)rHWi$TT9d%ob+H1Cq&{E(JJe(zBhQXIy~OC8mc_ zkAP1HZD6z|rD^BRPeB>s)bBC6SZVONgi=a_O(iTQTQvck}HjF!(c{5YO5t|CqLqrOTV=$HJzbcFUgTT0@aw7 z$RB^lfF(ESBOc-pL2@>V{y{F|}-4{Xi&+jKsko+;dQ`tfj*B~Zr={)aq1h$+T<@AhxCkSYjguYjy5I9u?^o_iUnm`u>_hLD5{< zT|wSSAt!a-bMhm_T-g%`!T}^5*Zddbgxsq5EOU=XwotzJEZn-OZGjU}t??n8x^$qN z5bV0Gqg-$XKh!>^9X*_#I~+&`Tw|YJo8<~H&e{-PPjh!aO1ZTc18DD7p{zj&8Chsm zJ4i<@FIGEH*0&Ezo0gh5B8%|WfmZ3ko1bSr2@A5_&a^I``SBgHx-OYBlsDoc(j0Eb zv}T`qm|=LjE1K1t~KElF(?JPN`PY-6!5TFYYyaGrm6GK)rO`OLD}so##akbwVs{Chdso z8_xAC(9tb@G2{NT~>oycND#qb#rwdL4EVJ-vn9u|#r zF<}5d)D%aubnT_m5X?d~o7pd_Xw#-UwZ?17_S{&=8KLIu7CrHx+bB^!3T;Jmkm#9& zR&kNn3rxjCc|nm1`27Xr!l{w8XXheX66YaAu*oYPooAYpUieN5{qZ}eAWx)S71A%% zHG|w4+vP&^{lC~rGngLuuaf?DfXW<1`iXq0w^gUNVsY9toUUt&cg;XTY`^-;vpqS2%oPyIiD7cS} zjMG54U_W3WL_RZ9fZFKgrKS^1rHT7O(wx15vocf7A553#Sx_B zcbsTO^aG9uf(9E$I$ zgOc?6Sw8S{W4a_M=8o^jLZDQWRJDRPDsO9FMkv67q>n>tcB&3!vF`RO4v?*^ic!af zH(np)1%qXNrnoXTTXICFI8H4t1{S7Ks$9pNzXoHC^gd}iZO4_@f$(bIeY22kail3d zEITUfURsKH-ta!aCj8V2<2^7Ky;aa08@V$Cn^gmA`H^1#J&e zKhh#FwTH1D1m*!61nwz-dUkw4&%U#8Z{?MAJQ8^GS_@b9$`XDD(~HQ;cgEcH z9wgQPHGW1m(AN4w1@vWofSA5@@101wv+thF5KLoK)$_F1bKY2niUimz0FLI6DHINm zIhFhU+>zpBy`@}l_ZbKQ+4O;BN3ekF>fNIjteZX7O)QO!lo&O7e#3r;OR z1o{RZ=sgqPtMBPM)t~Eb44Q84@dqs?Q&BiR6{I+-mu19RYMS6NN;<{-msKW&$wUG# zL>B0L;#0*wXsop1*9m(u>%Nhrtko;?0)!iHF7mUskLcJ-M5vdqpWz$aQMAk{KO_9TEV&eHtG8lW9N1A zttU7K>+_#xBBU_zKY%tTL0fABbDRIHnMxmun94|hX^7T{ zsABGCZTL0crTkc)0IKkpF=|#|mf|`)u3R0$aiyoe$=3yf^@At?>M0Xgg=7`zqbbRq{ zI##%&lV>+rL|*{E0COmw5hv>pSFB^a16Suz7Z7>O)foQT0<6pIm*CSA6Gfu;*BNfa z4S5Q`;$@~}CRx&bq-tn3dXL_uG(^ZcU9scWySzjv($Ccm_7D~Y6jy*_$s{2}-Ehh( zvoL9*xR|^zR(Uu}BC6g^53W!kVJN+DOZ$}3I~izV-dM56W(|ESvSk5=b}v{Rw${im zbdJ=|gh!KMQC@P8$=+PFheAgQCIw-Y0}CS38NkHQK|N(B2hHlwBARSghq?-4Mv$B; zl7$jk{)mq5aEmbeV_cvxwBV2}(_=Q@OYoQ-uZf`EN!=j|AfyoV82_iI=0N)pVh0?; zw*}@i4N&4z9Xo}NLKV)bGbSWNn8QktC`o6Els+UsSd`SHzHtHivOU_J>o_&7+xA*b z$1vpHY@ld%xDbK9w)6mkM{j_8jZ&gOyGVtoqlAMe5i(kXdE?O-ew>3Ro;mu>Wox6@ zhERE^-B4Mj7@?ZHs7W4JJG0y`wIBm?xsBp?QQ0`P-F1+E2~b%WGIBZka-l>3hwzFv zWT}31YC1d&B}0)kwq|LZ^gzX(Dcw@>E#O!@>U;86ZyXS-odc4MxNoF`9mkvMntvgd z(lt|4#KV9&$F?iJKt{BUhKCt?iF9}S^IS(~gd?y1E!fd3LJu+Y>2rO(Ux)uegnMv8 ziML?~8*ejQU`vQ^-{`{zceorY(DVJ73fcP}c4v45XKCgkD6I_dCszndAr!gVRcK>7|OQClJ=lr7% zi_IXMPlPF=Naupst#@rm|LP1HJpwgVVv+0_Tfc(4*he%L2l6+UJK)LK1YQHwCQQN; zcy+vYa0OP|%svBTBh@~}_-90&9guV3E@4!Sx>nl5h}EwLj&b$s+22t|aP> zVba$``;XaP)7MN>RQ>z1TCj#lqr7oYntc+h?WhVhOD*DBnL&N0PwA3W&^&#?fh2I> zhTfc3S>kbaZi{uIKNfr`m3&asj8+9_0+PZ~eWrxzHk_Dr(sbf*7DEf|tg*>V05k-j_yo3AbG(rRVcNqxo** zWLpXpTxnuFlkw!TVdii5*OhnijnC^s#;l?m4`fSpl0t7&>OL1HQz^l#XywV+ColvSxu2m3?>8g z1(?aHJ0}iC6sCj5)45%7jJ*U5ih%QTpihIybQMO$t z0@V+>2!}e&Dnp3majU9m1Ekkl9L&yES;4k&0vnAf0H4c9Aq5kTssqE)6*)0c?E`$n zNUm4ZuonE*)je3;&(%}mg5dVczj?1?Zu@z!-9qc@-W*mWRb~X$1>(2Jq-T@oEog6i z6fuRT{79AMVYi%8-?fRT?A z`0~7#XK^NDt3@l8aW_h{oDkgk{&OtN?~j+z$nRk0)A}`JLUG6@hS>CQGS3w|)EZfL z`^3gDV_yc8roj|A!caGOlxv5HQeMXVfkFCZ0gvrus_>1yJsNgp8eDm7(%$zOMUluj zP=F1Afz)VzEE8A``T5bpsqV<6NwPgtr_6pqBpR42<>CpZ z;Z^u^%wtZ~YfvaVtQfaDI>!3Z=IF-6tdxh*X+62dIlMTVes%1aJ$oDBg{?ZFb)_y* z@qKY@**$X@NpwNHY(#-00dV$<$X%>y&pTm)E=Sc7ki7vy0I?7cm5~(t;FbBd-&&z3 zcgnQg3_H9GDoo2#d%=ulNR+kicpN4;2B=GS%wAdSH!#3~{(rZ&yz{ib*5cbY@}jv` zzwgdZ?((Bk?Bo$p8K(;6<_N71jlDJ^Y_~MT4$LQvPIvk!kpkl+&=2;696p9r4%#|-Qr@Z*6qOSIJ-2z0j>?*zs5 z`QP1!!)wjy=(#3Mve=g`>82C$(Bq+I_NcKHU*Wez7r@R`mqL-56bg>{hrZc6s|+=$ zQlC>REpMMl8OmzgNGY;v-SXb75!BQKS!x|LaV_G#v+n{*<-YF|Mc5`4c zyF0Sc>{S9!ysD26xnw6>VLj^#rs-zz7xgT%22%L$L0f#X%6T4Qs7&i6?QjP&Yn0w` zEC-S7Z5)?9Pv-lBW<)bB=?Fr>$>eY9bo=({rSseH5x(6ULbcas)C5L)e_ju(=xh$@ z`BAvZ4bM)X8-egr)k7c+ZvO~Snti$GXvxUO6RP zc%bcOQEUzM7KfM-cJE`bR_>-=Wi)?uTOV`+QX_&H(_cZ}d1N8@M2c6oqcQQZcEYOG6c< zN;0picCJ12S*6vJoDlOG3|jm=f2wQ17dfe?R|Fly(iHyoGIdZwbVq&aX2ya?iFK#} z;jaTI$pJ?9J_CzFBg?FG<&QIFU~MYPyOX~63rESYr(P#SMsH1FK%f=rjG69o2zJsZ&zl5stiXV;q$=mu;OP=WeUwYLL}%yWM7*=*B`qG{8q2Kmy)#oQA@oHIDawIEc1GZZ8k zO6_oW*(%JKyHawh0|~sM!CR2eCrIZ!B)nu}zH||<-Z=4;9>?&O_yO9C{shmwfwRdw zz2Hwg6zH~zRq9x9Z7m)ob(PCIN_%Tu5vze4IrnDB*~J+t$A85UcKx=;L7|D<1;cZx zgERCSc!q+#(j{hOKRd| zxtGS;4xj7}mwn0Dl^IqQ1&HO(tCmM_Vl>%=bxcN+#4!3_{TtIB}-vX(UQxQxf@8m*T8t z$~INEU7Wp6^NDP2AXh`d^bg#H&W(cb~}WUPM_nEn?A};X68qdVuJGxlGTHi zld9*Y^9nuwbN%P}P#Y`i^t7t=fpPx15%+Zgk7Oxt1e>LJX3`L+kWp`h&Fr8dGi&LBxIs>SOUtQkI!+CpvhBhQGsPW;;xl6T8>shpWY{-5PG1K* zvd{3|)X>w4vPX&m^v=QL(1uL8P{)~VcQu&Wgst6*pl%zo4$w^qS>CwtsW9cM1IWYM zL;KB6?0t7E@(1gwDu!p0;!J|#e376`%l1vW!WtFcJ`Xd^#IkKv{6S6I1E$4p%jO$4 z_up))FZ>c})gSEB(dg0%S$`1{5!q$47O*Q`2~JOr@)6@L*`0OM(%g7n@of+UmFpwD zf70_M*yYF?b4~+GR#jKiIoNED*h7x^ktgsiDobF`z4aTX<~?s}>x=SkyLSd+>z`wP zOK%9(w}s6x^M=kufl$YtM2WP`_?qSKq=T~FyTY*=z7wzYysfa8Fyw~Ux`8%D3t_2G z>Z0Kx0+(}xsVD|&+7oBm83nEA39ny=CEHv>GIK$h`5E1+zf^fB{0u2%qBDpL=DVtOFD64O+&)Hb% z3+Q?5YD;?QS~oTI3Uyuy4@nj}1hLRi!yyI~+;Kypirh7mFf)P_mt&if- z(gy|b6&w9>A9;BCI($opUGaP?&gxaZf?bwC z3J~)Oo&h0Ax;Q7Jn1)IeSv)72YP~;Q_L#8&zOIh0VCn8nL6Kp&3#}a__Y#JHwkIv- zDFT@2`Iym;HZAfBC;9GQ<(vYhCzFNt0-r7V z$sYYFJgpx5LI6jfu*{Tl>?LqP4&Sp2jAXC**rC?TXrQUq&k}M5ajnl<)fHJ;R-@|) z+faJIQ;}2Piwu`)N$%|_wu1p*LZ7`h06k0v9)U}rLb=8rK8&iL%&C5CTlmw+!{?|^ zPlNi%AS0A1bpFRdKcx=lV5*-~N#u|E{r@>}{m(0v-l`v(SWDd$Dz{rqy5VJH4jshg~1tqn5itd}S0Fb!KM)VW60!B~tM=NUA* zZv4eoxRm_@dvElfNz?Z?9_4{^oX&jkzIp3@>B!u}{r);d{Pl8hLotq|1akt`0DpJN z;7}5o3E2~HuK$&YBYtr#cX-=d8`p@OsOg~D*Y4&s8;!NGay9B|98U_vSb%a+A9E9%+nbH1#zCps>%bvL{>r|yT)i|Zbd3{cR!%a+m*y%s?1NjOEh;n6a|gc zYT=13)@HtwQjmQ)ZA)}>MO7tQK%e*>{$eI4k8hH}T*>GD>m^TJSguba=C>I*zEps@ zRR??ORH0O`0X4U)QHL~LU* z%BH6+9QQ>w%@)~)zp5ISnKq;*kajqF#Iv8xm>B7gyqY3aECnJR4`rh%U4PEjz!Aox9>*f?l0z>oR`)OQnIE2)4R+V^Ct9*x1W+iN9Xb{x(*;A#`K7DJB`A+<4rYK#)yHFN_sEKvXx|BpG;H*+W$q^ zI|fO%uG_+0?oyX++g4YXZQHip)uk-kwr$(CZQH)J)>(Uh=iWGHf02n)UzQIL9r~_nao7RRL-8g%jlF&D-oo zghd#Ew2Rg>prBoW+5(57v}Vkd_=eO{JPLh{NQ&a`CqWxeV%dZ#=kv@3i>H^8QKfpo ztri#fh3S(pE}bQP=E8ce);8maO3o4p7^CJZ2kATSw}`7KpghD0&t=K8D-68r!xfwH z!-p{gA8|)IO1JbHLJ)ryF}K(`%?w=YA} zfx%|!C>KV#FMVzZ$bB+n5eKp;sQTc8m;>uW%Ur`s|G8iaBcBtL5jQ-b8!UNAta zD?=E+<0Kf&ZR_)#SqLCrbIlejZ_im2WaxA zhz5PbX`&(6rbs)ADyy?h^FN-Nk>i&LMWey7pOMca;h#maKcktM8R-fxWTWw@3O0l9 z{;9qm(Yquw4&n+5QH)0f6iCcc&d381G6%CIwr7Y5BN{UjR0D--nbAC(KPrM8NSm2g zDm_&X@>9t+UT18{jC;Reuhmd8&n#`Z=~xPs{R~r}UO;#pxaut}z%@T3QHNFrAm2;FpqN0!msPpT%IzL%9sjZFm7E{Pr+9G!ir=Kh*@ z*SJvKea|KtxzUGCgZ%qRu0cJnO9S1>$~wO;iVlv2KJT_4DXLUvHrE6#D*;W7dQip; zF1c&6tvV-Pl@7te5u+@#RkgE=POD7Loo0lAJwOM=mIL<#2FQgooXTrktSu9tPo>Z{ zJ)Wh0-#og|9ph4EDPp4fzHPv}cmrSMOIkrYGJ9!nyFROQbIV|TJqK>wP4+ZL1HW>M zH&>KYRMB;L4Y61kCvU z;o?i?(6CG~J}5IYw`~|{p*nN+EnCxF4X3@nHcpfOiLeN=Tys4{g&Wk;b;seY`QQ!^k=|s z7#eoH4tBgVb%f~v-30p^>Zk9*VVYv-4|ZeH*Noc>kB!k=ZnEabK{(iN9=38Kp}u|l z?!_rMcA<1Fv)ZafGAFVDi(bp)3G2F?9_BYSDljO0#_h{$orq5)V8eRP9k?(1meq*J zr}Zgl{%UMxV^95O2xb7PZpTXC+&zHxcF84$>uo^{>N1eFICP*xNhaQ zQuT-4-w_jhvAbTy*VjL%_mrVmtJ3@5vQ%%4*~g-@n2!SNZwPQGz-R~={RW-RWUJIC z@Sfr=H%qe@RWeg<%u$^QCFa)blivd@>zI;dV0rOtRESrMw#CkjvF6>$s}Q#Z;NUhb z2*_qEU?w55ZOcKzblBgBx~r##;6e)$;n%puTv|Y z)aS5mL93Bm#EwYI!9>af5H`f(#q;EwLm<;JH`c2-ozDzh< z{rZ3x>O{P?yHk9pjPkOw%F0HZ?)EV zDwF*LR7~)N?P&29H$_?C)5h=y(!o}oe}@g5}m4z5Ovfea@Iq7Knm8@w~G_qs|F)l3SnwHLRyM2 zBbF1utW>DH)Q8w0>SA*v;_b2a9M;*ctVY|s9$DXC)=3iE^2kU+6o4TRYW>l84Fd?a zMaz|u1wv46502F==C%VVRAm_XQL(G`!u)XkBSXLk6SE78T`IF%oi)Rx16?@Tf$6UA z@<=(pcLWiF$&pw|XqsWb2C#=~zCPe?V(Xl|xS6CAWboT>>sB{*+{?TmdX_Q#g0XYH zvnXxoxPi8bnXq{YygLtLxc^YrX{^2^Z>G*kEZb}_v7EFy%t^*@$gqcjNfWx|pi14E z5td6?J{2Y}4E>{d@)`977Psy@p{7#q^lX&(TyijW9RJQm|DR8M%|8A<@mB=+-^c#v z@Uy>|{eOMX-^c!Xk+QKibF{JlFR1p49+w7YKn{?3PDa26ML_t}XQqt{sI?>06Ch@Y zXzAK&fk6o|AUj6h7>y5x#_I}X+&E4;;$KdC*to6dVS9h_^nkF9;6dX601yW*M@3be zgX5X2o#k|k#-Ds&5mb;qt(lRs^~kvqdu8E%m-$S~OVJK_#F&rSM!AU({DyjkTl1eC z4Uj!}O8EvX0m31-Hpa5>J9*^Hm{(E3n^AWFo9qRT}M0Y=w*|76yoxyQh9?Hp619-@}N?E&Vp76<% zG1zIIHh5M9>?vEBb&i;Y`#Nev^=VwkR|^dBy;tdNlk+QQ4f4w)@_%oM|B9dc_b;IE zk8IE3pX;yUp{O{B^8wIma!Is+he!5{)YVT&6g2q7w+iYB+M0EYiEK5iok*pv<-F)s zR8(9rjj4cFt%QVkjRI>WsVIm>G*BlM+widNZaF*0Y89ZnI-7QPcbA#8Vsla93uWKr zaxh_Y@c4T0%47V{^Er_LL67^X7)2bl%|=KvE14;`!|(=MgQTpBhTf#AQ;_)N=xs1O z1{MlyBZ%LB$^^^Hb$ro34bTntR8kW_0Uq%^;*V^efrp<51}OpluoZk1IdRmPtJ?mC zzXgLKkD8srp3^(l=l4I@j4J1Gtua!he5NImGk_i8+Ix!_5AMV5)~DVdBKON*CN#^hh?R%>u-Dt?Fld>+nV=s zavzG@4DOB-3vM@l)GOiaoPfjQ@V$r1f_;}Hf>G_84z0szU1 zX&6RhkYZhM`T0<?5icpGnQoW2^~< zRQJG$^dy`fh;`>;;>P+aGI96AFzf+m8*^yq>p>O7Sm7ONWTE?3yggrRupY7a9An}_ z^vb|uxcjXECp)gQPC~_I;i?Jt!jj^+OqSb&U-7pXew^oma3id@<_W{8Z^+70!Ty%> zgQ$h1v1EM-W2ZW<;DRNk3+qKCEqBi)0J~@8v>7KPJJ7H5^b+e$yhh%g!@7DcpF3UM zMYYhG&oTfyzQgzswos{f!+>hK?{1_k4om3(C(851l1x|{Nx#a`G#^fA@5fB&5>axe zH;q~IQfyMhUu4PsG_ogTVj^Tx2nXHahe*&1@ZBHlPG#T- zeLEd%DiLxYG7w~D79bJ}mLXH#HUlfQq0q83!t4OBC{EPJk0Trhc07$`>QD@O3->Nw zTM|wb9wDS_HXo=Qs7P$P!)`|Lx5CgvWc1!bu|mO|iaE4|eZWqqlhlrr?ur?g0c`Y< z6mkky&MO`y%Tv_2`iba!ycUH}hO0jMywjM!LW!)NP^10500?rpiCT%Fn7hV85*f(E_v-~ zM9F$$P>SZ2>9?y{_iD>^IGt#+Yd%zlCEL$9FYwm;)m@DB+|3-XUGV^si;%*0M+#Q0 z&5z;U?k}A-fC1^lAEQ%q63|(sJFyJDCef-si#}-eEloeWXDMf#r2*- zoT}+z@-3Io7;dS8ifg!TAIwvEkHqDE)2rRL((>>{Na6K2aZXDDDk!&Py?8m!$kh08 zUsp=#1Y4(OYxTMtD1?Tc0Hh?+23dA;2O{|RMN|kI;_N0=N~}PF0zpWO%q0%9$cm8im}u-nkOx0!p5n?w8*tut)8MkWG zHh1`&Z&=SPIc-(Cu$a&Ms8OYeQ3lw-?-wKb>>mVq*oF)=0DWfREk1G0FT$nWK6&U+4oEVU4=0JneN{_9{JG zmNT?p61)$)C*04m>!OQgqg8=oC!FxdBe7w56qjh{w5{hs3bNxUL+ zhU}BY^#Kf?`C}VEHeP_~2;twfA>Cu9J5;N<0{8$~w-C+LSbM~2bmf66XXzKgO^$la zYCt^tLVQVsya@C{W*>lW3A=YeJI3ip^uB1L6P|IA9W%ftv+w)p#sscM9b&IU&I8Ot zopEvNwXNrgkCqFydw!?TYt#%di^RHM ztpTeT5~;i{+Kw84gkxHI*=2^2bbjtyJD^;W-rZaSM5CIKZ^RC#o2Ds8o!kU;dak|Z zrPGnd&}IO{J?%SK!#oqOY&j~n`}xe|I=Mr3ZVgpamkJdUVkN&G@FGuh+;v}%D6S67 z7`u14{BTxx1~h>GmQ!3z{SN5Rxu1E&Iv%^@Yg!`CY*L`n9p0xX4`WALi4opGl+Io? zuME*&4q*`MExUAm`#?c@ver#zRMkhlNt7hobwE&|>vnuXkC$?V`knOs#)1O)y8&3G z$t2;3gFZ&X)kZxCm0cLw4P@DY-Ze8#MK@O)o7PrYrydSxHST(vSG-H2_qLlSKhI~s zakg&gP`@$*=BgkA9kW4|R-Ard5+FS%B{5Nbpc`q4=-`Gn#~@QR@LeC|NAS3-P+MQ? z00B0_rTv7EHr&Rb#f|_ripo{X6WfL;CSZ4MKRAy&V~P<1t~!n0$$AgpgJq0Odm%>t z%A;*kaCG-_lXnZ`X6K7u5ZNU8qcBwB3F($O0PU*r+C&^BX$SeI;X+9pcH<76B@REr zvZ1`6!X8vN&n+8@i!Fi*`FvBPPK@6u`ma5tDIprOJ}xjkJL+&#=-~;Y1kU7F>pX3; z;U8dmg_3-!zNOA!rAx9*Kl|gZL*AJvwx>!aqsY!8B|9SAL_3TE&UAL{f;u%=KJh;P z=9A^dlD7nWmDK+^zv3@B)xS$Q#lL*Aj12y&ssE|woRqBoVyXV7UETwnE8`yil!$gE0@p9WQ|gkJ=Zqd8CRjV~8vD&9PEOqU?LrKCZym7}IvML34n+RGa#8&) ze809nVlgCX?{dj;*gWYr!NKOu`?@RhZSk5$1X>`Grfp4X7O|N`?h)0WAoCO(O5nAi zBmaR@~o6ofmA zBZ0J=d)6^dAe0nJ2`CDs^*W3eg~!w?DmzWmV>o>@f9(#9dPSJ5%w4GMjIicu`tlmv z{J|{1+^7D=bUQ4Hz>qBrUa1j!K0zqL&Du;kAW6rh$z8FuYU8;eKy-&C`S^5>YkZHU z-!6PxbHet_sg|*ZrkU&-0ARaDJsfRS^bVk936$0}edPZg0Wau`V2W`s#tR1<=6H=3yi zizi;J@3bwIs+b2Hg6#l<6KGr8K<4`~uKy7>3tiZDi+Dl=3$02lCb>#A%n#1QMg{kw zDgZgkNFn3GvustUXEOV^qnbVO`=!@L2JgM)^L_G__vMw>>v1xJ?(n<=AVciZU$>a9 zT(;v7F&WV~)7wH;g6UYsP&ZU?0VTtLv!iC=>KHXu+E*Xu^do0+xvwmnFjm$OQYp!` ztJ-bO;kWTBJj?Upzfky})qL5C@_AVh?>31FIZT3aZyNe@l!6WM3lnr&2a~9iDG`SZ3XV z3um1lnhc;0f1)%<8LWG|Qk7w0;o6ZSTI<)QT?4ac$QC3Q zuQd-}887tF&R;l@_XD1m+y%EP1XX->8$eq>fgp|oRS*;g78~)z z2z0s+fiI2#{Si3@c^!H8V#K$qU=&?FE~fyqwj|% zQ1qh{MFg#dVqAWj9$kGmKB$w0hDHxhK=(JX?>jsB_BW;7%8$Z(6b6Cw?XUQcE(bNC z;e$a&q}^OMK)bihexV#^*o{II#TY>ZP#$_u1A$=hR(~b2u@THp5h$UU35vmjqrXuz zi3sw5wOP*Ikx(p>Q1PS`i3D4ETdp}<0gV!pwzsrxT3@j_$dH;!Irvy4@d0-$K?F0P z)LDcgTiw|KcMW~QKCSn;WO>`0!DYf?=ex*&1b!I?f4yPYc8q_h_gdkb)hYrNb|O!E zSB@}@qjHgK82M`c94*{*eRrj}G>wuf?O|wz5_r$l8&?_7B-*_F*j!jnd1@%fHZ=+~ zcC5DHFyczlNfhv8N}wt8Vz& zg^Hr_E0jhw)R89DRm^7fSBn20xKXM?BZc)}mY852TD$GS>% zyW;FT?VtDTVWk7w_6I0)sSW*CM^ULYtih>aX#?Iq<^h82mekP6P#3KB6KtFuW0j|5 zrgi$=wjL;tyTKDD^9dL#vbXHv$vy#)Onf&p$ZkDQfDzzmTYQAjWWCa|gRUxCbZxzc zl{w@+Gnj@zSSkdfQ#&0Wr-PUih2aaR0jzS-IQ2SPeJ4;ens-^YFd~10c!U(}!j0UM z1Tytpqnmkj$TE7Gnn zWZgF3+#=U%EF={CSCQkXt%PaAbZBkZLGq{0Hi)()U!s6^RgoW#81YBw!Q27S#7u`| zoQcWRLdC8Ji$cJ{rqu}0Bi!vr$lh|(+miL~`y9Neb!R96XE`ME{WO>nD(sfz6tzQ8WAR&=d_18)HqhAT5L=D- zT@xZW=aBq_nau$jRxr3@c2n{zmk(;tj%ncmcjYKzR+M2BBUy<6;ehG~dwP8j6TY4h zQfli|;XbR+|1$mO2=Cmer~-pPV++fkmM%wj>NQAYv?0 zezNcL@;Hax_NBCWxL4cKLX0= zMC+NtT}9dv@(s8Urs0j}I@x9S_47{*g%KV?Ty zfdg_h@7|*$N^R@C)coCQsY9y39}W0-< z>oSaozJD<4eWR-)us}J9at#SK!n#6)7>MxmE8|6#hScTLJ5DE9%YIC(q66%ldX2zG zvx#D=z++&9xW$kWIQ6TvxU0hDc5o+Yi$=33#O$rWAn{wdEmS8%dOeh+r)(dyYU+yo zOzO>-#!h%FuTd*E{X9tCFBH&uEh$AA>1Qu`K=@zqsUClgJ=}wurO(fw;lTv>+RWb{kG<{o|4`^ ztaxzI?%G>X?t(m@$b#zKWTlldHJq`dbv9EKTkMH{V}hgy9$tD(uOGe>x^BxPcwDUM z;{gilk*`TtTv0ymXySI=k+-I^+;r#jmS)S15H75ru*^w@9aI-{^{r<83Cm80vW9o& z+QpN4I}+dv^EoHUwie^Jxb{Sr-1kQu;noHxbBh;B8%yZAAS=&$;I&?8h-8v%vo-A|58Z;uJT50&#}-ARxdIV9kiKdjm#4`%|B)+RLM0_< z5J!%Jh>7vrj)WE(vxJ*de6AyK^0s8-&P2`*$-FiT|Gt^Ip^gv?)6W{6ba?b*^SF`3 z9&D&;qPSG&Gawb1f-*!t14kwNJK7TstOmnldImj9DEwZgh}rq=9Ib|MZ@M^rG*9di zBWAwAbo5K**d*y08@7~cC1Xkc(g@UCQj-hTK34Ahi0OI7xKSj3tr+4eYSh!O+(j{y z>S8ASb7PR&)pGIX8k4~lty7zo=G}w!#5JWz*IIPT4 zvEzyQS12A#gHXc`5UB)arJ{(Dm@`mwUKmFz%P0|x#0Jqo3oxonzx6rJTDz;Mr=7Q) z(Rbvf(%*zg(!5m92_QRGdM$Ud4TqV2>Gfobs_&`oS%nen``n%C&HYL-5W+w;c?q+^ zX_vE6$B9xH^LKndgcf=AV90OA zQfQUkb8+nc{6o_jx4COcb8uS*7U#+8sTwqF85i2j8qSpiOR}pPx6BRdbuvd?{l}f$ zhK@4jU4y;>g6uA<2BOf(K>8zDY;1Rj_=A|CvjYuwoL?nnLpx60#o6HcO`Dlb=5!!N zyl_%2rmy*@3F4@`p0WOsu!oWJNmWGL(-ctRm}ZqT&WXoWd7XUh%o$q# zQf!kU{H>8x@iE*>L5C$rQ`{i2ol&gAZFfvXHt}l~afOuF8mNnx86vNfWr6pf#W+8$ zH7rT?XQw6Y46^Co=DRcbgsWS2wxd%cb_k%dJwIJotPu;0K@Wt!-m}+Cq3@N~8NWd! zSp_M~^6hJior&~B@(K2z9Tg4hew^-~OGRKcC-y7gc2C+NO=boXv+5F6PQ^E2vhAV{ zSivgqDicl!6-%!HR)_5%z@+>Pc!f+c;{Z~a#%88dQ)S(bHBQ|OL*nN{i%!yv)i?Qk zu0Z`E&t!Kyw89q|#{5@k>rI^%{@b2KhCyhpuRGTg!k!wu*w6%M9|556oWPzu14!!>cJ6Z}1H#5grVH&7nQQn^S>(br6tG|=_Bl}O&&0+7;?*$;e$oV^*>sfvFS5GixAtv2a6xJExb|8W+yJc3JxZi)!?KG61019pA zp`DE*`ri;!`I>o-U>&$QG_lQVjaASyj0f z5tH)p4dFM!wFjBQxm#O+%T>opmUGeI(n7xdCC=E^qcHHPvGTHp>a;b9ptVVUt6x$9+Tl-dhClO1$zdFV{zm)PY~g^9_=u-BVO&xI=k|1fsX6X5kw z`{wOa*x7fhGa%jO+isc2J5ahbXdV@?sKk2OP2N`gV{o@oz`W=`z9e3HBj3q8*OU|ZrH|bPuYCcnuLqz&%F1LgqXVNgautJWkO5e23t(h|# z+ghEAFI|umE<=UG6SwubGxnoZO6qWBaLx(9nQUMCL|n9&k@(P_Q!*4SFxqxkiPc<} zKa`Lt5js$se1aU7^+7?=>|772zxOlDki(AiGgNM*Ju^6ymPfj zOP0akSm{LvB}`|dYd%N{aHOdM9~WZpZ-2Kd3<45g@{n)eG`}Pa|NCwk=YMZk{xv5! zl}6%2{wT;_pQ%`*1J;&>Y7kOYzg7p$N2XAt&n|%c&`9v1oztp8+rfHPK|+Y{gSevb zM7$qsm;yBTOF18mopEfsOt3jTJZ@%oej78;;{T(!v{zAMuGm!5e{Udg*yFro28jd1 z1F=$Fpvdf?6?nKb#@~Y1;${s7DVX#6GjWe2#PcuaUbaZKmx5HD^(EP~j$h$aLOHbyq5hZ6>yK~jjn%#dNgF$lCkEfFPV z^G>5%9S5$Bhs+^kIEXGj4{NsgcE&e6M`}K5j-vMMrN&XiKvAX{D)9Jb9pGJhdhPh819 zTp?Q%PFJ>ap>+ljIH2gZS_h-jOjgiRoDW3S5<;}Vx+zqu{2@aUYM z&Fh$;bWa3$xA++8u0VP^le2f~fxsrowb}8@&W+J2u7|75r?Xruh2&rIC z_C5PJ%p<+(E;&-+R+6Zf(51`Tr!a3<35N$@%-Q?}`Ih&J`H#%!N0i1?;c*VeQWhaA zr0sekdP&b5xxU~PVyIxvo(O`PzxusWxKoUAv|Lb;@K2pQyazTFPj3F)sOAI$gG7NF zSc1ypgM+AzQG(G!f;g>-M&<9|#9LqaV^{q!PZ>MIiiLlZ86{g;8{fb98Q%Xf4CDVA z?Em+f+dp@a(y8)a_7gvdCD8#1^49X=&;hK8G05E^;AYS?sIX{|@_cPDu?pzlne2>x zy-+i|@wD+Bht+@nk=gcZ(!B6ujQa(`TD#DE=FnlYDf9927|9D1mRpw1mo*#BXS_f= zGFDUfU?p+0vIvi0y2|i4E;;Skz!;j!H3J2j;(2^7A+x1!U8qTJjnbOjb2#Tc3>W~XT2;qHVRxpMU?M(yEaTDv_AxyK&>%M0n)|? zmLjxqkF5EP`qroFTOZU!-CR}uoux&$Rz4#o<$vMw+WJ;7-Bq7t!1)o#Ga@Hj6EJ`cA1cjPdk+787-XS%Jk7Ghyhp zWdbhzM759c_OMuI2hBgoX>3=bLwNeAg2kZuj9n9TJG~O7OfQ`>M!v~ZNwVxg;uIBlTTnA{NgEU=1wyvJ_7mSMRbn7B?^VgnsZXZBeGWOXcCYk{01yy1Lxe40JtmJ<7arJ>aoV%($4cm<8JiU>Sk*z+IpQBn(W&w zqLwUqG8qmLd)ZCmhr=~U!i``qxE4H0LZVScozuxta--L-KM#k%T7ucF0fGj*ne0L& z)<*PB>7cPx;I@iaxQ26QHeA(T>b5>Que!-F_rrPK*OY&ii4l(?d^q_vFd+bLf&XKT zGiuIl=of6BKOX;(tg2)5=9D+Cow_CL)!Y%0>@n(HRq>|xU%aq;%4-FxuQ`9 zEEunA$ahh)-8smgINfS@_JSDToX^VBfetY1pnH($^4HFJ!4usse%od!1pX9~>t*N? z;WsUEIw+^8{V4OLZhA&S>v4wydaeWGEWY0WiZJ}yp6Rf&1?*1V=D|6-YDp+NKYy>1 zwNVd#x7%dYW)R#qUJlVk7r;iN=!s>mg`K5DcPeJ6ApF2fW%I8^=q5(QPK-dAt(A`! z3}J2zn5Rz&g)#Uf8>MnxX++FzqE_(o*-pdjR0E@9Oq)3XVj4u46(Hub~h~ z%~^7M36`5#&zqaIbrcwAVinR#Tqu|_2O#&*5bf>4&l&uyV=;*~MnHGo>W%OS~RyrR3K-pY!bD5#2;0JAO4`8y3~ zdr{{>Ekq=E#Z7*ZMmC`|_PoD{++m!m#T8`Zk%*%XRSPK|T2nnAWp36%&lR_I6llzg15EPuV%q|~I`8FcY6*Z;g1*NS7Vz}=UaLdt6`#-$I z#buXjM`fp{@wPyo4Lv{|u6K|kub%JzY;Ok=<#3d#5xYMAc_&fjD+Z^i5)EFtnJEF7 z#SqzRL=_tMvSi1EiI%LFo5a$_oi>1z5GNHt;#<1wiY@URGDZ6XEbZ-%c^sFe^f5V~l-^4JYqQE@H86=Pn%s{@B3#)GD`l;piA>5}3u#`VtCn5Hf-R#LY%<9z zR*_&i@)dpJe8=s5=BKcO2l{GnA8p-{B9cmqYklw?p@#Tduqfe+F_KE+14E_+ctK2e zF;CmNe@7_RY`2%;_g%kZSw?0SoQMGZZPJ=*StO3`Qo|-?&6^GSuVQAN+u!1UjXM&;Kp@9!_?EwNT&ElV2N4LX{b zhF|1a_&~_wCGmB?6hbMWEZGtr&6dJbr6_zuLg3&xb9%1)m>3nj^M`Ud*&}#gMASN4 z#UQK2SeTa2cpld-zw*8Y$923vU%399H&y6mbm?ojPg_$_y^DMlZ6_0zr(^m8OBIGQ z5T&r3N#0FenVGp`o`9u{&V2Y4fwQ%pm~Kd0pxSZ)~%-5N)mCIHYKPh`t$9Fb;Xzi z)VYo&yJ(j5sJj_qCBRUXsqnANyip#P=wm7?*{UE1R)e21 zm*w+#k2a(oQGhuwT?yZCX7tQDQWNp`s2Z{!RWIkn97AO#L0Pm%m{et-c@=gwaI|}a zZcD_@;M7VEv#)?EE6D{#imh7km@Xf~b5@D<3j5s0yNgX$%>q(sPpO;$%@}e(JR59N znVi$}c$;kSXsQb1p*7J-H8aHqrv@T$eMr|nO)Eji5E+YA4h8B| z>@(HS)V|LZW2$a4Ex>-!&93YZco#|}*IC?X7G1b)Sw2FYZLDn(Xw@?FWeg)TTDZv| z<XEMpyHhdkfulb?gae_K`SDeBf1-*Q7v@^YlGJ4xz?cjl2Ss1rIt(Ur<%L89 z+$XFQI~ZxloI<;b^sWMzj*9X~`kkWMXGjhXN+sV?4=!9+q^yN=AfDLaCgp-u=!pxB zdvI3o>An^t)}24GM*S_7>ErsW zm`?YSceIbg+0Ae^DJo8HGPW7D+Xox+SL0c3+=k~Ml$`Ww=oY?pI>Adxo&4U<{Nwfp zfG?=){*<7fO!Qyny5P6zj3l#u<&?Qmlfl6cF#hTE$rBc!+NXnxk`nTL=g0jCdF$*4 z^c{pLBzNBkgsPTi{Q|EbF-nr42O~;aUxHzYHR5WFf-CKxTqO3?q+cC*90BXV!4VW^ zXh}Vzz+Ol}Rw?|MU3ln6@34NwudY@qwraM!$nwCCS1(#=cPf$#T4Bg`(sa-pe&Y^% zdjofweOPEqwKw3Hq*H6H*SHgC_q5uX9iFRj?Xkp~J<@MMnW~3;ymth3S8l*mwuq;? zx*&lf5R2*b#pwt4Og%`sLA9HayD*GZa=Mw?fEfMkJiOeNW%2Jdfiyq6gWMkL9?dLRKwaE~&r z^9_fK4TnqZ&)dsPZ=j}d8W02@i42(8T5Guzk*lR2=~5taJ`Xgn!RfRs8^Z2pRuY`q zf36kJ#dWgCN?mvw1Mniiou5K-WA+oQIrgqdplS!3W zFq?f;P>;&vE3H!pS~Hx-aTlJw&OpzqEv_a66zdN!lkN)`Nyu7EtY4i~oguM1S#JqG z2tGlROu|b1HjeRUU>gd^*8-{@NrX(~iVd^GPeu!pPK25fMB=1wi*Tg^txz=;mK<-P zuIpj8RnpyRJEWfu{{i;9w+Bqs{GlL#wJy~a`W?I?_91WQq^TLtSM~xF^~)#XPcuO; zMzeKdsHD>5FGdekd;|S&6d+BD z_JJU)u)FugP}LoR1wF%KiSCanIg(L|f)$cJkQ&>KW*n(LI*s>GeBjQv8b4ry{&Gz0 z&zoXuSd$Zp{82{w74M=)wagLbfvcnXgt)7jyPwleG{3TldZ1Wbw-iC-m*p*p?=}#O z>69$6RMfRZrDx()CE%-JLRIZ<$wF#-7;inX*gK|Ke8wf;?M4!z20#h?!*b|0lS#Y6 zhYzA@;Kf=U%|?{N31@_t46%XAOCP6ctaEMik)hUZnxYg_Ky*!+&AUgL+-b}Ly=*e@jyqJkjg zTPxjiw$qrZJW>HCzk#*BH^pUvHckQhF(+Jg3IvP7O%wti4w!c;E5Cyf#;#d~oxKrrqEdZ{ z9c0G#E@m&Mh!K_ykBALe=3DqN56Prfbs+<3EWO4o*#xgnf zEb3U~;DqdM*Cga!LMu&RKDMrL3(HgE)=hwF(4I)g_%f)>J&Fnwdm0|g0v11bHcAku zk1rc2@A6S0>Vh+9t|t?4m+>&;^nKe#fR}Cir0lzSCGY3ofW#>cfhPV{1;T%^TmSb# zGVXtGM*pSg6)@GaS1@w?FH~}h8W->Vg&Z(xm6BO7J)r7sdnl|pWvTfcl`Y^)X;i!} zvlAs94wxg(@mNjFX}Z(I2&9Go#bOQ}gt!^b1s;=OY7xw5*!7JmZhKukG zp-J);ybpJMC6@Y0m8Ipnrvbz_7+o|kgAFEy*Ui7M{s1C&7w${{mHPGk-!JW7Lg{~F zy}Xg0p{kYTKR~bY?180%!ZR7eV&Ha`7ZR%;j+BxI8^K0W=Y+%|g=ABYxNJvcVmHf* zAwlGVZ51XQtVNED`H=r>SzU6OfkI=1kc$ENdjS9P~WH zHPkB{W~Kr!(XQFH!?-_MCAqo`%< zaPxH|{ZbU+HoaKLmT0D$5+c3lO9ZkKwTvb+cnsuN@yVQSgyI6NwuQc2pmq7Dm?zbI z{a9cn(9Shpop>HoC0PN_swE2+eaDkCQvm0jWLs^p2ewM-yOa13Q~xTN?u{BOkp(sk zHhV@-SQ~rM=-djN+WV&f1c^v2$_r93PEyCwNa-^b+e^lZ<^mS%U#h=Y7=z!;6lU}s z0`MQX^LDcSd>4}lWL}Hx9m8MN6=8%lxN)@)w?Zi1EYF5$2WENhQQbiJZfO=FNSUU< z=gqNgyr5Tx=Y<|s7Fo8v6F0|RKo9~e3Bi^;EouVv@x-H$z3}x8ZVcWKC+qTUN+qP}nw(ZzqBg4A+ z-*Zm2R;^Xl`+8h+tug!P{p-21Q5Ip7i(VF_)qiTRCi2@;OqQ{X1%81*xgTmZuDF{s zW{7#QmxrqyfDN-re8u6Yd##jZe7V%ERIp?cQZ?^7a0+iYIzJ!gnBmK32uz7 zZG$n1Jo@t3npIQ4a&)C@k7J|~rgv4F8AG-vSJ?1?cN8hH;$VRpiZD?vfnICJvShRq zOPMR?88zS6JzS2PCLFu>J9-Wf9{6&{v{Jf9_QiZ(hzugTV|fJkusl=}FRV zqr#IkoQW_+-Ae$DxYl}8uA^``8i{jCizbd7>G1jEfsu-+H)v%MFsldM?!5ue@zBZG z7B4?|#Q_(^bS7iT-p@;6yu3xF05>U-9@=K6Azw5SflkXi18?E}MXHaaBTU|i*!c7k zn;jzF(DBk|-CdHC{rG&Ld7^k7MLzcLDKt+U^g(JI_!xKPNyw-x^h1#N< z@f3-&L6o<2|Ka6V6K9_{B> z*Y4h(S69%PFuqLTR_U5X>zbB0F~o#;OPlHiz%{c#s&`#TXVe#qm39kEeMt^bOWmzh z@<`AbtR)$8q3|smhB+29%Q!08wS372>ABpyXOgA;5*WlgLe<5QGcf_)YKZp4HIU3$ zA%>G-0SzzU?FxF|w+OgQQZJ!% zlpjokh{0Hk(1=Z|>@~*BV!p~KZ+xI*CW_+y4kKhmt1k{KF(TYh9GdC7=3o{x%Y$n{ zou9{Ss|@qX8K$YuS>abheD;_{cOd4B?U`TE;Kp}}5!I?)u;#%$V-;>>j6yTp5?$S- zXwPoIF&~hfx!x;Xv)!7!qkp<5-98E082H2NY=9u-U3s!P;{da0iM)z81c`f14-#t- z)R?$r{>RM!x&q}=ag8-7AkGc?QEtDw`&J7n>C~!kPW&en+XpsAxNFXw$-o61c0WU32GK6n z(d=m^57T{>rK=R`e%lEauVR3On+V}a>HaJtK~plPl6?M{fd}*N?Eb5UH^Xf)VGmN( z(cTO*oQO8$D%eHMeHKJoHm+_~Aon+UE$M62!a#cRy|&3+6gH(G1N1| zduW>{9}RYXwC%xsWZ`LP@Xw8~J?fZwMHFy{bbLav0*7>WZW-zvGEB9w5p0(4;Vvoc z-u`c*DUWbRM>HqfUh{_)opj)>|9Gu2`T-mw1Ki0hl+$E=e?eou424 zE?J6?wjY8>S=2dTY9V)`?Qnx-gC%R-Wd^G4-`(_2tLN*>x&x>vNZvW#YB6y2jFZh*pV zQY-|IUP-|%>RsFa*|!o`oNkW;l=@kxR2eDmHOY=e8&03aSKkOJ6kr z`Y^pTtJI>E)8hU{HuY`v``?rR@%!52b>#k^Bxn2Ic$NQiy#L?C_QS>azW@OL=l#Kd z*oOak;=j1oN+wQD7Iy!Q%MVtAbXQ(R{jy^m&y=?PLoJLpEFhnd?!Om67~aGH`Wu#j zgaJeQ-1s#!^JtNbIPW-w`;4u>el4)ldtWrG~8m#ns`*nBpvN%!0g{BLUMlWY+>hHh< z)5>J&+=D@GWs50+=7GOL|2)b<2+*)WVQyK^n33{@c{Z#%fv&=tL+ACFqxO{O&$j|ZY-sXxK)4+S*sZu{22)09#E`7GUe+Lz9<*`p4&;7Hx@8Z%S| zBD0I-=!{MwFZvE4YlvSLl+SP)QIcJoY>ER|07M-Sl zD}LubUn;+~_hKe0oL9=#piu>= zI8TuhRkta*2-WZ1K7y()dmCCXUXfznKR;kprXb>C?UUqalo zfgTu0{@HMlIVR8R~r4#|y0tO;w3}nF5J`7KRhd zLg67cKAHoda!c+75Ab5g=4&1Zqa^YXC#mHgjsNIWP_hJ^$*tYU*&hTRS>dm#v+XOyO`ho zR+l@UT8=yxzgNdLyfD85W6AbP+E}^>M9D%L!Qt<3$A9T!?Q|)kxF>8>3M7}R^xU)8 ztfl6@nKO@b8v2{wlsGC_9SrJ}Kb8wpGbHsNa4c~?D~o8p9ttWD<6~5osK#4XOD>`O zLU3$kd$_L%Ke|xq;`SoREG`buG|^0!QbZT6W_?FeWp3o*@EI&ndFHt>_Qb%stvLuh`BGFR0dai%0FP3+OY9+Vb2YII=^EdNVzQ-668o= z;yc0ZnQpex9&W$XKxhBsk!>P&GaR4~?hk`zW-n+?Cku6W)8D{v4}Xq3Os!?c;Zk-x z4|86g*dMW#lN<*$r0^Tc8uO7GQBV)j{6fb2nBi3qUT#@+VZ}6=&8Q1OL*W&*jtLFM z&h(f@#>>r*4bV68-G&2gccJ=jm5H<#8~@qloZ@mhd?sh7B3T6HmRI&G``td|v*mM7 z%6}Ab2VODfu{ZT=mb9**6VbDl1a;-uyX8dY*cK*rku~IsA;;(W5GR&O zF)%%n626q^=NTy4Zr7L}JXnPz<}QSN4RUi=W%gQyQSg%Stp<$EV9g#AhUGYCTRL0_ zBYW-TFV40&ba{3E&LDEy?ZkdK)4my5$|bO;gMJ=&V?`yn#+I8{8zGavJoyD<_~gka z=7h%gp_CX zAWDHI30*jDPTo2mDhy&|?yW{YbFYZo0>hhr7BA^c$1vlV+Z8Ogi7xMHHm9MH7|a+;GQ6xa?p=~KRb8%Ex&o38 zcr`x&4AlcDAK0}FpKJx#y?eO0ZvaP=XH%0cvmBnu)ZvO2~njD#A(fXg_;}S~tP}eduJlLV|`ejaZzU$b3O>V6`K5X%J%HUtpX#{w8 z5)3~!ive9Y#?-sxdpdw`ss4Ay@=5Y!1u(!-aSo;HVyCu@ONKOSbvedV*#iFwQ2m%A zbenWlF2#s4m#r?rw#bMrABL^*pv8dIHh;3UAcJk+$N{T!3a7}4%j!Wk(fJLEr0c+CR4X;GAs<{p3`>wtfYM}jOcP@Xeiy3! zkx%Wbk(RCCWSo_$AQn18FMp)!9^;Py7~AKaf7;{q^x^}og+p=kzXqnohGKk$t_QpB zqwEA=-C-z&z`}XG7%?+J+1-feUNt9%kJ5HnA6_<6<^@~>6bBVN?fp@JH4dSp$Snd_ z|J6TD;=_*=`ftRoNB)0lWcdF*%c=+~OW4}GI4e0jni$v+3)tHW8#o*M zms;kdEMZ5ag77t=<#k3J(|B+f1p<1@2xx?{Vr@XMw z$oB_YjhGz_l9-g~m&FilINlK9&jYV3RWvT9&}+5Y9ks{h%C`=`@0*j*AGQY|us;Pl zwA`fdYHpIQTvw|*Vl1$yYnnDMLafYxLnefd;1n(~Uj{BbedTL7u?T|#&32ks6gKUn zK1(PtuG4beWI9cE&T+3YWB6IY@;RL#e|c2~j0KozT_Z(r9q(BBrj}Y&cL2l?h&YkN zp#s`JY+(YD;9wO@qA$V-XfevwTXH>0M^h`B{uN-a+EX__XA`sK*fhMRd^Qs6YLrnmD2|!#VXhVKD|%`n+DQS+2^I#g;p;fR)oRH;2zR zLYw{F#3kBj^^c{SHfE!nz#C)bF8fGciV%46x=jvMS2{;IP1YHPGM`9 z<4WzPM`~`_K&dKqy3Lj|cQqz1%pKq`I8hl9Ur2xv$V(6+zoL)S$9dwp)Ir63?w^@w z1h>|3Xa^jMtx08;RzLSh9V)2Kj9m$u(xyx?DI+}-nDo3oo)d?s){7U11d)D6#MHqMkPfCDa?%i; zyk$OV1ZeN}b+Ii#QqL)x&>D`LeTC2{yeQ_s;0)vg5A1$J#6pv)nWV{OeB+DElc<%2wtjj(fR+i2LRC~DcP-X}->Lu7^~ub6q@~>H7=8tD zkVD>d$E*MT`Ja2Py)8a?)xW^)%Ky`O`yV>me{Qk=`^o=reO%SXURe#`JL7wEOd3QI zB>C%S5lN@iS_`?l;EVVVjSdNNX#XEATbDb;=&YTS*E;xXl+{bIs@1v0{gMKe^Bqei zGOWtj*x86?Sqgq{yJzskb+tw+>dFkUkCq2(Txeq=I!KXL~` zZP!3QUV~718&2$rlgG6fsH{$jY}r9mvR7u$4480g-thM(ih*V@Qu-22*62zBuKpWU zh-_0%qGrDKb7N541mWT9C7UX##4k z*mF6F=CE}z?%%f4qnMLV&-(kbU=)PS?Iw)i3cyuSz{fen^9=Pp~S;kb&6Y1N*Jasav=HL5<+YM!TDPq=>>skT&^U{IhF75@( zU2C!|@h5iXg={R?{_Ad9uuTjhDNF4fWuXq%yUtmvgMpn%zt2UnnXki+c6p0 zgC_^buXvbi$dJp0Yh1@rupvgoBt=k;5X zCRsQ!Iu;RPK#q5PXZA*W*N|Qcr~g@!69q7P5T&&J`;T{SoUQQq2TNK3c<^{E1gbEu z-ukDJ#W7Dg;Ryb?8cWKOlF+{GHs%UFOyXs98pW`bFp@90^;Z%9 zXO^usvl)O0Q&Ak+{n1(#FS?W|ig^t)d+{8HeLBQ8mYOgE^v!raXE_dxq6vO{$8aHL za_EpHD^amEeUmGpUerfDeEFWCVxN$A7MUbh$CFoVgH<)x-JLy?m+s6Oo|@7H7`)D_ ztXJ_iXL6=-6ij7N6jEi-((WLj@8OJSW2%OcZ1?QOJgd*-1JH8;QvIq#yV@T-4s!@1 zFn__+-6ubf5iX2h+o{>f;bHJk89v#mQs^u?y}<18w`0sscTOl@pT~T~6ZH?BW@GCi zsq>_r6Q5vgSoa=bL{fp_Se8!)#@5${^J-_KEW=!!MBxIxJ>FVy^*NY&OYKEicd!}@ zcmcC2uzY=)+(bGZWSW|I$98|V6;d--?`2(nj;XfS?1y9(^(cE@v))bkEBBP9s7@EI zXI6v&yBi&?nC0Jl{0Ye7oSn4?XAiv{rPxWd0^OKD1Y1gUwh?rhTK%3T$|o_ASozkf z8x5A0UW-FA71vFU;p+F(eJq7du5c7T@%kY!NsGWI`6!NHh*M_FfFrz0GvOxBi479R z{^aq>6JxFYF)k-B$R^y@BY@P7F9L?wadI-k#~3Lum=Q)eiwE56TH$;bI4yQBpa{D`~=?Vg~mw zh+T_%J+7E@as+2V<(h!_xtphab-B1aBHx>5HV{0U;b?yk7`Q_boVjCuT9YhqI{aak zYa}hi5May6H;GI6iyMldG+%;Z7vNdxkOs3>rV~nZ*cZd=tM_vhX4=LU@Wy&icAYPK znGl3Mob&ouKM4tI747}W!MuNucq4+nrQ5>#7+7L;JMQ*=EU1)^G;4Vb{dag|F`K(J zrZRUfnmt5?J>T1wS|G)zg~9_QHtEYlzZatPc8MZ1hHh+CFO2d*rOplXYLT5IMt~DB zXUK^spKCh2h0EKE&;dG}CWf^gmW9r3Yruk6&IRCYZ{|VXj-1*T5yc(eXzTBGGelSZK5+R zf2sWFqVZX2i2NNO^FR$0Q=sjcyuaiA`6^@}u>`U+ zZ7zsSeckA{(-nSY=h&!#wvkP5aAMocSC>Diul91hXs{m0E@?=fEe~Svq`Vx`vtn>R zW*hh9#RYu(ohFY=Z|Du3J`h7oGk|r%10?}*d!+m;rNyF4cSv1;WnO@V)x>DqIIycy zTca?5T z+02q;@;=>1QqP_I1Mw9Rig!wdk^{2$u{+|KmgJ)jYFI-Qk-Fp21c-AKeh9_tz$!Nt z`Ptg^sG{)0Yck5?NV*RF z?%_4&GyI2NO~8YyAQgV=Z@T=~o(~rVU0YT6b)91o&$&hAq0R@M7c8EavItDOU`)Cl zDkY{n{!p-X>BlNkp3fHEn(Qe+Aw{PvyU->+R9{n0K9SI zleoHh!){%uIBt zU(a^3s@m8_?~T`PrU%o*7n7Z7j_$`Y)9lYR%265=NXo^1Wu-n@>9z1b+0vp}X<)JX z&9XOk7n9SFl7%y4Vc7`Qr`$+czgdfw;>{ChL=1^!vT3U|_L`0MamkRR6zt7Zh2^|# zBaHQ!)1)6kg^XAMD~A|w4amf)A=qZrhS0{bdG1p=D9R?yB7sXt;v{8LN0Fk|%L=$$ z+?Y|piG}?PI?Dnet_f(7MKz^=I;KB=$yFk^_>}c~LZ2v{b+xHtCNi_*VS%oMWuL>v zD2;7&OiQV}*%Q#V*vIRCN@lXHg=q=^z+8^wHWXWx7mkzXsRH+q0+Es^S>w~TvvKhn zkbU~|%c}X=^Yxqf(!x&NY#W@-Y-^)AR2aCHm(Zla#E|;$u&boD^2%N|VuLT;BXVRk z*Rpm~YT(#AEMu(mb?xV|UHq)6kFle#ToZz+qXQn$ZkkAN!b7ft&}EW(@c$jYjznCt z_>P%SaBT~FKn+rr7F@M2UW;L7u+{JJ0v`hH>Om!fjzP<>06VB8haK# z?muj${lpGpW+8JW0gmNZj!4KQ4yR$LVsAeJ9j6DTYZ=crxECrZti6bM@HNxva^7=E z)+HyjPm{)7bf+n4=EkKlB@%Rnm(TA!Js;-2M!nXqa-8!rLm0}<>PZOS6R3kTBiIii z@FRNNtr=u5Vw{+ZEgbO5x{XMJpMSZm>%c2rn62ggC2^uL)o;&hV#@9<@e1^XW1uOa zq|>BJE*(H19FB|SIpg)8P9vi>b>hvL6Pyc8V<*JPwCX!T8i%kz|+(XJ~bwaMj z1E%Dwt27f?wSiZkA-Av8*yz^Oht@8J4B$urx0A#&^xi@2l}x20+v_Xvo4Mcji~+wW zt~Eq@CimR#5RmQNbu%}569{;v_j$l?R3MTn@!2Mwn=I^ktZ#qs%)TCeaL*S&zo~rR z0K5^%%J|Y3Ynx)IubyFfgW#Fi%u&NOI->bo(6lvIUpci%*wJ_?)st(TYb^1214fw> zaB~wC(zv+LQ--no`G2>zasIf@Wmg|k#p*LgcuDp9}aMxT^Dxs zS1&c>gBm*TWZ-@ge3K*kv=bU-mFWRaaFhSw*|mFCXg!>2?#JTbel;0t3=j44xTo{N z3G(pY!Tov%wN1zNM93R)TbBEFYlu*Yw>BS*!8a&BRO!rUrE~rvS>845$uH8*|1smj65uFXBt2LILfoqso=tU$R87odpqaXC3ifhm3SKjK(97o6EwQMamH6TkD74x~ zBW7y!IaZsh7PE?Tkm!90n_0(`MBd`%h*F6qwBrlE;yW=W2u(!2Gg4RM5^B+CWumHD zj8VN_Je)cM$`y#LiUPamRsi9KG^FI0I_B|xiI zddFWxY1fiw#%&rjb*K^QxD>|gbW}uD3OY4bi*5w9Z~K zLUQ3|8~f~1;)p(-Dp0|4{cKgDrD{`DVH_X!kf?)(lNNb;T28>lHH8qWGrxE--Y>N) z+cVNJUhj+7J!>S6C$gKV?M)ntKMozUQ;S7 z&1m|v+*b1`kpQZ=0-~J8)7vnD$mp+Oi7SI+_TV`fC-9ae9|3G`=;M zVN`9>hf!ex+S&b?6*ZH4A#X66jB7eBQm$LWuP~l7g!E-7+3CYy8rZj~(|dWn=Pdy2 zCp9oLgnRVaz9+UR{UKED$T7x(tvf)Ji9K1dd)gP>Wppiy*9$%$0yGy3LDvB*V(m293S{dO=iqmgO;5=cV!${X$G__Ph^k}KsV z+kf<8eEE}`82bhxH~6%bkDq+HrQvNH2QB*1__78g>&X7e%uAB?uUdk8=>dgT4V620 zlIbe~0bSb2$M!3|f(~UW*Rfa*xPXJ3{dvI5I(I;q%g-W`Gqo2Cqx;v(^mc(_bt-nh z?LGPEF6-dER&H;DW2ZM;RK!hIrcR+*UHKm6tLHou@R7**N}^cVQ(05yhxtv&?muyP z?pIj&6&P}8e0Skjs<4>7D+TNtFa2%Dr^p_WdtllHePbH=>EMkdcmE0H8<4x7Wu2t6 zAnI9vafxnElAEo)3j3)fNaBgH-feD3vni0;s?SG)gFlK-f;S+r6~eG3ixbKaj*r`i z@EGLrfMqJj9zceWFB-}T?3&mbhnB>gH3-moRq%!#UDMo+u4U5h>F4)I&%e_FAEj!` zZIRhm+0p0e%1hZ7C?DEf&*&1O9r@QPzeDBXo~s=lYJ!Dpko@td2^iQAt26$Cml)zU z4J#^?+1`X6FABRGs$1mz^!pYeupWu*&gp~inRk5g8~OtYS5r4yZ=WTGHxh~Q;#9>j z-)VSBX?UKFVa>Kn{XBORG}v#5blPqxmP?R7eJ`Vui9-Jj%(v6!LCI zM-W`sjZ-AjWRq3LIOC!8^Jz6(sv&n#mJ_mc1kiDY+ZRnKu<_umVpd!tl82!u#(me5yU~iEu z{rH~*zbl*}uaj|OCbU;q_;m{@Cx2nxQ+z$&mi8>z(p-px7md=ewMvyfR<%~{M_pd1 zVz=GQ0RVH#UYMcj8jz!ab{S-`<{(BxH`zjOG04R*Va|)(#+<(MkvBt65>EQ)22oD} z-nq2+AYRfKJ_#Ea?i4K(#?S-SYtSwZw7a#WgUqM^yLjN{;VYa49dh>#V)u;^yzd`c z+|nPuLqzXJ=*1U}XeaWN0|f0_*ZCoe*l}!5Ma7KxcJZx>YB(+9-PB3Ak~Ah$J<$+? z_3aq{a%`w15z$*GUpLL}moF?9DoJ(a-Mb=|=d1rwmI*QUWF%pK{P6xK9{=Bc*C_w3 zEdM83{a+rb|JfsHDQW#nG`c$O@pC67d0FKDl^mcc8ix8;B`+z3|0e}Oq{>sgg_(pS zoQ$lQ`?jcX(V^t#D}cL_X>SeS_osJ=Z?Ev6)lHF>h?QyG>Z*D5QOhcu@9Xu-?FaH$ z#w}!4rE#~oWJ-6tw=8E4q!9kgl&`JWeM=*b#i@FM99bQ5{uBSd+I%nyO4%2S+Q-T4{uMBU;6qo39*$w!XVh_VoK!MMoV zzj(wbt%j#!{vPWY8;?(-;y|N2Ly~|$tZ;KRCOTfhOm>!0(?R~l(Wv3#lD)Gs%U9=R zwG-rXij>{{SD=`V-N}QNou$|gtNstc`OCEAlpS-hX3kG)5umH)VEg+o9v>ODT!(G( z;rOLO-j9C_2k|@|s^f_Gq4RL&kl&sf#{esR^F66nb&T6E`yWIYObnhC)y=19gc#`N z8!5WpsU4Ss*1f`W0?uzIMA5_8sr5iA19P4>v;zT#*8ijriMpFWW7@XU5jYHgah8HlrTK zkiOA)ZYEtN=*q%JNppUKu0)`+5#b##&9va&oTWLA*PFsb$H!u?=9Z3Y1u4g|!rCB2 z$nL!aI->Gu%B!`hs2s{)BQ6%^IX_eyZzhgY=Fi`S=4D{nm!PN+AQaIC5&p`# zz)3djBTVZ(B*OB{&`vRJ6PH=MDu=N-Do)@XK~^P;R5(k{lqM!KJ1cG3;(L4-@}5WPa`}RY?wz+Z917aD7q|Xk(UDAg%UfVXbFceDqa%B) z_n*%Qz?RGg?4Qqa@&CD?`X5zCMOa?M)>z)o!q)kJve7PzI(A3`C_ErZ!B;E)qCd(P zZ0EmPPc+za{vJwY?8mhLznC$I7 z$hBo#2zTK9n?+;&y!%WYbGVGVs#0734^;37C@7frMPrsE`^a;mq1T1Nk#VlYY z7YFroR5A0CN~IVjN0~7a!Zay8LR4RU=|X2rVqOW}f1bzYYR3IgAJp>_D*||p*MtNa z4xIV|YSX(hQoba58 zrxH=57$@ZOtReRah>ciH@6(d7Z zWmsPGB3*6fhKU%R9kN(Z+1#BT;n|p3F_e>%RS)GQ+e_C`pcObaNa+(R)w^#&L6TPK zG}=suR9mrLU0ts=$J|^s$x&j+Jc1HgOoAlgme|(Z&i@q{Vjnkqb_^|QKhVQi!Z}a+(Qtn<3`#4!|Kk6Aq7*Nu+6^fl*s`y z5c7z5=`7^D;H^Fha|C|Z@i#4tLIfjhiv7~LB;J-8NekGs2sMjf6&=PIBCYnYCze@aF`#)k)Tzs22 z$W}AUgp*@x7#YBnT$<*EqnXZ`8DM!qbONA9!m;^S4I(9dVO^?sw^!!p3duTUq(`F` zoUX-6UDMLSH8{^%91y)ZH*5^yj?Yguk&kZQ>(K>3R?&ec7?VT1e<7te!mn62Ql<=LbA&iw8c9(k>Cv>96+bWFo;B{03S#`lSxcNt zi9~GIegk9;jxsB&t?$wa|FaMHDOHCjIE}3=NMxJ4dOpZGNk| z&09{nz9GX1wlic;6%&o(&F30M(8u1$x80-7p(KsYOIj-;>w4_O^n}?0{^HLuI;Ob; zlJge-^3!DUjshwd&K~fBkhCW7MjJAjOeq6(Q!524>lBoxE0f>#G( zg2e7IAiEj$!0Q$GCWT}St2Au)zneIXvsdV0jEEmZb2xb5~hIDM6~SsWI& zjlm$x6C2XgAHIS$x@gfR21#WN#srS6+30z``_g>%0~p6DHtSUKU~p#?x%KA;KT$~2SRV+4A?-zoLp>us;wS@s2@2a*NL2-+e26{ zK7=xH!<>?(%*(Mfu|`s9lLf<}e0iCwRK6Mqrf|tkxmz`zZEzpV3(-qy4E2qAX)=wrg81T#}9sDGp zR5FLXrUV}dlkH02Um@Ka=A224{YzL)jyKDXSflh0`=#1roK0M-^wr8lU((axZkioj zGiFzMdw4J(JYX2r>EV7ueDer_8woboZm;O(wG&^F;eIM6lh_{3z-A+!skw3t23=p$ z_4ZZVNa3>X#VD{54ax;Q%Gq!FJKh~4IjxQ&aI4%Es{Vzy=wU9kYLw0O$*9LPe?4f^ zX!8|B8I5pZPFdy2$^aX7s{_AVe;$NPhU0n*MyCjTZEf#dmFnC2-Z+YmUt8(Lqjd){yHe%G0v=CB@wMZZpQHx z(-Vz^YV@2d4W8pj$aFw0-u9ph+wft+j9Kan7sv}yaCgbcN@}(v#m=s$MmICz2`It> zZC!cuM)pM@^2p3oHJpD3ic0Lt<0z8Lop6<$N;n)fqcJK7{Vu8q%yFu!hOpmca!FM@ z>qHKAybez1yn;qE?FcAb_%{Lty+N`}LLzZ3+y=LN3isp`H6m9x8)LZ_rs>OwD7aQ|nRvrg<*N z26$8tR8^JICtOAsTBFOu?a}*N*LJCOKfwg*5D>boI@LX5xVk|?7g;arc zld*j2fc4M^1nYWig=;p*jc+<{F}J{aA=yExyw2c!9s4_nT4;_EsN*!2sN&TzP#IsPp&y#<(-`Pp{T({IyCYt8w&6?`N918Mf^ zjq$^-;f%SHS75-K>*zu_ua%E_G&2XhD*73LY9!o%>cET=)%XR+@Q*b?xkW!N_KJnb z=FdZxZC};C!x~8JRDHr;>(;ARN#DkYP}1zQ$C4f)@LKNdz|P~<#>4DA0+k-duWc8_)M1rU@&$0A0(*#W_Voye|aaRXjGLJ zY^&ki)l!@?vbW{hg0kPTOqL2%%e5IL%q^ zhwjoHqG=-r;v1}*CDiHekesA&ZB>uFnjgzXvYa;(kN$~K_Xuae_xHR+Gq~LqCYLvrH-VzwkfV zG-48hQfJ@#oZlW{VxATrpKU#V=4zz%2kOY|!1T-|^%u?>c`O3~+zbOoXlMSWRKq~f zh~0u)J);J{Y`7P2v^_wkU0;5-QW>ruiFVz3UgbZ;Q<1XJZ}$F0T&)V~AJo7INo}-S znl*J1y4ybI};EX?NLd$TaW-o2`%smts`RXQ8?g=Pz@f!%mlZOg5 z;|e>Y#xCS^%{aeawlI81#VV(A{3vd^=-j?gEYNv!JzDlYDn({M==Petde(XLDo&u` z{n&2oEv|1P*_94&rGi6usU6juK3(B=1+^?3sZHp!`l-5AYT7*pW{ zO+=v|4%F~3BIsIj(lmmO+M}zvKGyv0nF#k7aQ}Xlgk7Mrl4`ux(NNWT;#|p!_ssOw zSN}yd`K#FkU~ypULwo!YVw5Jbt1`I|MXhw?vd`#cN@9kYsT;o%RW&n)+H4{d4X~(v z^gRLH0p7G?&!l=-b#bpg%sHg_D>WFHtV2#INLY5YtTqnBJ;Yi6UP93GRIZc3*n}8GoIh}42kVFSfY15}sGn3WnM@CwWhSjgnTqOdRRrnt72}i0Qa(0>w_&q5tY=UMRzuu-sJMhT}F=|446aH`;Mcr4o1T?w!6Uw+vVFrpdVBAa~ zeJIoRzc;{`nY1U3nOv5tiIdzsFc}v+-!1q=SCv@XG>C1i)7TXyWhXgAa!(~ED$>$T zuyWM_tq}n^w)(S)CXSU`BYnE$&_}MFNwsmD?SV2C5Z!f$Mnl1huCkjpLli`uILTb; zP`bxWquE}$$$hxvxYY5nlVoXd@J482Zt)E*;09?qPF3b1Pv8eYx0d|q0Xmp2kdhTJ za-8M@V5cAKtcLVM&M@`$8*Il+J)W5v!JE?_b;<2BHdQ4T30o@`qj>*e*_KjTD*F&X z=5sx|^hmd#l$V!iY|KYT2Ab(Uu7uL)Iv!EFCVwRkhu%H3Hc5ABjMlP=t2SVE#(&Uy zQ@5*bPw=&XTM{ZcDsXh|&qM8iYbr(1UOT%}J84Yq zYWM%+>l~vikFsqa+jc6dBo*5>PAax-n-$x(PgJpO+qTV$lX~gy+xOk^#=HIXd_4QV z#$J1^Ip?qBz#=oY#;Q)>FZ@3y3LTFL+Q=v%AWB~VvHyLd@Q=8^f4YY4Y|Xv~<6o9x z5j$IFN4x)uB(YHd{Ol7%$rj^>K$YkJ;9ZXV0)C{SEQnecfX`p^IfYdFL8yB~m5-B?I!Y zcqZ}!zqm)gfUrczPTLLr29=4WH6#9kRDPTn=`ejpyz-tuNH%G7 zSX;*X@=sNn66&U?`B!v|%GVg^e?PE)B=h{2K>q8b{(ol{{ayT`q)u2g!GAlbZo)(a+}5`i;Bv<02QrfMa|>_9|c&|)3TDEAZuc;V2OGw~<56j+uxj*HmND{C%8e;OprT!`fDL=L^Z{toI} za0PG}OB6UkV3GK=^H(U{P*xfz7$0n1>24hgy5mT$0SQUg?Gx%wohHTNm?;M`! zJ=@Xad#^@*73ZyCNJCHBcbjm0M~g=^bq=;b=a&*C*lB9!Lp!%)4@aw=R;6;YZ~yX# z1fMsc#k(`KHc&zI;||Kj40!J2x04>nDL62XRoZ;Nm~t^ywB-$k6P+yD#JRezn>xe6 zQzt7=g)1F|qog&2<*ky(u(JL%WPxnLg!8JbX{Wn#nN>~eF#84K6qwBT_8X}nF*kq` z@8=xSKDCwAL=&2_jDfZp_Mehji}JKhBk@pLhKJ$ya5pxMrd71nnbpGz1}%>2_M;4) z4rc{Uyl}A#&)|Tw3?gRRm?urpg}kNMIN{N>%uH&(xt@5=h@7+f3nZlp{NGg;#Qmpr z=&YJLAWn?av8~PvpBpwi@SGXK@e1wu`1KV}hsyPT-Khimz`%Vm6lGs$91%8cs=^hk z>K@%!q8`)2!#dgpw@KBO@6I+rDo$bZKwO|=`ceB{Ai&Y(Y1;>(q_cDi{lllKRt2fY zyb+xU@8QhL{2h}l)^zpurUKxW! z^VFz70eRY$5DE6Q9Wr`(z(KP>=VMuLiM_0h^bz|IAn}@MXsm#9YHy?X29~%u$RcTv zxay%Wof1%$4eA3?%=)3f)mNk?SPF{)VXug?;!OKPy4dkFYfoxyX&FSd{GD-MJg?17 zxUI7$_VCt#AUb{iQ-ja%X1z*-l4yFgExn1`cSQZs@XM z{tJRXaua%x(yv))j49g6X>56EH$xX$G;&8Eyo)wyGG;rOQ1m^)a$#HgKKG{{9BusjzZ;n5rug)+mLkvGFDT#y39Nd&7fCT*o6lFVEbQQdpB7 zG^rf)hZ4q}6FsKdaxY=+L5H;XkrBms^)fP)-k&{QuYRx1v0{WjYK9AMkOKN^HIjprR6y44GnE4_tMu9h6_VFN$9lm6LZi z$g^~+rEO6LG+g9{e&g5Q5u)A?cHQ8@Xy-THSuUt`qqDLg?b+~M>9M^%Yq0m$w;xH_ z5U{YZl5PHe8qHk@<_;12a$71a_PJ)b)BH>b$Z}@>v8lj^kNDWD46D#^ zOZ#{WOUQS&NAIvlWLm-pF*Lf?W3`9IJvm+gXPZi;e6ZMkvj-oKUtd}Ppbq|>M)P+p ziq-tLcGBC*Anm=#;Wd{)`stW)SG*#*B>J<6he25{s@{>xsX_ImLvCuCx$`qAcA~!n z-S6%KmHHt)Jkt0vnLQ5p%sof_(5DKTP)8PvFfJ(i4^S-HSmj{Zm<>)tcx&oUuTS? zw6UikpQn~lnKeM{t~6Cbq|_J!kpE3nyoUS$x0m^9U3`WJE-FuiDEm$w^#_hnv(rL< zu_c7wk>d%B9PDC@zDp^4@Vvwf&H36dwtzoI2`)31f@F~@4my7eWOBvR@34e&x!S}^XFb1wL3dUNC2j)#UE8szxd{;xQ5R6pG zU(FG($eBvx3QXZoY+|Vw)y_b5pk{9+r5{|?9B^uA$vMplR@7Ef)-9)0rCy#Htq!x zIjU#(akv__wae^kwJUHxGLr>gN4Mrjfg<6}$neM(a+652VU;)HVlSK>sIA>Z#i29{ zj8wcOXm2u%(R?D$?^P(Iun8D=Np@Jn%OO^hCgOTqG>7yjY_X76!#XLqJQUDW_nRcF zjL(s1Ol5Tm>xS(AhSOrgaGb?PjNL1*0q0dBLt)C{Iv{}b-1sT|0WQB}T)EPw5ZT>#q3ca7%dd7j$M9OU|Ns&tW5kl2epF8nq(?gEFT5hWcu0 zDy`bd?&nae*NxZZ2D#=fbciTundxq<=M!GBdlpZ%>xa9$fRNS=`tL{lhr26Tm=n=DR=dc1;g|IR?sWoTCFWrQv3tQy-*n4y2e;K@-eR9rJtHM< z*B+xVfeC~+C_HQQk2#^M=|n<^M2D+Jnt^dh>*(5u(v0|aXGF^VL{DyXPfQrcl~EfA zgFl(Xq}SKoLj$@i0w0LEL2|!;w^I_ElWenszv}ba=T!Df>l?;qmu7W^kUjmeHh5nj zc$N4&FEa_YP2qxxO&bBa*^iuUsl8h#*Xz16cmIhF1+>c(QvjIMf7=n5n2ng;tM zS6;X*#dB~ubPb~TWahuni(K>Z{(3r{LB1iSTy(o(;@_)jgZAPS^kqL%R7paTRw??i zV9ZTB60Q!F zca}UNA;?wvuJS!G$=aa8nNa;bqGN9wgVtr_U#U%?YvF4K@E{;iUvZBA zd$az3_qEFZk{tb8D&V86Wrr_@@%i1gZqjs}vl;7z!h&f)is6bv8(p)<0l(zDsB%-D zq{y_)eo2?AO8areFk`)jGL)ynzJRZ1Ol=T z*mMMdsYXien8FZ0z~sxaEWvP)KROurt0rH!dOCyO-k54paYqWoLlao+9qDkVCNe?l z@*k)z<{My-E+K}5ZvDyYSajg8WBK1+GQ+XcCjEjW3_iLVyLxPz9|=Mz&7`XVlk9~jC$B$<{G?McX}I8^ouGtX zO~(mu{vkb@x8U3-A7YKYG&&0#KTZ+*YmbMs&0ub=P|qT?DQzFR+n?=|&Q*Ikjo-ID z4AfUppgTo36Q}2!*_jx<2@2UnT>hn^spY$s`nG`?zSkP(jQFk-0tJvg=C@&;XKA!i zh1FA6-+5q~<^F-0@I&;G>oMNA-fy37e|$-Y6RD#owdJl3xkr+VUdFdmLfL(UV}+F@ zodU`-Csnm)^oq~m5xwwEu?L&-?m*rvv=99Cd$+6}ALe(V7y+ih?vYy#jn7^#UO_^E zeQ@3dS#(Lf!@0I4B-*^Fd1ame+WP4k=K5Oh5;e>!({Mu3s;3$pQQ+ck4Wx4jwYT~dFKOmC77L%x z0kk4j<-b!^ZZ@uU>OJ{XZ(^rvp3nW=c)BxXPJdqYX1t#K2Vf=F>C@>-D#!aJUIO&D zA|-yQd|HMKXQdWTbC8nMxGMq###wb(^nj)klUGfn*D$8)hC*6`G%}JVZg8tYXS!2D znW~12BGp%>G$wGcF@c_kDNAmRm!0p-a(kk9vQ9L=tV+H*dGh;wQy&5yI=ya@vI=kV zlqQ^IyKtrNHgi&~A#8AnIcQG1_-)2!Z4vrojHo$zR#Uy)gzKweS(XYcZJAmre>E7xMO*A=I!yD z+yEH(J*He5E$eq-b;&qoj6ZuV9UcY1;>6)5C^*XW(mss7sP8sbO18^LH1!lsWF}IQ zbGPc{3@K7$Zgvi1t2xzQcWu*QgZOhTd;AFF)FmpcP|bOH3)=Y0FTMza_XC%>;e4k_3Iaw0gSbOtX9%g#B;P5ek)&yHafF_55AuAy~-S zn0v8H&EWJy!!1fQ1N7_@!wJLwe&zg`1%mW6%W3=eEOom*FcOKzL|2YrD16xtT?EL4 zN5KqaGph7t?`RsPy2Y?oYWXx3ezpT?X~iG(R1@js{sBI0o`dc1hc*@A{MJg0Y}4-E z_55;G5<%_gmR}*nHZOyg1M^Ll6+Wuzg7I`v^a^QuE8#0K$)g7$xPM7Aw1*Owm`9zh zirT{nm6(p7#p9B?KptF4?NYDU`d%Ty>y0tjtCQ6{Zg99|YthGyxu-jQ*H@I77i^RY=?`KGw_wV3A8gJ$BTY&4Q}UfdHg{e)^(QeTCE%hGdB^< z_RQ~Vz5{K9J^#GEhF7~H=Nm+fZf~cir}i_o#vQHq(eho{KuYcBPq*m|`4u`0>j zVl)z-%OF?v{NIU3#YyT^*b~!$cd%~bPK8+E77xWqbQ$aSg`_Pyl|m73XkVK>j_1nt z4$t2$VgbhFB>cp~Sn1o_`_$lmH`R82;{(LOZlFRm7GBc)pN4zY&-gMlMwimD>SC>1 zH4UumUpc5=x`(TXE`ff3Zc^}Rpj#crXLAt6 zYDdh(#|e&g2|-csc-#YXn@!tqK*ee+m2vo%Ca+JhOJ zrARdhm1t%U-14$Pl_LP1a57)HT+{jB2Wcm(-JA1TA)YLoNIX27;v19cR!Y0k+gz8W zZ1Tq{kXr~yPIf-ESjWDseBVK1ViVz=pmmz@Eh&RR$+&RqX6WrqomXy(mLFhn3lV4H zmkRR;bV_e&q^EuwVAb<%b?>o7G1xSD=&>`Yja%mS)9JyO`pjy2S^Abpm5b@Pd`>y6 z`Eej$@x(QEx8U5l^b0pB$6vf^;$V#0dn|S}?=H;+0f1~cYe3hkt`)zD$*EC&!=3Vy zYB%Xw4JK17Yqcsv8&FF|>OeAI%$sK`7H=nvdJa|esT-)ZSF;6wc8_`6j?o4p` zfp{FX*8$|^zEe+?DAIT2-vpf!1*tfhv23%40yG$)F741FHGxqa;E7=1vput03paLSGU8mhpZ;+T0ZUVC?% zDAuM1ACK9+0}M0G`2A4gX!zc9LjFd9;RIH=;(^iBao?Rie8a?fwT{23-nsbUy2)4i zmHRY&!~XQfgWPe)3cg;GD&)L8m?(WYDm}SoyOx6S$Qac5U_#TsBH>5h=SjLfa?HNh z73EH+UBIV(Sn!9Bpy!KC0tf-!C?Ay{oYfW99kuguXV@Axzr>y@+@tu-fx^NlKZt%k zY$JBslEh9YYu$2t0$kzZKr z?T-{i+4IR?t4E_^(|J}eib+$8C67u|uJmLk{KttUkE6SmRIFl$}$^{SA zBm@tWq~=q;yd||yeg9FR$_q{Y>iIE%+JaJ*{el|q4#%WQW7hQ?++*}C{PO6!$Ov)I z)xLX+AI5Ou_{QYVy$?}tb@tmzPYK^=DeTw;zM&(`I-V7K$Fi6%!5rQhh<@+ zBZI=ugYEcRz?GI#J|yj2^Is!`-hGIB2&^5At=Z|@CEuLoLwMt@NHM{FqL~lwDNLF( z*cT5!JkHHnH{EP?#SH1sM@=2}BY6ABk{z(0y|Sm8(3|uH6}9De@;h;{8lggLSk##s zL6NXo3VM~omiZ-r4oLA)4+loc@Ib#yClaJeC5^&`%o~`bmMbfoEymw~tBi zB|aPkg<=iowjR6;pHs`!`KQtKj(W*mMJq56tRPP-w=vdjO4%FDynxy zyD~>TdiQ=4xC2KI&YoC~i-lWDYtwcz2xagNu*jCGKpD?lnnO5D-*binj7h$wKjRhF z9Pwbw3Lw#TIHK2&ITgmDbCk88ayKXw#JOA2zE$D>_3$;N&5{*Z{`!&Br^0y!O@|Ts zJWiV#88RFnE;53ltmXF}oHB*2FklaBfr1^QyRrtB2hA;!d!#4l{kq?Op#PtO?p>I% z5$&&Sp4NZd=KW7o(!X*d{-x)(`B^L1&xqo)41`52_Q$HN$Bcsk*FuFyQ-TmFr**?6fPZ@nRC}LOIF!*En>~B9ak6+-5}o85 z0sWwOQR9rtt2(WT1?+D0+}IXcTVg#INsAR0vpDt#s3#1p6tKbDTrHTDMPVUp^U9LJ7ZMHG!aa zB?1qEm#SOre|*-*Wc3@*UoSSF|A^7R{l9OzpDxb-oe}u2zt2Z$+X+qWi&94mmI;X_ z3a~<(T}mOgsHp_1C|aRK3rQJ9!n@%q?240?c{iPaq zy0V2q12T9`f2}&N-=<e%_ky)-bT^WxDG#F!4)|fg}?BD+H6`#5*m;r z48&u=9N&34z{uiDGC|s#TaAdfN$1bm?6!IF6z0gJrjpz+DOcaH?wGB%k?rVPz!6~w zfh9+l97Czoy#2@6Xayp{6y3Jz^{<7=lvB$GI-XRo=p;*JKV3b(tX28A=LfEX#WsFR zs7iS;b!Wx}YY`1&;yCh?SnC+~((Sj1H?nLsP;h+SBFSYtVNo06YxzMzj9MHbc*T%-9!a)t8J1#yGUnarS`F&&CRS|eZqf0`5o11!QRX@t zjVqa0vY8?Vdcm^`)}c&-P8Q&Y8Q}((B?-&aSRMdBf+)C*P4pDO^;wS@u-dOZF zeIQK3*RgRcQSuJ9zJT)Mm$ZmTnbfIai1qq07fF(Y@(R_de5;GAi!ctxyliA?s4#X? z?T|;n-bSc#moBa7;X8XgljOT4`QjF!ze8t(en#`sa(XFFgA@zImwg7Vei(VTHmVcs zRFp*8#U^b~3#$XYk96{=@0Hnj$^U-Glqb26NE|Y&WQ>P(26Om##i~O3>)cr?i)&Cfl{sVn$;`r}jX|!^*;y-ZPwrJ|=3>1J_ z#leiGFcL{{)bpQ~jX}R=4aJzh@%8eiTon;AC;| z8%_u(E5b>bQJN8oREWDc7Xp40jcT7)W?!|dWii4ub9Tn*x@EVWEENa>Wi**6jNk^c z4q=Idct6#mN3Z|BOGhuGzGezcz^z7z3?Ef=m_3yZrI|++=4+R|N!3YkmG(`OPJfbW zecnExqj;CLKltzNRJW#p9t*N6!nJ1qXE#rkv}pHG#%-N;bCU#;sDiCBuNpC-2NP2LWuDyn)d=DD1R7p zG%4_h2Y-shGo%75Ch_Sn+0Ab9NkWtu79Y z)q=nS-;feXQCwSr0rf}JXCmD%`uCm}XUP)#))j$q*WY7U4_qaijyDuC%k0hm4ZCMX zm*6dd!Y6@RcfLO_^j#;Sw9U6F_{(c8UFewUJ>-Zjnr0UA`=}GV{@}hvn?G^-rXen| zqh@`S9oST13{|3b?K%EdS3d=N*g~G&5kitou2ug>Id<$u*Zh>%Nj1ffZjYPWJ=6T$fB9$HJQlLUy$W?DnG zcdsU$i=1dVu|fbOm@!9w1yhgHGn&__rJCswZez3#?%b_m!0AC^yVU_8Lv8McQSQM@ zcmoW82BsUSk4U%F!zB8Y1Mxkj5wQn zm+@{yzu4%&)v`h-D>TDWSSZcoG@ms-K<1Z6=TP|PKz(1saTb-cai$V?2VouyQ@ETG zx@O!8Z+r*Ls&IYcU8%(^9} zg)4+0Bg)3n6MOTQ>5P{}El09ua#@*co3|VswYu_#WXe6zO(v9M=AiQ2eEnO%QL$|Q zM~-|2M^x?BzQ}uyy|M57(St9%I7$QzamP{zmkzzdQKfzXklU*rzbUzg`;KiUl{0&Cbx?fu60Zib!6tdS%Y#kP!56-?_# zO=oQ|iSl>;tR=wkymqAMGi*ggz*2vP+&9{0&CYo4*xj}w)=_4BQWBiM1RRrvkXVz@ z7!Sc58Rh0ALEyq{NSpwgQ$SgRUC$T=a4@5;ELSj)VJB@@dK#)*?VV!f;I{fP$ouZf z`7!gHz|T;MJLnHs$K0arSOFej(K*UmrNjaUvDq9_=@gYGJu^kAGtT^1jZC?W8ho)z zhWL!6Mdd7Ogt!^8>!;MRMaIyKxkYwcwZ_g+K+w-G>HI2U6p@Wf8-9xE2Lbaa`8Y9moNK zS=BjPwC4F5upObH7wxf$8xo)%^o`4C+tlXO@#s_?yMgqcAY=x1}a0 zw=kCi+LH)>QjZkbo;n$ZUOd+U3rpt;a{Wb#^T|SWgNx9w4KcbG9x~DnzfpY?*N&P4 zRL@iop!r4Xu$=VQPHbCpX8>7DG9h{jwhf*hTH(39eI_rY zbV?nMP3N+8irMu)@QpBljnDv1>zZ{ZIPoV?(fno~svzpJBxi_{;{K=s{LmR4Ucl&t zdZ+%*KOom8Yyfe7Yd%c3yb_|PyEkNRl^~135DTqSSU{0G92mVei{)~bqAFEqAJRRt z_QJcGzasmWr-xD8Rx-M2S;B>q&y@aN{8&m74=V6 zlD#vj<1s z=2jNSB*pb>N4d0+kU})UfwAI~H_}Wiir3|xLro_m)-27;b*2h0cJ$j(@%9KFE3F_Q zhM0+49x^HZ8)8Mx_XC@|*CtOo@iQJ~4f=a@6U|Jin)C`*h6AxUbH+HY+q2z`xNz;*M+LebY#lDxCqcPP6cUW4t2MEd zN@PI?tmCO&aohR=883sCg2ki^CQ+|Ij8?E)OO&5hKr1Dw!rB~L$Zm8+LQZWmn&Ia? z3dmuaJxoTH>46M^W)}QfQ1J863Vwf%onE{nr=2EBuw5pxZ-RfhoK*T!$da`ipDGI7 z9Y1@M_=F#23wzoVlxFWQ70SoKwzKMC$*5ub+vC4xDj?Zb-3e-SjUXB9z)h-+(Tnh` zWir{K3$tHE0s>TiCb6YP7R$4{*SLLge97zu6Puwx~E! zUVmBegyAe+K7?2IT_@dO!t-}0SSUI+ieGHIpdGhF59~(#69R_$C!aEQW-kDU zMBV}d`VMN+GZlYC*)2b@$lRta@2%Z18kB1eg(kN#`6t;hX+7GCN|^#p6#)q)j|NJ4 zSP>(O(ON z3EEEw=|i-3u$|*)$VrBX9;dkQOi@BH(!a|0GVjdfJMclBivAcWMaQUyoYObctbaE! zX7KrTxvj~E9^fat50+~VcT=>?A?JuGuSC__&n)2Ds#sf zbB$c@^yE-6vUdy-?-fVg;W#=5N**1fBh%Y^elXc*UGpCVDM_6x{#S;6j09zIngIey zi^Rn$$YoD*xT8J@79uIGHj7t?F9D@z0fPl8epa8c&n-z(qs^{$n`U*J$9)%l)fIrF zTkMSPBxdsVL2Sn5+AxG*woU}An8c_-@Y-T!>7|sB{FV^Qo5H%rvruonszoEvA$7Sm zoiy^R)=VQ~BmNDVo9WuPv_Hv5Fy*ptG#u=zwruhhLID^78J+YoCc^AsNk3-Fl>CG8RliMa%VnW~E?In^c{7yybja z2KH!9nqVxpHMN!ddh{2RAG*Nf$F*0WH*!l&2JSaOe~hr2rg$5H!riQ{mDrwDLQLIUqxOz3f z0WATOM7fY+)hIk90hG78fo>i>`~`rHId4pkPpyKxA2jtH!^U6Spl>z>ePfYY@&3Mh z8Fo{ya5v&*ygc8)ym}c_q;uXGA4iE2f);;8uHyR3rcthf1v0&o?f(3{{5<7=3VFPE zmv^y9r9MFxTz_17k>mYQd|<%~qMe{2p7df9%_%|XGLwuZ5O&KR>w>-LJ2;gP4!Qz# zwe(BCApsZ+cGPNN7?|xG@E7<8yO$g5fMq1a`ANpSUL)B|1syd-bNYBq3&~w4SUwA( zJNE*+j18a*P9{5l(G^ncXsE)PCs)g|BvU0_AU8U}4$sGr58pI|#aEDK?c`KNi8f_J zlwF7BLN{+QI3Yp<(A(r1>-|K4BS)5S4nN*BUhGUr4nZPCse(8hwMs|ildhV|bET=I zblFmo$zDp+*e0!m$nzM6-*eTqs<#a1t5>n;0;U{xi-^xddc#P)y@;rpT`?7DQ%UYC z5m57LeXoH6$ASPJfY27+B?HMSjrzd{0E9`Q$BsEyH?cGMvd-6b4#nQw8%7O1EJ&K0 z|Hgca0i==SzgcxjP?%0ZY&@8jJaOEI=u4E2wy#i@&GbAkSk!?xC=v=ja1d{H7~o0R zYf9Qde2xQs%`r#J5bq~~t;XvGEba*e!6%(i4h>YgMhNU69lMGBhy%Jw@hp!J3wMvW z0>t-P1^K1Yk8zHbtEY>i54c6 z0Wz1#?^NPq0mR9Kc_t>IR28Vxw&h|@9!5)`+{KxyDTl7}XLY^KmK>FI<7dG6L$mDn z-@^@v(N*9J8vxw~t=hF^KqeZXTNXa4wXLj^S2~}MbqB@9j+XNrB>Uc2LyRL^Pjw4` zonmmYXS){cl4`V>yy=XYvCLZV))uh23Vi~!ZNudA!n?2E;t_0indP zA2r8-G;_ZBfN%E9fg?9!(Q*45|Hg}q*M#G_8+OT)g;1hd9&uCJs&qa}X8oP>nA>>C z35k09rwO38ic+$a&aRfYny? z<+Xq0C1B05uD&>-TKzV=E^0QGTlAVk_?mbjiLl78*PQ1=mo#w z?B*Twc-&EMU$&XX)i<6Fyc|a1wH;h22;{Bn2pu+=#e4W2b(h43Iqj;@9buM>;Um^+ zEwIv{-%7XA0lBn}w!9f$V_iUO^x(0x13$AJ$vO4YUy%XS<7-vhAzXiI#)`bu7UU}w z{UCFv-xaG{;`*wRfYLN@>GG9VY=IJB&Kaw%H$xR!H@2jq{laD1_H3SW6(%m4)Xx$n z3|6CtdS`#*{Yq3fR^W}0;g%G;#?=@aI|+o|mu;U6xd!XoW3V2Z8-1dh>a+w zhxi&5?WmJm&nZCM zlEyq5J=MjDpbX(PI#}xmlELj1%eAtobUrH^Fa0F6C<_t=4P>S;eVyY9J#y384@ut$;YcCeQ+JM z9YjVYCd>9-?GbqCQ$Tw@qbTWMM}zV5PCj4=sKK*oLw0-nQZ5i4=IZZY0{KG!9;_5~ zo~ek9ZoRfuwr_vidWh$>*@VZL~oEiH*2d zjdEoZN-UufY9L7;{{GGUmPNE5NknMu^lL?W7bEq{zs^XP3!Utfb_QLz2$J5fIwQ`s-&Qi8nU@1S93XjodX$qkQ`2k7^;PvL8k%c|d%bFcT7; zhDDH&3@*2WsumKEVB5}YIXsKNLl-X#AVf{?*^0!11K$}0wzadl&7hOAx~hZVWGake z&_e6Dbt_GId0Q!G@)}(;*GvIcs+bB}h81*023_l~oy5e+>opHf(bYoBIya%E+EpD^ z14(vfOD~g6id6z)vE??og8-vp4=1;6hiAl&>g)G2`#wvC35yXv2!JsZy=rd^hDpD4PV)>A>?#~ zLZ78Q{i_SqUMxMMtMm2lT^@M4a<-1}Pjt2b#5aHkYCR)cLE5JK!9@S>3E$RU3B?K* zsLP37D+?yedl%RZ@XAz47if&>>lc0$eyCYwXhy4Ib&4NaA|9FGSA)J9PrfFk_`lCg zQ@i1S9MSx6X?54%Dp?t!Q1g|ueFm8jk+lkus_|SX`vGi)H7v$-b%k0Lc6(_ABRGo^ zZtNm0XTRXE80J*}#)C#^Bv+dXb;ti>$IAj@8`{EkmfZIj@V+@w_%o`7Vp^W=s0h4F zzA@t-PylLKc*g~!A8*-&Asj4Y6JgdcE$K+{5)kgq_WkBh>7*>*5A$D+k_c21gTI(# z;;xfr`qV!!5?z7rw2u6J+XVL$(sx6lpd4?z!LdE?PxG=J(~v`yaU>~CvUvoUeYn=X z{_CNjcu=*1Q{Pm(^wS(YSEP_Mg5z7)kK?TYLFtrNwXb;*D~%gx*F&Iv2mbGze~yXC zP2N0^;D1j=%$H-VCD0V3F=8?bWH)f~bUj~0MJ@vweEIkHoS5miQoEiH5hA6k{IUjJ zVn~i;aBHsfxQXRtR;!@v(OPQ&CyV5m2g8$8dOF71eWM=nrxlT2^C?QvYz=nfl5c;= zihW>hoXi>e=2f$!%d?G5NX{LL6F+UB8ds?+@i>2e+EtiP3k}j^&^zJeZi*$&N4~i0 z@~B^Wi}s3Cs~bV5TRqDEWroN-=Rxky5^N{E5Pip*xw3ga;t89#13laVaNk@!`u#gC^LqDAUUWg3>Rgjc-kI?&8k+%wnVq3=hBrF>`XX6;f_u6yd| zM6xclYZ&bdeF^J}gt#g0#By3_vYL)1ZQ~lut5WH&$V_^s;)6j_(0-WnPolK4-p#R^o;>pC1DM)a?(H=-qrtIF4EWlYQpj z>XK_c4LMYBu{O+%+-rYBTU0#{rPbV9?w;iuv zy6&HIhuylIo=*I(x{!Oc8U}SIW*B+!Su#1AT|%Q}zvoDM?k+L9sTuz);zE^r5>Su!Q;hcF}&N% z4Ktp&C!O7dQkgof0cgR~&^EEUnKl9wya5?nq~X7JNj1$&3Bt&Y()~wlHIpc!-z~_{ z@KFO|lrPw$@+AYpJDWB{Gz8fcju#}+@>?TF`GuZFrvJg$0 ztCuzsPrpr-K?M43i`Ko6n z#%z%`X@kl#mm7m{M8?$45RbQo_YW_ksdHNe8oxbzl>fX1t^rS@`|` z;p-j4GmD~Z-HL77tk_N}wrwY0Y}>YN+pO5OZQHul-RIms&w1|c{d@hKd+xpF9Pb#4 z$fNGomdhzP1)}&L%Vd>aWVwqZt1FA<_STbRID%je6A+%L}s>^u< zW(L6+6X{!22i3q@Ba&HDhNtY4)1!n2E1)uGO!1`}QGJ4m=uLXtw07E{Ez=$g7u z53SZ3tXB6!VQ_{fUGS1`+vO1;-{|ln_YzwloU@F(uNLQwyN8@u4rFv60ckg0uwM)e zgf)X2{<3#!f3KG9d1Mh=A)HC$3sUclS*&5125HAuxj18Ka^d4FIV*i&jRs-xOTkRMR_YNj8V)rmXzSJ2;}RR~8jghxJehhL1s8Ry4z}6`sTD3T zQLvOu_q+E`K3H%GHve{PY5eIty7_SK0L!`nVMzX2C2( z*c-6o3LwnJW|}_^3t`Si)~(r&L|D*hQydYyW8_*&mDD=9KD-Y#Id7s~t8~(ima7AX zES=JSkicPd7Ak5~U>!;RkaI*Mb!3{cD1F<@sJnB$Q^Kn5CdRa zE2XF;FQp=2HUD|UiFlR+v+p+QdYLx(M0EPqkBFag_~BrsRMYBYUu9q1xAr^9wlvPj zoKuCZom=tzD{MZm9K0gd1Z~4*GgxMBW&Wj>i>tpnweK!plKeLPexI8K2dZ8Y*XQ{} zBv=b|m%fKZqolQA8*UIa|HO+^cFlaIk0K3FjS?&b^LJ=~Mm}bfF>#@8p^_`f9w7xQkLcgA|-k+yM;5!O@NWsJsKD>jaVIq{iw zp!v?VVhi?}w&cuBwgex|^w`;1UBC+y5s9&e#*d|a``*;9_Msr~*HiS@ha^IYTU{l} zbK|qr_cMlt(bwCkSc+Dyb$#P*nwn9TZ}cJ7x%CmM(Sur+B{(r5k6%` zNHHXQ5~2WjcTFpz5e2CvEyvPSF~dY`nWJ|ly!%qFu3IEQQ)od#^#B2eccvC>{$lvI zJ5t^GJ0{)yWnQM7oQck}q}}?BKRzYz#UUt%9OPp}6iQP=Pt_M%Tr1UpN_M5?z0c;X zi5+u}82woLcb^gM+Jttt1v1CF4hjydkNtFXR?o;x-+A|mcUpF>%kWLSP4bwxgY-IH zBFA0j?q>Z#ZDX-z_t7kpOOb`0Ea|g|qAJUGKkY<&?dKaB!V1cc7GvO=acR9wlTtSa z)!N2C+_D$RZ-$9Tjzr}yrT$B`Q;S}@Qxj>ZGu4wFszlxTLPBT4znPLdN+$IC-niFl z`LxYRm4?HDO__96n#G;$+0q~9`nyQImZF0sYV`j><=f+;iH@`V$yjmpM@7gs( zctkGJiaE>@OQ_$}2eju^z?}S?oPl(NJamD0a~}hMJ&4ZMfjeScR>@y=NgQ+f8`alp zKoOrt=21 zB&>~<4{ap`CiW)ntGEJMpsKFYwV3^%c#T%&RlMEdGpBd>Ls|*`ykw7$qJO`?fy$^5 z`&V12@Og9J!b{aZLk`gF@nK^N$&Io`Sm*b0i`A1T9}QD_2&v?B7ls8jDF_RpFnC~( z%<@O*-=(G!uJ~{`3zNp@Gdg zxHh@H-}r{S4V!os&isCxl*0&8G^4)kZ$hpHJfWWEO9^9p{@h0(zf$*^ct*{o((vb{jLaO;CzK_F)-Q&PHqp7yiKr+)oGLQhWdd& ze6+@WufnKAt6L&)fgT8_S;#Dg7c?RjTx*Bw6BD0C*L9^Iew!TA&p#|@wWo5JBAJb) z$r5oQRry9eu3gPC+1hpwlv|z=g87Z*!zZJ5K$%0kkpPtAYl7)GwwHj{}%%en1B9cqPnh8-2tdJ@N4Sw}YN8{fAs zI!6c}Dv2)saT7B3BTowWoEq}fKfv$2rG)}DmRxC=;9(qk;a(G&YtDb&ua`FK+t8>0>4c2>%)~Pl%)U$U3e_bpk z_3R?{^1Y|t5I?_)YmfR}>NqAUX~Zm=e#cY~Xkh-P7bE1B^q1xUersip!z&iJE}aB1 z@%tPB|M!uN+g2n*-~uArgDh%A9TiG)Z-b3Xq#^vw-1}v$2GAvN1l>0b%tg(K$H3=O zCjM*-ybaIbrr#tJ89o7q79$We8Rf5WKV&0KU-%5YPqx6jDP8r?IS#&;_Fo4ZLgNm7 zHzTsTu-!|5R1HGcijV?vPU>^3A(TgZ6Hu9LR8q+^RXTeV(9y&$JHe9*-C1h69TFxc zmrdPfE19}7hm8iPT$*X&R5ts4RqZJOr!O4CXjG=G-Ihcxm51+x?fb+Ftx4f}>mD;a zLXTvr!F+OTffN4FcZn-yt8(i)nNxiJr&_wG_DvS@ABe8_KZalYpVBMa|Aqj9)x5ow z%+P#nG9Ss$iUj~tAW13z)Y07g6m2g3lmrPi@}m54OrZdejgS%v2^&hIh3Ie;XB)>n z5L_!q>hltKQIJ3=A13ybtntT_MQfi)xUU)Cr`GqZmlBB#@MV6Fo!Ez*hb+e&$8C1{ zzn;%Leh7OFF~o2S3En9^mNI5yG%UuNT)5b#myp-c?<9Svem&i;p;!$pZIk9Z;xxEN zcBYx$h70TFJLDP`%ks#u8hbh=;MHP*%&6gH941wB2Z+VrK)Wj*fBAr)$qSV#b72 zqhX^j%iU4$+$Y$;H9f5as zlM9jXmJC^=Qza2$q*lF6Y-VK)l|B+cOiAPpCe-JpVd9Tl%8T*jQu(P~C=&0fgDvDi1_y#$z_bW$d9u;(N^={inoPy>E6lWLKPvY$3ed zTajpTIv_(C+OTUvfYbDBRnQB}nCDcKTS|b8NGIp0T_cTBzMH;<48O&EN290OM4~mc z!pehKUTCf*WxsQHWMu19s0ZG$z#>7FV;^CtAm5nBMwHgq%x(43 zup0Xx$bR7|lvhnVTkqohG0cjGZLv|~QKmt7i3ll#js6?b|Am97ZlzH4TLf;9LGW3; zRvk}TvIXa2qd}&@kpUkkIgFj2s;we0C@XghN|=@zUoJ-7R8N+jGW_W!G50c`R9s>( z3SQl*iBj6q*;a&psK>a-~lBRie!FLywfNoJWA=9YIbfDPIOi4@pKfW^T0#*|7AFa#~vCOW$4uV zPb|iVr$<^+Wr-88oaax!=R=GMFBZ(dSP{o#zB}O-b^(G+RC`;I$BGA`;l6(?EW3Y?!TC&BooCft97j7LjEt9Sk_W6?hzzuh2?#{Zu zJs`~gCPHn#6Z7-P}DGi)$;)YJZHH2d{_lH?lz0%7FM=Ca};cADb+0&d|NwJ7x5v}5R@Yh)~twE5P? zJ`_B0EZ*FUJ;kpxE2(u7Sz@}4rjkftiWiG4}UA*A6e-q=uH@UF{W zPh7eZYhkHHEs-kkK*S|C>pV($(qBKwdzFb9?X(Z3%)bBI(c{+gQ*`8a;5uR^D~NA`W6qrZswPHcEi~NNy&h~A zU1%kEV5fA=9T+m>2l%9cMFA=d|5lk6aZx0-B%E(DoqJ`}x6STJ8oleZ);(@I{nrmI z_E{L&0gE;1xH=4 z^9gS8>IW=8$>~at-+QiXU1<|{d=}_9Qr@MEGip2`ntB76=&#r#cGWkyH5==zcG!_4 zy9Y%IGAS{AzJg~y{68}k#Cd4&n*!483qClsHUfBT`yNdPAe+^Vw7Y>`O&j?-x+ zg_3EL{gn%VsX}Z8lz<4oy$E^1{88a5> z2iN3DtrB;r#xp8qYrZMxD1CutYeutz!PAe%j>ZIpuAnz*XWDYA?%o1d4UEhuIop|a zD=y>@3$QLV@x`7Unrx^hxE^3?nn>uQ{hl(3aOuPhQc%2q#)Vk|z_e0oSfk5Wml#?{ z_{(kxv|_%#Vse>K?eywmw}pZ~>rC}ZTalTRfbXw=QeM*|LWZ)$Q~9e8)gNwLSyI|? zZ~KZekg>-ARC!i=*1+7Q9Lb#+x>dt}xV=biI%YQU%2hY#efgK55C3 z%pX2-b;qEFw7O+u$WoSpPq>+J(Ks%i6>4*f_7EI>GHM5oyfvOf1)By}^9GtKU`IzG z*P$+ph&w1xKA=tRQqD~ocwd{MXH%Db)^F7qnH4)2P?pwKQ^0cNU!BA_4GJM2qCQWS zU2CZd`cCg&lW%ozI^#0d=JaNOX;l$R0d`nOvN{g0PP4 z-gC~YScO(5Z((_{V{-g4lWSn+7c!G$1U2e%QG}fbJO?n-gqW?V%`}8(2Zo;@_JM7N z6YS}Z@5JWr8E7l-Z3)Rda-(burQhO@2ffI1bun>G#0y1F8^rCg+7UEsMVW$eehFon z)tMz8VVF-8Cp;Nlk0-AN=E^%#&4Jx25i=-TsH5H7zjVZO$NU(YgF8R$PY|V#BQ$d* zebJo>iS2S2gud^~G+zhC>K}7<^}>GM3xer#1*V$RvIXzp;s3~4gMHiGVxGqovUIVd#jW;dnO+MEXUp|Jr%_!wk`}~Tn=(dpBztdm>c!^xWI$&21usz0n zG;TPOFq29Y>ra};Rdgk*Q|HHIpgJ-@f^4P`Fv#d6M7XLAoq`vWR#YR zJ#uXE-FkM^-OIqU2!pcfw9sjtC!5d_mz&mWhRGL@8q-p*^Y*t<;#CzaO-gZv50-vP zK{9XNGF)@irnX|YTrM5n+E41*Z$uADAy^jyVieocuSZ7j#-VE+fhHSq?r#On@JL_= zu2-lvw_GKkMfb<0lH}utw}-rBo{d89XTe*^DWjR%@Y&9wM^fuN zL#vvPI^w>^)oHJOZP7%>aU{ z#@59+)g;J9K`T{m`clP37ms>x87iUxRxu4o%G6EO13km{Ao_HjzE2a2w`XaXmT)X_>@xhhINSKacY_aB!sy(D7RN;TsQi~K-g|q%wkBa%X<#|3qDr{He3uuN) zu4J9#Sh{K1OrN#=WMNr;ou)>`BTSA~*(;wGbGB>BB|xtxC)O#Dh(zEq9g-}9D`gj8mz!qzCbFzQCxCS$e&$@!#$+|+tNmqnkogCM^`bo$9W$NUb zJm^&1;4G~flIvB2QM*mT)bvx3m2(Yk7wfF(8!gY1eKJ9zwf`%~PSgm3!Cn|&#K0&eYIp{LvAyOVem^$@+Bi{G zA856BR3eT(Zhpxjq8#tw;nOV;_hL7G2jP1a=<)N=Mf;-3UkFq6%{Cr%~8uzur8^cU9=^l4G~5YPDOrCV^T6oIHF*7&)paz z#kcR^=Sr|=WcU+Q$~M^Xo#I>n=RvOu!(Z;gnX!sk0%@$EHl=nWI?P%DkY=<_kGw*5 zG*(6>oCEr|H#NSVMeS{w=4w+*O(%7Ql6@t)M^RDlzbvc6UW!a+{w1&tLHeVn0|H~d;rKZZqCBo`ESAZQ$va(V+@~FNuQ^XT zdwSl%dvW=cW=9wl>Dw17FF^Ju;XQ3UE5(C_`p`pl&Ftk#Q6MAT%nzB9F`wE`^_Nl)zOj7j{Hn5gKM zaR94(4JpTndxrEKLn?>4#gvFddRGz9s9gPH$uYghlPs`2%QVq%FCk8`(gGVIWS?6u zm5e*gqXR#S&lLB!lPXwR9p44|5{qZu8>s^6fR#4(vz-WpF? zH04CEUu5K5_?TWMbqPLzJLFQYSTY#zzwoJbgss$G20%AFl2;O;$}886+vP!svVa!f zlW!N;kCsNBX=g;tM@j=H2C5r1Ky3GULT{UJymHjy-W-5fC?_x#?Z=W$x`eRZtdk;0 zLZfYTkc)+tDD=I{0s}n;ci1Ea@rEG}sQ<0&YDm!N;K`9HoyU?i@fv6tA(5{qDs8!Z za!KtGRv>nYkx?!Ox2PtUHsr<*deLXPBNBm1k>$ztS;#o#$=ER;Zbj57LVu__KALscQS@V_8>3l!SF4oMe$!)$U5 zR<-86b4Zyuoe8||fu6UY7)TyrQNUl(89f|saQl3s<}>I2ESl+)4F1Nlk=X{ZHJJ3p zQ`K_&OWV#Ef$?SZDXP-B)~~F^7-95%)+T$4a)0TYYq6h9e}^pubHXyb#eXwsbB-XR6g02Y=1Ee+N=} zjaMC%W8p@q56LYD!AE{Z%J=mT*0aa!*>n87UeceOY19FUR6jRI{9t{@7Coh}3T}kP zm9=T^;&><fUJ4{H0 zO{ER06Y~3I&`&&C;0NhX2u1V<*c@?@=pg|%D4m1ZK;c|)NwcyVMzgQkrtP;rIpK1% zMRWCX%ksag((;n##oy!`-)qlCas_^$p2_YTx|1BwlpoF$-kgsep;*K@Sm#yZp~Y5S z#LNzlyNYC&LcC2wF`9dZr;XE{{oM6)1Xj7~jk-CTD8{4akj%_0$c0&K<~4kn7TM%_ zLiDAy_IBwv7s^?5_>j7M-)JFs5fjQf!4L*(kt=f+O!z%eR~MCT<^Ty>mg88k!g_t9 zBtTs{d+2DvA?)%~WLwp8P~jXlEORtdCCY)4nkj9Z%=fU2)Et~xOD-xbSie@Mm1bJ= zuT1bJgH*hUb#`*coroICI%n}per&DF*thJn;COMn$R1}EyT+-(r8d1v{&_1gBf3g| zkB_MJ=P4ZF-folMZ4x{PuBnEUsN3rn5E)kj>rQ{WtF0B#g{QBeqNQM4hnu)ENa|TGt0h zrf?Fc?un~Vnu-YwW>@J@CKCC!CMHwV_L9~lv966YXDwMj^~saOEUQFXQp;(nGcAQkS@oIZdN9ny*1VT7rB!7pA&GG9@?vBYVz=mm%{oXUtf*SQ zTr194Rr4uVuVutc#jXOsFdKIdid+dGnH;fiVd>! zPZ&Vo^|*bwKr2nu%OvZ5e#$8mu^sPPMU~Y)n!z`;^hweBvdc41DBdcpLOxsNsM( z9dNJFf>744G<+a<{rCwH5$qfx1Qo$2Mj1ZphEu2#sI7hG{xn}taB-NYTyqb}vKNRa zvg*BR_*%hrsaWpMZ)GJ;neoz-f2*tks&E|Hu>fuQudILkAqHWJqLB#4CUnu#BkbH{Xdw1A%!yX<;`wxz&rOBi2fx4XqFZO9Q6eqri^x?+)sag0(&yYo7lZP=gm$=O#a&2 zBLO1f@Ftl}74;u%qltze3og|Z?_UR!6v^G!Br=ZXEh4!BE*b^DvyY2o&zS8iXUL$P zk*f8dQk@11eu!42dRkB>QeSa~`d9=>2Bh=d-NezijjM#^KN1{SJUK8Dpx3le+yyl{ z@~f;6f`#K9DO{%T?MPZ!WQq&Bv<2w3E~otFKzU=t$!Fmtb~7u@(}Xlsp-JjDGKHJV zhQ8wQaESYE7b`jrVWk5h%;}IHCjZdRMn<~V4F$%r`g(5{xkDlZYlIHFKPl7Us*G9$GHSfX;-*s z2`CYqS}RcRh6PcWW0U2FxEGibq#o$6RK-20+SHT5y(Cq$QcfnaM!TTPEqNu`WvNHu zuF|BaEU-p9t4_`GFngmV7?`2W92?Q{fwL`EqXxGx^+HZLVq&aJRH9c`Rn}@Nt97>N zO8V7qvZy&ZWgWkH@u=Ivv=V=1DyV+3W|F%sMGwJjRS}m5>vs8J0CZ{Q8f_UOaCy<8 zTDct2>Fsq!>}O6FqX6`3_li?0P>(Zd+Rfclbh{>9oBP-$_xRySE^Ec@DHr;gC4%YN z4?nA%E0G{_i(QHw4gK)~44}&WtJG7Ka59uCO>POtiS4ni z4JmhYzn(Bxrnoj6(*x04d(C=$nvbK&=@U1pe|zjqR%ftF0SMo^9RJ8^JPlePDP|rs z8(YYuQYxTW*+~4hWf#J4Ag|ygw}dv4Ic^%#%JSRP(KW_=aNxED@nNRRQB&2?p$+q9 z&MkI_@P!!{WH<*h{N)_nM;W164st0lmhQGG30i`A}`{2r=H@G80Z27o}jbg)`jF`Nt(#`hI2lqxuxMOF* z3rf#odn^dJgq%P=rF**9ho#S0S$D&@T3~jD##2Ag=8T!#@~VqPV)1%2yr-lwkx#Onf(Btxcza;6f(2+1c&x7k#%GG ztXJZzAwbL1%6T;R*<8Y!lcw4?W#{TD|_Z8k54uUO!sf1O+Ug;?HkZGMB-Cxvp*X{1vko70(Xb-$?*da zWZ_^62B?dEg#0C9#2t-b`jahtknzc%sn8-s*;cHI^%E=DX?1K{5SVLO9aDSr^xtp1gV`QD3*k$s3j)V!`_mp>P92pFG+-HWHmXfQ2k|Mq1{x;?_K2#;=e$4}0 zWB9sAClurOQcs51nKg%+omjz3=-gM%bx>*JQgE*d-c9F~?_(PS0s_62&_3te_R*6V z7OVnjSlY2m6uKh_r}r+B*S_i0%NB9im+HfY?h3f~Ba-DcHvq zd6{II(TJIs$w8kLL;dTN)sn*NUjDhgo^}qM!zgK zD2ZriV<%!7wgyG=lDRaeniivixJlJ4S*4KW<&?J-1x!Z-wvdNEM43tWCpD&)EONNu zHJ-u$JXO(5+*0qV@YX{h+S`yIbLm!stsw(@EaP-m%16>Rmx-aWDmPW221^n5)LmHa ze}BX7YSvRNGdGZ>aphGsRmgS;R5|XZgMQHoCW1w4f+1fwFntL{NwWc#Xc9phDE`g6z2qySnPO*grMeXp z(-rQOPLD7a4UH$Mt5h-r#P3BWWtX|R448RKOE+r@G>3#!Iyesuwf=)1obr1+`c{ur z-2h8=Wcz3xJ8o=RC(3*K6meqd?5_;X`3*NW7$l~At5Z#fj&>N1 zs#@J2Ax>jT^*Yh(^dMP6uIn6beuRwFPga4b-wj1%AurP!X+M!#m!a2h@u|-$Mn-T= zH#^bU7KZ9bdA{jE{C4TneQ|Kgd4~k(5NIjt&sD|c50~23tS$b;dI#5u795fuSM518=KRW+C-bHyl%I)1)j~VKQFs` ze?w$F@&cdpJ$s{Eo#eH}@gCRvc|AhuPYH?c-2#J4DYUrG&fqlKA4Ke%OTFN(O;G>S`!f6wsaKp&>ItDbpdc|M)HMP}SL^xN|zq z5sWy!slM?IbCfMv>!#F}c|0fhEs4}Q9Vgzc=pE0p!0Td)Q@(f3Ejju*kVm$wLRSEP zw;aT&k;klg+29;Rw_p!D*Y}_sY-Y}DT!C6N?;TRybbT0Y$7I1ul#QOG=BQCy=p~e( z3H>!uY}k1$T(IwT(F*q|9IS3|5BvUO3iG!d^LGsQx2(gb4)b>o_qVRYr#JI=KKD1# zuu{My76d=6DnZD@HztM$sLeek>^EaY(Fjo!g*h*;1nnb=qrnx!x$diqQ0P%kkJPp) zUdW(BC_zaqPF{y z*?pbx`&SE7`&P`LGU|s&G7c!@jaq2 z7G-@hG`)2>Jf~@94u!P)nli~{eWHG!9Kw%9KR`9!gCAd=oO9H+#lMTU;%{YA&M;3f z&o*YhzxV3ghZR|E2U>Y09(0i#mE97u7m>Ei>A&_61-l|4e1k;!B6z(2!u%w%dm_<4 zJL&DBH;3}3`swsvW=_m?EDL|2goFs|)orl{${x_|i13_aojrMq+t1$2<#PYUI|*{e zi7(x=OC*Z&AS3Ouy%YrDcmX?JD`wh^&o$=H`TnL%*b>^J0F^sjDg<&ei})NE%Tvfm zc#pxdsif@{R6&K{b6W2Pq@@k@%}2IW`(kDYc~3>U(Zm6|6Q|#X(y)qg0_Vsh#4{sr z%TxXEj&WTaKs0N%(2opjwMsVqyIW}vOkZZwzY3sK%#yaZx-uLLwNy4i<|6JnH2ajbT$i*NE-%8^ax{#$o;yXq%IA6 zWU`oPSr(UC`gZs0MYEeKwr7U_*V=?OgQF-N`zTXmW+4BsP{BQITn~e+S~t<%wX@;3 zb8H4XJbVz5&q5vcS;avK9vx`j)V;gauO>r;@R#dVq5YlK-J9nxWzV!5E6iS3*ZXex z@(=LaZw`LUlW7kACIlAWu27mP@5z;4>$?1#JkApuyXkE?9(UB#$E++#as^mkOtgpK z6^G5rL#4el%X6Z9aQF^f%@5$OnnoEc)6T^TQLJ+Ja@xudin6uzr^=DFFM{Y4t|A)f z+No|UiZ;K@5T>YnqjEK`^+kM9B4LkxC@Gn!re`>q9kcTV&HC!P4+p+;8Lv)qaiq^7 zsOf1^;pnf6`Ho^Aq&lar^klc(p_u;J(qeicg7+YS_k@Qy{*DgzOtDWZalo0{XFlbK z$)8^pbnZ%4y<@Z3y<&K8EQ@!QXO41hhH?*hrIiq}wU6&cDErLOW3{JB)jQyCo9kqE z|C?8j&i{l3M?hZSjvlVwV(tQLKIn@ddjH+V03h_G>U+?#|L)AI@dM%Ubg_Y|I)bGq zG-N@qq4g_9rVu*{H(uZI=ws6#kLBW z+I7YZ3QZbBljw@A%v#)pOQPp!fCn*~SRizo?iR?Iru@bH_7@klBx!P`_bHq{fTreG ziY`>?-we?^8|ot*bG98w&K+S^uix2|uCwJ{{MN@1epep`wh+JYvz-_TN+#ZrI{XQW zwO%DUAX1(&`LjdLVkw+&+v0g7g+0`du)?qeT`4E@J*aeQ@8Pm&2&f>A2aNri}gk zTK++Ky`$e9;Raa2$uzJof^vi?M=l~e2V@cI*>+}m*ACJ)IbW~sH`_Ni3DE{pm7CZ% zYlmEiSEAun=!TphSU97H%JS8mXTwpLG4bfm2JL_h+$i~e|AK!-!o4xd7|iVt;wx=u z_^|k9xch2At zR?@bPb1~9ho9Dw;qs5A881uHs{uChJkyQA5FK?T6W5;1nwdtC0KMz}6F8EYpvBVyI zlR>(}O1JaY#6k6`_h7rZ@5OZY!;#7QJ-2PotMB|eFYcS6RiK!ZfaLeDRC0-6*GD-D`7bL8fOJe57JbdU1U+%gT zG70}peQijey#{Og1D=q%&Y|HCOgjnbH#NF^5y#>j#Rl`A;HpO<7wfdyYZ zVVs=2P5NYk(z(5(-&nELn+)a?S-p)ZF<9q%;oo(L0fc4}6sEDa->S||8i7W;+J};+ z%rXJ&%St^4{Om~xNHcoh;ae0TOka+dRTca1i8Pc&dfe(S@J4=0H ziaAJUrYS`@zXOKjoNl?AxU7!2|*)?^^Erxek1KiS~fuI`sOVEZ zOz#d$5!-(2Uqvgm&~kb6oaU71`g|$5;V8hnI>pF+J+|)PzMcY)=GvOnQLDvU*4Tih zmE~1kp6yLb-=SdeHFY( z9FTq$1?_0LEFFkLFa&bwq>+eThZpMTW~K4d#ws(4J}y6ybu)M5M0W6+^v)NBwc>w4 zy({fggVSEv?cnY?36CRr+D0dEX9FsU2b%=_JY1dk zFuHc_SWNM}XJ!+%z>g;wU6G_{9GsbbWj{e!;McJIPDK`)Q)S*cnhCO@p3yTFE3E(X zel{u=qWZYVatv4ziSQvbv+*4or@$kOU_mcjfF`PJ6Rs4E3h-APOb|-1K*d?2r_c^9 z>NT&)Jc3!A;7 zO9Vecernioc5w3Uvv$62iP&gEY447dso09-x)HmiI210FLh{7Bk`T<+&9gyT8U}U- z$m#@yTNC>*^aSv^V}@S|GcDWx2Mjy_UA#yA&nAEH-!k_O=FDUyjg^OVc~ zRHhPwy@Nr&fSP6_G7lv&gxI#Ml)oVeyysj$f|!@;XXobb)_TV5d0wt%Gr-reC>lFo zvOH&8|2||lX7>DiUCI4ozmxZm-E-(XCe09ilDcj}7TLDI>h$Vs$*}yi&uqm70}8pj zX2z=ATUGTI$$$msMD5q-?{BiXy7;RO7} z_59`VXaN@bb*|G8rzh{arHl4noPv-^DlpK3`m3gZ7c9CfEIll!1<4`=+?)pMgSXO)S>_}m{Nh+ZGknSqe#&O96v33)**Il78@#m&7o~h5kEV=1RHJ$Rbcmi8HQ!W6sQGS#{zg-RNIw zf&WG$VOL}9#>2aTLP1T34RYhV^;hzjeL;Vf!fT6jCF(4Jb1zLJyRyI1k)Z*E)=dTG(Glmv$H!TP6FNL76W{3)rz?ebxpMsrRF5Z%csoTCMvWb%ou3+dUrzLV zcb(kgABF(a5r4oPBiTfmXlvyWd2BNpE({CCXwrnnr?*tfu`P<%Q`BMiQ%p@M$Zt@F<~-*cN9>N&#8d_);a#=erNa_E0{?2GljAV{EBf4yB#3|lGC&0&*= zKKFgT`u<0&qU!;@rvIl<`}`j@Cq(~O1NviRX=CeZWnye*V*TIggKAf5s3xdC{~Thg zgy_PcEdYQPdTI^qxd_N0D7rkqH2L*9?%m#o#_Q<<^|e;6QUvcZ*^|>yz9e^#z8KYl zQjCU|hF1Pk`fS;rlXL@(5Dhu^n1@ZzllGUluWQGf?4xP^T>4+DfiONvRI6!nnlf0l zjKx~*CC`J(>pYqBi74+)IW3>JROU3>vw)K7s&p=56|iP)h$m)u-t5_r`voHpRsZ?I zyo_g&ZgR`xg|Ymqcr2z8XE4juvjNTJ+0$x5h7=Thl~QO(_YhttEN8+K7+3ba$yX zy!2L^d2)7&c%gOmh~4OQkt7>fPNWBAYgRxuC%V;1C zV|a~GNfBc8p>CH8pmlRG*LJbJk7>~S)WMH!5!6~9f+EedS4v2A#b4B_Yx6*8)YR!g zMWz6n+CPyej}}-I?9C`0OF7cmz}e*ayHX*HKNnOH|# zK_(`+)3gjK?9VJWwcNU$oL<1#I|igI;i~aO{>|yNYA~s!oPDY{x`Y>xn zypzr8$t~cbr}x+0A=+nZlP2Ng_rd*zcs@}LeiY4E)ng2qT&A?yS2a`5C)Lv1*i8)` zYCB#I~?fX{CbxsBb4>1Qp0V*jPVdoofBk_VQ?ir(}qO0k(-F1?xL_Uv=>OC_o(8+VocNjhqHGKvMo@S2HQ4H+qP}n zwr$(CZQHhS+V0b~ZTFeJcoE;+nfoGUe(s1Jv45<+svaAzc*1kv{&iara}Njv04#yV?O&rU z(rzQ$j=Xv0G{}R#<_)|-#C3wG38hA+=XU=_?BL39D1hM@#cj$^9Pf%y<1;0DnP|s> zm19&ZPj}!+jzrTJQi}BlOXpT^G*x_wZuwZ8S)HWhmtq>tZ`j7ge2Y!B>qphcw9OBXRt?KJE`TsM+ph2)24Wj>gp zk4OlzeX_a>{C)Zr-)GGyi0*q2vEzMo|Apoqz_7yM#P>fCyH3u?2fWligG*3kYg?rs?DYvSrXYS{?To==SC<|wK6 z5Q?{y<4yx^@0jgpKfyPV(j7AR;H>qbp1X`2yRaWg$By{7oA1NlU5K|Pa-OD;i=3k@ zr{ca87uHF$3~4!p0Y7+M$UGQ9{)nPKB_YEO8>|~is(Lk3xyu z=Jy971{A4&6~{$@pkweTe;m{7x?o>q>Ec|(aKo7t#J13BW!iFC*D>onD`mQ>tcqQ< z_}F>@0!ub!yxDZS{zuYu&q?;-hhHu)usvoTIXQBptdPpjPmg|KCRhFLe z?yuYFbGE0{Xj|Df7}*(2390-~?{#UdE1=rZQUyRaHCB^y`++J0tO-y`@P$%Dt@J$R zdq^KfBM4mbd>+jBHS3ed`Iv2Ltua6|>cMb=6L z^-4mhl^r+fZYDBRdDGP%S7mC&7DCyuzigmfA(v9G!gCE-yl-u%+H0B0K`Uh?aQ-Gb(VmtLLM(x4ww-!iW@Gk7R{CaS-7DeXL}mH2Wt7Q{gt2e~6SiX=+iU zNsUb@1j8rRWiysDL!>N}RzmU$J}ith5IAAJ9;k6m1!~R?y+fbWC&`w;y+o@nG~C$< zwCf%9v8h|?D(E){lNXgyacPXlkg>%R0c9N@sa>huO6oBBg8lqxIA{bS8oPQVB2%eL z6oK9#rfYbdWjk>X&)s%{u=%Z`^Z@#7D+(cRlYU8Kn>1<~&WajKHMBPZ0r4LUV$mtgAJSwIw zzT6=YG%=4|Jt8ppTPA;J02m)N)&atc(__3)eQXKztM228n!czoOOb7 zB?}8$v%*spjYvM1#1|sU&jtgDb1D+x!kI@WSK(04_3Qg
Iq8vKvZHL-gFVSg{_$ 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 diff --git a/SendFile.jar b/SendFile.jar deleted file mode 100644 index 14ef33226046ea02921fd61d0e84b20744940c3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163022 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ʁSn;Xz$U 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 G>ts&x`JZa(qS`lE$bTTZ;{OHm5@^Y|g`HN+6Z zEhKoS^jON6iP5kaYjWXYn_fa*L%);so%;23yM|&lu(VB@?}*dj9@&{@dK)gRo9~co zSS-sU!)om5lz>-@1u~y$J%EN5VqnHvS#fU(W zb(X5OX<*01kXFP0wgC@iRhEVXZKyp*n z1DDg>DRdk*1P~N!4zWNhF9W*^pgvF0zI2a&JYV$?1R$WoW~$ z2?0*ivsFPaFk_xmQEn*#G9sOvqjrrnO8IX37Bc)6^Bs+zY7>dp&<boa8WedaAaHz@V($Ehu4HW_-CAbyGcAcFORlm&Dx5d{S|V!6iI!M2zfovcKE`T_%}jT9m(=T^mW)$gyv4VE1cOj3@ahcJXq` z25lqR+K%lo+~t5-`rw>fTztBvS#!0Ye&gv|mj9RG7#@3QV3eU#??15^AD$j*NtGo| zz;d2H{hkjoCcIcM|6)ZPkNNI|Ti68%GEwbqMII|2gogY6vAFy=@gBwuTX{VM1ZjS> z+iEWnu4!ADRbhLk({?&bVZKwW(sgUZ?FuYUKp_ow$&hM1{aKkUS^;ivAvpfPK~;>f ztn*~Xe5A-LJdeRH&TGjQ({dWrZ(O)_)U-^xQrPE9@&h;Aow+;f{`P<{|C!1Xj-n2=JWY>hob0+_>8;mRnfa`pi+Vt))~K9U(_=t-W5h9y7+L zwm3sO8;J~w#u|RCaB-dNc-3c`g*Yv#OV*;$bJLEYhpv&aK+@)08~af3#JT*SeRBm{ z+mKs#(p~?cc1IEzK}!=h4as}T_(Gbh_$KxxHHVOfuXtladBM9be?4*OO00#Y7PUmG zyaN%J+^q8`;Yok}An#QsX0+2jm@@nRZ%2)RJ(%$#m|OQQtPZCu#Jq(^~hq>GWSewAg21WCui!I_h+3 z4U=Du%3giIIloI1>9$F|TJ08zQ!C#)mRiMi@y;h&!FrDFD-;}cz0N1N#j78%{3NF< zIezcCvUR0R-0@kU<4AdzGR~;+glOswV4}ZbkJwe;;MQ!cui9Zpj_e*3DafS6^!W;& z`SAbDP!Q*#!EXvkvoHAI(Ao&#vF&>_9e`|BH`49~dXWo758}u~gW4jE5DYVYV+i~B zn9Q7UgY7I}2|fEyN#+~C6rowD$HW#P)aE(Gi$`MorIC)+ygE*&l@v;*P4-tV0HzAD z6;J{q{PrT`1@mV)7#0-xd=s!aNWW71MVyX0Ku{dxrQ{bdsbP&SV_jls9pNv#A<&BX`ijYA zLbcPYi`^Cq{;V_AD{Vz)QUboe{z-XFj|dsc5>Mr?K2(3Wab-zq!;#xhaUXt1nD`?P z&$x+Y*mfrYS}u-in_KWIAsBDkIJ&}6ThjGHDo7O+JFs!c5&EPhM>2o-$kiQ#8q(^P zjUh`}20r0t#zo_}cvh&*E!snH^vS3lIP%tb4i#(~T+JJ3s(>9Gg^|EtGzXKOXcV&(+1mH4!fqJ#7%T$7)B=tQBPn#`z_bWmadFc!Xg-QJnB( zbUmKD8kj5ZNHqs`t3=G8Y@v>JbN|v2(;f3;Xb$fDus=bRK911LmGnh-CM34YVG#Ph zFVlP-7^{EG+0_gCc`pd2%N3YvQp*;+gNOekXASmkcZ+!*Q^?Z&E;eU}X>xX!ix8_f z4Zb3l*DD43{aZJj9%b~m`Y1(Uu5I8^+o0|bHO?ZL(|&W7Ql+)E?KZ)-3qsYkiMi9Y7cL6z=W;KmofQg8o(Cm zsQK@WPS+N+{e61#`JZ%PU9m*0Gt{qNhsgia{PX`{-2PXH^#A$qrlO^UVutC%2SuZS zf#7F&mxNzMDz8{pZEl4GWO)f~4h+4{CDqVxu`1)rj_=WQlKu_y0nydm0$w`Z^CIrWv^_9dffn&=e6(YS$$`u%k(KnEUg295<+{fJP+a;%cyl7q6Y^_%NT*AeSP zNp}`;ZZ4?E|74DQ?-@HxD78}!)+(fiNapf_sjQFyMDYlW>NNuht{Phx<5ZI%8wIUY zx#>$47hOE+y=AC~0$9Z~d^hrR9{-^9AhdN*kh$#L^HeyZIZ zRM_}to|5{Es047hB59rD!Qz~>h5?#}4OFDpG;!%3Zln_l9EiJgtpWAJuyO73gU1I~ zA|qishOxz(JF51OmQaQNRZA^WR29zpUp*@3->*`HXaKq3->$8<=t2(FY}fL(5y;hV^^{+s~Tjg$-72Az~ksR=c(GE3ZL3I#28 zTMSMXg{)mnMXPf0l*E}9IA3q@x?kCl+6Ya8L&p-!nL966Oue=_T1|HSxWYi?9{X@f zQrADrMb7mwN=RPd4e5!4r$6foawqEw6(?O0dUbMK^XexZ^OvcUYx1B|af7q8W=O7A z4My!Y2~*QgK~~N+v|X&TqHnZ3Pxi?Kh2EBE8w3Rx5SL%NfGf3z`(_L%XOJ8Ygf>rw zZtH$2Hw}%q6u#n@{6!`YMHz&+1b**wvD4hEt;Q%d0{vUQXTJXYwP*Ges%H}L%28!T z?ICkC3LN}Sv}dAwag>)|)dYKCd=Ueql&Iku1jhE7d-(m_3~1v-S$&|@;!%k>`ndTe zhlp~#gNxTDlPp>1=LTv1oHbdORZz>>gUJBED-WG;i4o5X^+1mU{n3MQ@;f|9f_7Cz zWI5)69R|q#X86R5fl9spGvDxcXPE2$xlocv>t zdKR^}Wtyu^Ej69g6-xG%Fnuw2k*t@Q<@!N zP^52PsKkKb%!leGx(vqxBMLb!S(h(`TcVMpueF7qQb9Bgb1rJ{090Ir=tFj*ZKZR_ zDzE8iODN_n$!zhCFks)zlSjbjC#fI{>8}pt>oWxSTpnNwCgt8+;C!`$8sC?XYLzZK_q=jKu zX|*=!0P~h|+r}Vv!=9mb3n^F?nP7}L!30;4L5WHAs{P~%Ai+g(%MZ*pa4W#+jH3*h z`GLBjs7A(3{DaV__=-F-N4OLYwDZebk$ZpT66sw(45xl}UlFpnZMoxF$# zFbCcB=2VyJR9a0PP6ZKj+n_yX+A@G@(vD_y7^{ARY7)m}VtH#kWzm!qy?&9AbKzrp znbalt0Pc`Wy<*8=y#K-T@JL=sgetFGH*S{)A<6<;d{4ezU_V+Kd8VBa zF&`-noEWHX)Bv&F=Lx-S!tu&ci+ghbVxgSCRJ0#UHt7<=cC${3APJ4O(LpX2R-(}N zE(;9w7~El#6vP{bJfQx!uB#zIqk|_$s&pPp(!^_^VT44!o~X3t^2sH&M_7T_DMm)Q z9NeOsT-uNuJLp}DJpHu6=0i?0f)*YHeJj%PP0~Gdi(EpZ8-ddbOJ1Cvod%4KHWZ$& zyE^KwvXFQZ`Qd1~%>Io4UBs-tXq#fmbf<*bF0>hy*L$1=?bkn<$Awg@?rhmGv7 zRws**GZusAsIgE21jDh^bp+t!Ls`_~MCE8zKgp*|$H z90VWv87be_KUmKmuV>Hk^Lj~ta;8xSBvSp{9Pxwo9b5F2zACs88duh)rJL9%DE17m zz`iF&uKS*m9`pU{KMn3feIMV?{y~SN5dTxR_&=!P|J^PAZ|pE36*iSNs7}c5mq9=A zXn`N3KOq#+A7FFDMWTlU*r0R{W&?$D!6nVgY8cJFW}CL(`s9Sm%@)no%Pq_Qu1d>G zniqeQZ+x#k8_5;;eR?LlZ|F{PJX3x+Pk3`ac7$RP=U|;ziH8j}}9(%Rdl-&`nX z(cwet@_nO)+(k?%>jXm>tVOQOSuo-EKwVu_x|stcY*~(D!3yj3jgkO$>FlAS1&6T9 zPmyg^%Rz;6*s#peOqD1HN@}LGaWdb-GE#GJVlBC-uweaKomQG@&A&3in+#I%Cf3=> z9d{yXEbE-bEBUdtE@R)a&w}H{?IL@eRqPt42AA6OD*5NF#Ej@F{XIUS)}N!739LK)?XI>~Xwwnip4oE^=EpqSOZeS@?zcc32XFH{a+#rT zzCg?`4r;WK4!tptRcqUL^-Dc+H?OziACA~A(GzvT>QiSFd}&=D9GSvNoVq8jLTM@{ zFqmDXLzzhA+nSh6QQJ#elf=3<(wwzq{nRH<60@ulX-O@orPAEhVDm(6*FuRK@D*fe z`B{DCLN~_$WDZqjA>^r)h*yq~LzSud+2*XY5Ps#tjW4wz-Oh+>VHGQUDQ{&VV%cVo zGPzzA5CnZ5I7Q@J#T!7&+|!rh4z=M@#Oumu{wPtVuOc=0ER+*-%2pj5-js6M@Wk(9&XP@U~|--sA-XILWXl&TwA6T#U4Ts@3kZ|VB2X1^Se3u#`&SOZph2cvz@TEfD84l zdX;1~gj=TZMD_!1NJai5!iEU568ebMy_FY`xquAKTa220I7`c{3^TIMjgUs&YEmoA z(?#}0c>lzgU~9rp`O8N~YAKC(C}ylOr=TG!WtV7=CvJyln9e$#Em>wrJ@j&I4t1YU zD+HReY@XT%qktZ*;Z0_qZ1*(L;M{fW9t^VTj^~5RSepCeI!BZMDU)_TWq@;aFR-8~ zDO@AH{1aXMl5eo63;XMP>O)hOhy!B}8=Br41tUYPYHUhGI+DxIngn{g>Dm zxgdXpkAI5+86?$?EO=K@*`;S385G^NmKiru zI(cISUT5B7N!;A{b_%dGA+qY26wNWc_-+D|n2XY zBB=vwOk~w(lIy`R6I=6M#*|i-p@byDwabf{c^21V^z(kT)mbN zGZo9Komk>f)GkLYqMb54thqLR$tCJkP@+A$l6@rM|MDT+oS9GlQZOOL=`^LMnaMG(%l$tb?X z0CJg^f)^Ya`Z-{~dVx^~oXA7ml2q0&*m+Frc`f4k)adN)?n}2EsyB#HF;ShA+Nw!F<{+0vKr=I6G9@!(m$CWp` zxdHFoUm*II2%uS73~ zk?LtdnMi%b8R}yZBpHy-cXty<-!`rimj6g_Wbx#{NPu3`LU9+==*X|KLI@U)ccgHc z!nY%7VUZ~=?9vvX*SehYn*-&I5htI8li1CyG*1)KP=zL`-^dhhE*tua$HO7+yIrj4 zIE0lBgfOQ=ewh42I~y74UN;mN$Lj07UE~gl5Ude8)YqszNF}sO?9gvFMG^&KRfp7I zU&3Zzfu+VplVZ32KSOw%}P0$$Qtc}F1O^BWS6BLg}X|VqO!mm?W{UA z%fsxAmSA9pHgjx5%LmT3SdALozSIjj<%o%~GEs?MT~%4Dt*qABrYq@JyUC*Fq-i&IPtom~bZzcqm)zrrC%LQ@x2Ig_XO;-2Yd`#~a;`*z$Srm$ zay0bE3ow8x_peevH@fr|~psfuxvu%xr8Sk4mY4Vr3)o z+m>Ajzk$4hliU*8MCQ0@NGr>4Q%Bbr^TC1J7Q}~{E=NsOM~61dn>n}G9l{r8T#(@$ z$nckQa35uaW;w{Ez>telgyg3r+E#lD$^5)6v3!`ApsbD(9Q23BC1|C5y%IfH<#!o# zyc_=7!UmL@#O#ABi{9Xl2(jhkCN_!odl1urN)i|w%>;1Y5I z`IPSIULTe|V`be9<7$D~85&RhK$|mWa?7hO7LApl_?t-xg4Da@4A(mq*=kh+m&u+U z%kl)#G$PC+1ozgVl_JF9^x3Y^T4(kHeB$=UDO1SI+7lewzeLuJ>9bymuZ93EPb=rq z+-HxWy9&yEA&&fU;kgAlW7o>#4dYVuwWZdkkvO&xW5e2GZsUHE;I1L@9te|CceJZM z)vWB9mpne%Brx5-i8lQRJGE~>+YpIQtDlcR|(u5!Y9WMK#+xlDHxzG`VsP% zh!J-*g6U7T>_NsSf2KliA@=NLK%&c=sZo$Ck@GU0*rxA6mMpOcI8<4Cq{=N`|}rt_wld^ z8>&h^y6cR?MWn!Lee>Vk`z#R*dz~WV(-EY0lAu@;!X9c_elmQGWQQ&vFO{U24Q;ST|}+ z8|<)So;r@%Uu7tE%Axyk@@zJGurkEk71!JHKU$7^?ssslFs4B_C~_3{j(l%>XueCe z6pd{bKjD9H80Bb+m$%QYKsa(0{kvj*27a1fdF|q%P%?JRjPIAxsgTYyKuanpOogD% zrTAciX?$K$z9;wP><^3^vfYiQavv}VS24FYk5gSe+945SmEUvq_mL>1iL^IM)qj(L zxFdNwy1^7&Y>XGG)Rb8oGc2AWR#{4}3QCIfj{Dn~&-hT4oclEoY>naTBArl-<4Zjm zVrSMIYIb4;FQIc^IoCm@jZ4A3DtI@YSH6#J3Y-? zAe`R2NM8Gh68MMz?R!CQdCuARi z^#^bk%sEt(hl|22utfN&+a|czwtYgg)8eQ-z_9?`91<=P)EWJ<+@K_)osFG{Y1kSR z$xG(aoN8K(3gRYJvt*S*mX}lBRunKD5!gZ={t#s*;h)r)TC&LDg4cKk|MOHuGjU73 ztHN6kfoN|-g3P5`3ATm|?6Hi~St%b$+gv7w%BtK{ff_7D+*5a9x&QqQyQ^7GwanZ= zmd2G=(NrPZB~aniV*onOZ4q@rXbu zXqQ~F2j9o4nN12BSrFb_vo+>vAFmmxYB_|W1fy+e>R*BATP=Ul%%w6)m@0nc%Vgi7 z`VIO;CzuEptqF#F-N5uE6eZ0DSfWV;X`uKw@Ai_fjAn|R#g*z-OiWj}S2{hySTr=A zq^?rQ3=qE;nUr1T<}zUBEiK)wDbO4ePU+x0Fx2`FdT`3`?dV%QQgs6?*^%v|b?msY zX`LwZ!Pv1ed-QLWFa`hI7*fQErL(^>H0L+m++dKH@~uua9Xi@!II3!Oe}p)VDb?#l zuhWBM3AwIwxcLz>Qa@P*qJB3Nk%hcWYoz@|YF&n2zs09Ms~8!C#h)rj-?(nDto8vt-F?Ty32HS<{OG+1oif?#+~1D^LS+ z8+$1zMwrd7Uyo@ge`>!)%N3Ww`rJe?}INtUwH&!+|T zFOGX_2trVBOiMdPoMtZ97bA?2j3)l>f4~na6WGMEte0gSN||D3Q#DBZWe5>;8T3kR zIC`>3Wd~--(3fXuhGJ3XL(NyCBw&%&63|_ECbnMRUL0xiF3$yg9K@Ch{=H3e$pa*N zZ86RSZo1R~V2-NW87~Zu(?Nrzx%;ifIzGhOt;08BTs9bOxRy?pH9cIF|kheQU zH5+qKx8*5mC^G*)n6^UBE8D4|HZO2_e1_|db4g9O)O8m84C1hK?8GxJBcja25yJWr zuV@)Qf0|{PV5>(H(a2jqTfm1~|e5Tm_jR zZb{;cm-=B7b}JbK`lzd+SW!TCnumtW1f@)e$o}KEyhBxIkK)ehG)FMv^rrg8H_TDC zWUZT0Tjuec;I|}F=X9KSx1x7E%L1>9DNgy`Ik)8K=Rh9Wt_ocN{M~X8r$!#L=4FF( z5Z!`3>|Ec2Zm^j-uWlTLD^WIjlA5DNZK0P?f+qCWM6qG#v2ek@ z*F`Jbr*N>k!9DEzk15RGa?IZ`+~2YepE}InIo#j64xir4-}&6%M8iq}k5~}=u&M+h z58s#=9-ub&l(6576-6UNO%&$5yb`pJD2@hK4ClJ9Dng-0IXzO_rg$NP4xt1ku{e1x za+dmhdPyT1&UQIBf2JcHea5e0>|G1Yh+5V5xNCv1zV+d$UCi4c&}M)A%fV?2^>idq z+*Au7iOBXjo`h7LcxQ^=wYkT3wcNUN@JgVcR$}0xW$l6+SYYsK+62Mx%r(Q?cgOdL!dR5`$W2wcaH$Z;$t>b?U@T7|BjG&;%chdHS5O5N zg3oEa8<3VZ)Hfg5QtgYGA>=(3=|&R==uVt|8%o0}#tEDwj}Xs{ye&`l!#l=xaRAY* z*+M@utko*n^zUw^Ih4EWWS=bdsp;UhNJs14`d$Y_>gP+GmQas3$$i|M>`uA$(aX(& z&29NCt$?BIF6S6B)DU%hz6CYlFuC$PbbT?N3}`plr@eZXI4J-_Y+<~%D9S2?5p5}e zC;9k6p(&trE}SP)^}$MDhf#jS3;Gr~;$CpQFY=T}*J`i}UY5K!gW)yXi%mGfINaeC z7gC#u17cGb$oijs29G#^57&`m*r7i6ZKDL^7lAB&guDyi?lO}kW$`A-D5wLGPuSMJ zX#t7)VZ2$aI}POp7%gtHQ)N=%$I#gT6b@rzmz@GZmckSU0v_H;mbe3Z@)SCF;AvB z_?r+|e7izvs=Oyxey!{BZ}K=#XzZr9<#^mtQy;UkB*_(Ec`?x*f>#_iD-V_S&MeP~ z^1pmR#&Skth$;FXAhoGjXNrj`oF6KLm zeUR#$y3&)~a))C2XG@Feg$Uk*1l|)K;`lo{*fYgGt;7LmYM=R(BPM@-RnWOBS@n+1 zV)u&Sy|FCbRh~J@wHeAi;FVTF$ksl-8=>qoM~~H>Dpl`*ziqCQ-TiM~Jv#pr790V2 zfjfG*dW*RWu=$`be(3#o8v}sQm#XhU%l^AFuf`9A$J50Is_F=qp3sm5y@uAW7?y52 zxrSFun@`sY@6h#t2I(VbUwh$aR4psgt9H;oJMgpqlIisBNEh2GWNOzLGbl7^5KW>h zwlZsR6E2CKqX8boY+`}XX}Vh=XPWXC^V?rs(2}IdmENat`T&}mUn#m!rGGO-?`)`# zaLn0uAUSu0S-pN|PrA;Qd+}QzL-<{N7}!Gm!q0YMBq*79L+bD+DAszF=zvIh#^lcq zIg6!mzHN)=kreh&Kf(&b5_F}U(D$IyslA8Gq9Lq?o^{+UqCfJMDCGGBleteqgTsfP z(hlJHz2U#(JW%hg?vBHiT$6n{YNxFIlw*Zj{N8!h+lGy-Mw0!umeb9$&%n-(>dCcq z%IQwLOyq9Q+OkTLIFzH%S;KqJB|4LftA>JW@S!-L86chW3O0VC2TZJ2WbpYrBTUj0 z{3j*mBo#pQUipUBdspeVv=XIk8kh9tqDb8m4_5I51HUSILOBW7MGNH;Vh)jNfL@ETIpc=smd1F*|^~N95tP77%`KKURrX8iR(JGC!#; zLk6^#-nj`zW}Le3VAea+h=$W!>Q9qsAt=me;S9bSosSD_nn zeqiB@9xBUMbDj-HVaCLxI~%kEGH|2h`~3_46$$soC}S|UKZviio#Dgco9PPKc}!}N zj9%eLS8xnRnVq)>=AhqW%0LCEIaiSzE2qw;K{z8@_s3(=+uk{YLs&`MI?lyNdu^T% zTa6YgreVz6BKuQ-d`D8@@4dWj+KnBDJ=Lab!u>pKak=1AiNz9o^i2lo4lCWxTN4M> zr{06@=DsUWm-?q$Dyc}_;*>p_Cf^yL1JMPm{1z(7hNEm<0mNu`axI`#Ccr@`OHkeW zw|dqEz2Zq8zK!6r>Fpxw7*6D(yP~_bu#bzpH;yG83oEl`V&zy8!CI>xwYkK8agd8e zIk^}QM)9UkM;E0636OGOSuSWb>~N)}ynGPyY|6^fXFiZX%UjG#DcbCRDEA2!CFZB?T6I^@MS9@;2#{1xn}k zj(%gsR&O$xPh|Brro>>K>xF;UAqEhdNl=)^-hQh(J81+O?P?!Nnlj4-urtF;3~j2( zGI!|BBI>Ir7%$<vc&O`^rj6`K8lX;jk%~@;eXrik(LACDd zdtk~vF5^{5yzt%G56M~1*Ojkv)Yy%a?<&x}RuuG{i9dZz))hz+#PAAGw4t(&OdlP| zu&$Namy;0W*@>WJjR((7d9svk6iu8f6R8WoJ7!47(gZ#PmhUX}i7DnFotdT-;Q;%Y znJlq|OIH^3_B~$Cp&bh*##x?9f1<>p{U0WG)59_BR~=G2Hny1fWITC%^p28*dpr z)`P-h{aWyS{O=_pn2`Tc9vM@T)jnYV`enfOUt6<({_+2|?d0xlvi}UV|KI1|O6@-r zlZ=e$|Nqm?{@Kp|??XxeYdb3wWg+?h+O0(^Y}hOapk_@qLrn*>!1+5!_zRv3PJ!5# z1FKLAODU^3hz}KB&=`bw;#ieJenW=`41y5!s@;->HMT$z$*s{wsJo?TnJxqhhmrqd5ujL8ZtcfGOWU6ZUfEqvk zBM>*e97nXEM4~H<4F;ldh)L~D^fq^Sne+j2vUmX7{MP}`_ViWoCUHReRTQ+N<+5}j z4#5z}p_4`;dL3SXik-R=V&I#hI&TNSgf%A&->Y^ScvN5BFiyg zMI^$9(9FhnXq*C%FoFfWZ~>aAvQ4;BG%CPfaWFwBy#f_yiJn3`w5Zp-Ci4hpagqxg z!+gH!8;t#%X=N11Aj~~_6GdD!`Z>f zyU*JBx+P+x4W+$1Ql?@nlIuq7lHyRfPzuQt?@B^2TQ|=JX=xbP86c|@5N=KE!_X7J z=Z+bECCs#J`yVjy0Ce#l^*@{Z!GFu#|ERYA?~;W5U)5&!pCJa0|3h7p{$D3$OdK5z z%uIwGZ0!_H?4AF`od2&4u*#0ofBH)M&=yI(#S2O`2d79T>daFv|5KSt2=)#J{Q_#5 zjmSKd#1LZJvQqwrAn=}Z{Rm=Ss-K;kyIboSv*&ramdyZP$D(NLe97{hasB&{-I&?) z^K~Wni~UaCKX%Wd^O!V4^hxTv30Y*@0;|)juO-9s(>}8m7Yr!m?wT2^a&J}DTO6imU$572ZS1n9Q;H%$}s9r{bj}) z!+C;L4FN2Ma?}CwfL$|tT*MS3Eczt4p3RL~Tepq!`5_*ax=P_+z-mbyuUW6VaSJ9n zOzjHy7-E!7sZpkZWOc-b3YtY0 zz56Y@$&O$1kYTru^<8Dwq9TYy^&Ry|FsdvOXvCaJ(c3+k_$0$#A_uCVm5pcW*H5O8xEtPk=QT{5goFIP8L5sYL{ z9q?S0y&$nG;v%V>CPspw9n;j}krTjrT4X|Djvf7jXO#Sy#(YF3p>M7bveCs8C>SAkzy= zhyV>Ss4A$|i5kA-DAmWnh43YCDY0vUqK6N6%oZg&d{mF;qz$0Bi=#}q4_b%VtyyfS z{56NRIgx|kheMJgNwZ{WqqXNO#^Jkr-i4Nl&E=!yd!J(%OD4`Wta(4=l~#@TjLHdI zXPh?g(cguPH{wZUafT$HWV^83fTvi2`g8kh%CsqJ1Xf zkr`)7_0@?CnB=`83SVOFBAYAaN+XLvDJ9Oh_Ki6+n`PCBk94Ddr3L;Qjf7o|u^SKX z1_}i=9X7~~@77<*U-kw4RSK^y&XuUM1kSxQjqJ+)N=JqU5LySV_xM9jgR)bY_C`mX z4<8?A6;9~zpiF$HOPsD0-sQ^mFHk+6EaL4HO&B$Hly-h<=zTfS^WAlFi+>mbOh^0y zcZ_5cWumQ>NAMls&zqc8quAMiO5vcJq@-GuuTDNBl>`WOQ7f-E88c91%6{f}RG37r zH)^^O`UjeNUoPvYKqiK}&KNyIM8|~50NznRK|(WpqK*g<9|qmmFlT+c(O7j=>)XjvQ!q0tVh2bowLpzsC?lfaR zCAp%-pF^hilk*W}C>i@orplrJ*|9Iy`+^{WUj6lUJuz&hKsSd?9{Sw(`Re;0t%|M( z^qT&kLhbW^)SM9gUk&Jwk)@5TtCfkdnThp(rw^)KsiB&n{`_-@trDUOgSG$wTIi`Y zu;(HmgP`d0{L$rD&8yc^t3)I(Ixk?ed%VbYZL-~^2J^Er)3raB>UK(2YOX;&^ zdrr~~G(t4w++!X#Jx|(S-oCCKZ?cc3`E%)itp>vQBvGxV$!W@9(J~fmwU;~(DzEco z&L^V0H|4Z^-cp&0#tR1^X|E9${5zsl4QX(fy{n5@m&3M|+z})l;Bj8rcdTmV;MKz@)thScq?P?=F>eAh%+VIj_ZRW|@DdL6J z)gzWW+R|qgnWPr+3TL>i4>4(dQad9VS@Uz|Vs7pHAXXw42ox3kCG$g6gb`I{;}%gS zQ-un-d2LM74F{xumq9}5fvG&By`&E&+^(vztt0ggxDCc`K`*0$G>qXjMkPgv)rY!W zE`Zj}#a!FP_CBUT^HT>uwnb2Dc?gO$(_Sed)fInHtFFxhp;1$(2NjtDXlnmNo;+G$ zQLs0obS&jaV*_WC=Z`-&QeF&YCO>KBKCpZU@&^31;HK4F+GJuKZ3UT_;7-#rsIWh? z+|+XGc5-?FWA7M{vV^O~6Zto%*Q&w51_-xGY+x|vQ8*ci66nLM74c3srzf|7i=N(J zcZX=7sZE-MkKYIP7vlLuHTY39V^xnaWOA9(W?$7zJ)cxdZ(}z#bg<#|LRyGeXDi!7 z&(vF8rWLSx_7_}=GL#S#LAUQ)E!R027(B!r1O=$1XoQ`Q0LYc_Q|9MUWOPoDJ%+)R z_)HrT*+y<6g1U>s#?W3MiQc1%3yc3B&fYP|wm?}LY}+_(+qP}nwr$(CZQI6ayHDG; z-DmpZMSOE-?u(fDxg&PO{;~F|%F4>hL^ri5Hy8W+r#QFXa1W6ohLN%~0S+G;PURY= z^QB_kD0FMo*sZh~yR8~BB&tw?XqJ*~jC4d<-2u)?U$aa^0Ss)~o3#LsS(t07Yjluy zZ=Ca5w(O}Irt+bB9W@B%rD=KMEoWCuP#RX!q)_Qd^Qd}x2Gf2;Wu|hXB^QxB@J(B$ zCdW18;(S~NgeWiH78jPS{;bpa&)^Bqef!sKLCifM5CE_Q8n=Iqwn)2;Y&-JimD3;( z`kFWJ1`*c@q9&9YnV#GI8?l2c!=V6%V-&Y3Lvg$-LXFRq>}8@I2UdXllSJkt3fv(A5gs`)1^#acO&w7XT;w0}twz9kIfoWTwvLQCh;J|( zb-$1dlel%0S0e>=yS}p?%F7-E_M3BFlCsA2O1k4qx*)_q$BbIL@Do13_Rpb=KxO0qbPgc2e;yjzeJ2bjw^VlTo(e2e?Jb^4+fITLW z$K%=JRoUXB9y^qQ#u>oJ>&fC-+2Y%Ne&Gdd;TY^5&S#qjP}s$vd)mQ#tn*;1Du9mO zai26dLQLdibFk@QF8EJ3aVvF114)C6gtgPK2XWmIeA{x)By}Zu7@1?{D!-(!)t+~NurwB}!y zG@vx1G^%s!Yx zpZx^iL`rwa;DfW)hkEWZZtTK-Bpo~A-)_DSe|I6?n#g&YLN0QSvYd+hQe0Rk%`&9r z5SG6!pX`?23YNnCn)A{~9=LVmMTYd?q96AIM*RT)(Pgg5o%Yavq7=?x|2JhL-hXtN zf2Dhg8W=g-IePpH;rgh`$SeIL2PvZa@GTeu!m!zV847Wv(ws^Xl9=Bggcwky`c)hk z0fLUfqx^A9v+II=k)?}s5yK5*8IhaY~qyukLDdF15C<$B^8G#oq}X6hlS1X`{a5>#1w%DcaAr_b4*Qlo8U z+hAm8FeRk&KfTwbwXT3_M@tm|-PBl3%IycL46r6ZDZv*?5w+6unC~Hd7>yv5VU3eK zO_gWMj=U7kT1^)~0sr==f~v&FixuE7x%1Q%H=5!5RQp;mU>q`R5O zP~}Zmdt8;N6@nPlVL#cUN8i zK6U&H6etEbD=MGn9tw5MYd*3GY6b#(>%JM@#yu&Ur8}g}Ls%!MLA{*{5hGgW5zMH- z-L9UG+TQvi$_pb>Y(0_{_QXMe|M#(yh0^Sw6ikKNSpFeW>ZGYfjV3iVr4S6CSeMOM z&J2;VP+AGeEBLT5(m>#Z`FfznH5I5iJM<2HQlBJS0{0TFy3lZEC(y2U)W@c7sjHyh z986wRM#ZHu9z(_!PXv^8e57`zax1CB=nMAqqv4Q$}gP5-2ahC1G zJv?{Y3Bu;LiqZqclvVfgv{LR%naDQ>`1X>DD~UAR3Q~K+wcIcJ(wT zPE*Ydbr#BwQ8Xg? zToPZ1C_ftvB+jWwfD30Hom_=OJ=d@AuZ4IooXTz}IStWs(_+PX2&*@})kf=*qi5%G z>74^$?{Yf}_-<-D5I$7g)`Td^+d^0OKcJ$S$iGpyrGz!)$W1fkZwj1=fKo=yXb7e% z;6k;_UJY+?Ny%@*@44o@&Z zz{xhW@9@L{$1sTzT?50cEFRcF4HMO1krNH%Mw|D)fP`xSPbP!Nb^-UsrI-Zfm643w zIg#?Y;wS_2?)6+&sk^t2r8{^u%HDY4@UAk)t5Q>&L-Yv;pM>B%k5maBRh^SL`Z9TB zpQu!Mj9Kn1c>-XAnnc$I$7mHmQr6QM9p@Z33DhoVG{ZQ!z+a8TU+oYeediRP0Lv)s zw8dDA^&F!#wQ(U`|D>VJvYNy*>g`y0Ko2=a3;UpehdbR3a2Xtu(D)6g9!8Hj7ejP9 zKoQ#teR^W)Uxki@KCA*`5NJdh!|p{Juz^0p16TEdEtIzhl}aBA-uxc;a3rP4JL2LU zB;h?q@c>LVB9}f$mp*D|{l!Ng#+NXlXKmm?He@`IrP252WF(5FXhdeS@Nw>&)rHpa zD~IF>H>wh@Z{MeO;`fJ{cYjLQrQdLvu)>w1x&MnE>8^sk7&(2&#?>)W`I^q8oeN0- zU!&F;EpKV^UlC1-GhMN-e@+ay2#ZI4Kk4LVKi7W$ol2wlk6JEkVrJm{bJ_A=CWjj} zlvNC0TCS!hXk2z6w6Bkf-ZMIc)BqWyYNlZH`-$$w1M!PK=)e_vM@vW{xXWTuPC zL|3%7%2*AeEm~?S7|B}7d96En%JRL`o#O3=iRXE_siVz(`wvZRzVyEI%zkvw`qX`Y z?V;%bnhzugAO)y&5VUy=N@6!|SvzgwHf$ambP+j>OW;YY2@yTFU$uiV2V@$K)ixiP zE>vt;lGhWb%yjxZTXAei{JGnF&CmG_r93=ZJ*4V1BU74b^t*b47U5DVmOV9V@()ne ziHzMuoKh;&0=A2`*YHfU-Ek&BkXg};y=Fe^O`nUj|VMN_pI1{*(xO$)NI4MPNB-W^RVR zC&$sx*g5qwOZpfL!(6VA%p>1%DOV+%_8k#sx7Gd$GcY7LR3(iOlJYL3s`@4TCWhaF zfQYE%aU?i(0AAGtC^b<=XTd4wZHy8e&(WD&nNt%`pYS7O6`t<-O}%}|A8C_f!@|Ir zzn|iB@Oz3SXJ+YIgS%FO;rImH?M+ab4mL@yAd+F6p_cee&kjQL^?^g4$CXrMJJSq% zhLJgN_dww+cL}( zNbQ%Uq)X0+*nqV*B0<+@{)xq*-Zr30Y4QpKtsI(vA1hW4C3nR*{iV*#=7-GiXm4d@ zE{=~vtGUj_Zc4WK{0@wySQoK{q)2ZRr={G(Bq$3G-f`H_f%uXCjzlhHdSKBOM^%hI z49G|XPv6#zV@r`Z%&o?Xl1`RW_O5+iGL|WC1bl%W%Wo9IR2kA$qS^~T*jCEx8`=>1&Xp+9xoPFx+BrqN-etpR zAa_`zoTAb(b;U1TtW}a64|RP#L-mK@4hoKO&YqE}&rG45!m2>wU^nE`iU%$9gi41s zbNQiWgfO-w2a&S9S1US>?3bd3WY!kr zJ{GC0B!T(bA%oVjyX5gtxNL6DPU2Iwm5F#`u5;+61f#I6>bKh=acJjGWvrJ%1zH$d zwr2nfbhMo1rPRa7jicH^qt&=X#RA*G;_(UU`niR$|WbZI%G5DBqk&e9deYUGu zNib03-slnrG^NsaS2JDCB=O~yghyj4UjblUiUa6W`N1EImIfK_6zE#GZJ6P~s-9p! z>n>~zOO)LtwG2-v57_%R6tS)|npfRl9Wf#aUgdxMu%he?Bo3W|OYdT|%6lqS>h_%& zn0fUMoq#9Sye;byXXg!%iS$`=Pqak!4n%HDog<79i^7N!LO05PMjbIkG>U4Q=s&W5 zWhgaWd_&M=d|8Ze4pPRU!)CpC>Be98nQCDiy`OMbklm%^hH$#k*?M7`EtJ?*irz9y z=X=XU7rWc8d%m_e+6s`!rE0$8eKDS7?iV56w1Ab= zH_@Rs1x|D>sRw!&0TH2sqpg_!W(s;3jq9cFM!qg*tYX!br{!Wt5 zzoZ;XYy{v{CM4gpJ-PeYc{KIZsSkof@a9toTX*F$%OXY1xTVxR z!}X%YeF92}|CvMikqnXgd{TRph@L))dqQg3tcNuOGci7JlH^wk9;=8OPHFjsYrLbZ zP$o~&r^oFw2PPtT$VoC&z)$m`>)|G(qPDo+?xTVbwJf6dRY+LdblQb@zmbe$=HM@f z?Fd&X_!+S&ksq#RRXUJ zK^#SA2-Y0c5bHZqpD@2j&zY(O>lIqycb_uB&d0>XC5r)KmAWUmN|TeU|a1NDt2cIaX~S@z7pVVKeC=DwM=(0WitEhUsu zP?wdlGLNw-s>#&)vSVExWH_-wgBN6hg32Op{0O07pdU$dN3|{q?3Da(>Z{E>)^|+Q z+~XMe#0qlD-09@2@!}7o?Cm3*b4gS1D3I8akW5wa@6Zq4Rc6zRSJ8JkrR+nEEjG>Y z{Km{RMBn-W6?``feY4YSXltgSAr=T$o zPkj=Tz-MaQFtuq8VbgZRtyPEt&cuhxq|ZC8NAYw6uDftEM#W%1KZM~huZ14N+szk^ zS^ZSnGxsm85#jN*+`AQIGVV#RY($KV3~FVpDho_&Q~5_$YGzp^xoE!pV2a ze=u|WB}vj95q+mxmsGa;N-usz_X0P$A}jpD4SDO}H=yn3kT8G%Br@ks{(FO5nI$qg zA(I5{TLk4DlLBzq*Hqc@xJbkD7wjL?=o6n{fZfz`&5f1YE&LMZr22l99dwhYv585)FM$KD!eOKe1=Kn?DOT zhZCnhxn042iGl@G4>t;bWe;~d`}{4gUOGe)1(<$07$C;r=GE%!GAD3Cjgju zupg4N1HCK}x6X$uW8$1L8z85CFQtD6POP$65Cu^WtW%}H#X{FA zQ6Q>r`axK$Z?c&cVex=4K~zaX^Wn}*1gW*m#{mk?e8>{V3ypV5PJWFZMZiq%51&}K zVYv_1h0C)zP-R5VDCf}cetUMn4(2c6<`uEz7Rd$ODhgB1P37pZukWG42Z^5k)>&Sf z^tM-<9ZA9e6T8Al{a&b>wn_eCBqx2(3dx)|fQXk}^Sd0u2*2w!{CR{+9saaa?8fHP zA>M|xbQ(WGBlaZT%(zd9KG@(n7%{r_Fm;X13T(@pym)_Vfvj}i5EDJ>ik~{9nVmvH#<_2^%;Y{GXBPF)C6@*eWQzJirf^0SO4l5}OH$Vi1XLn=5s zdWtF;a+a73x;kBGl!DIcBhHHjnp3Not<37BQWDH{p;j@S16#RtJwscCQlcKMTeLdl zd?Zf!(A8>`s?sUBYQHL4V|w|klB)~Kq9Qx{Hlcd+2~rg-M2vm)M=|6r=7$!qn%A_a~{Y+Op!@abDSMRf*7>;$ckW5FS>YZeVqC* zK)R#T#C?j=8Q3%dnQg8H&D8y?5X)k18n$wViJUT(Y>lR)(7wR-C}@qEl}D4J@t~|z z7E~>=tXZ_={5Er|zzU?9SU+?Z7b)4#t8yQ9w38q?3EO}F-76{K3D)YGbXAdTJ#o#f zxm#mNtBj#_Ev^<<+*Iv;Q~CHyCr*iKOC(>#EXl$y?ZK58MN1%u zO~bdP-J>Gjkbva&IzP}kOZE)*Nh0>~r*4+QZ*%KlT7Ld`Ao(~qXd+A?cs+j>1UzIz zYhv-bg`^8}7s!9$jr`J;76I94t(hHG597=14^Yk_D7Qn5v^=Tq;X`WUM`Oj0q|m@ir+T>|SOqggysi*(6NEALr#X;Li=S0x$krKY0*0LNC~^iOA*v^E zKnLMRPjdg7(5ynZ-OPKb5lY)$AUFqxLORvgz8fU(DhRySEdyPaQN5|!uLWmenv?rq z+O%v(jE5p9`y%7cMRncmK)TrLc8T#^y$;6q0bzohf)Exb@gy4Kl=P#Jf~4$Kfhez# zXDK1oA5a2@ahSfeG6o*M%{{EC`%o6TOXWip0H!J_VZazKCZA8TvPU)ihA|?DF z)HUif1_W=s;;oJn6p${|winbPeDC8QvqSDuPLgUx+5F2cX5Vo(*#`l7WPv71A7; zhsQO~;p!e&BbD_lkNXd)O%m=W@MlrEaydLX08I zq}1%eYJaa9p7~pP-AaNaj3ExD;Xi6};__Y~>agVct61fxInzgB1{MlVs1S#tSCsIl zIK~Zf<6XoAfR-UMLhBB7`xa9Tq?&Q&&;#p_m!0>Aqi#k_r6e^tHEvjZ_6@uAcG4gSJX>ZAV%QUd$+M|M;l5i*&bmS}dO zL!ds~>=IJSo!7c;##f%{^s`ooamIR+D2D4ER5v#9cnzZC4Z=d7qZPEezU{}emq%^q zsP3O@ih3%3@5G<3+429WYyPWasyJI%{|oNeBu>jBE1-=1ZOh3>)zl|H5`v}0~K2p}IBv(iNHBONNJO?txb1^5GRx=^%>0vcX z%Lz29T%qV_3iA0ofd$Z}w$mnTS4;|>6DHt!L~%sd^3ratC9p-M6_hY)xll#7$&%#E z3y;ODO&RS}=hN?{%i35ivYIBJ3{8~PtOCBqF{oD^;r2>yEpKs!r=*6R=3Kns8>3 zc7j=&%|;1JVph`|BBA9*su7}8!75JGj~l9Mk3uP;(hmnE`1_Zr=yg7ma@;(>i01r%@=Q50HdDN)x@$ z+PA47G}Q&b9aZ&ovdrF1uo6*D0A@eb6xwlDj%kMSWl5jo;<=;`hGYrZJ5Co2QiiSU zMj6Ft8rZ!N?!mb1##u9NM0~^7cEXCvAmkBOa!u7Nz!p^mQ_--F3YLdb$63j`C75qe zH;LssU*1&l#~u8;o8BuM)BDoc#4BK?{};0(Ri>HhqCcZ@Wos~P(W9Gh}%{&#SZbxZ>?$1F z6*#XJp~`23lHHK;%lW>4z|ZzlYJk5#FVWSHvgE&)NSyyDk-|ShHVfPTW3=*7l5xTk zLGUT6Q#ov*k!nps4^i{1 zlkFc-PN1w-7EqxiQyhugLz54_*3dv~OdOh#etEvQUVS*O^YinA(gy?ug$qc!YD_Ud zEt!R_N>OLfOx0MVY0_2NMY_E?(>sr-)ZLJ=MtO-&B-yoG%4&{?_AgAElqp(9N}u`N zpJ_nC*i60lUF_ecax#^HDrgMKP0?hk83n|Yuoo`f%ukYfVKM|xHmVZcPq!N_3{8fQ zAYafwStfyM>kcyNWIC;GcY_vlT&i1*iIP;6_Gl?!muc;mLtAC2m{sOfhcA`$?&_rj zksT?lHzHop-sK3ggbHgAeCZuW{MNXsr#=GtdTLkow~i{c zM*{TZOc!j6ZNs$1nz<(&BKr9W*LQb_W7u8UA)sRX&U-!(-btK1y)1CZyrMna&6=|9 zg2qZ`hmHNDi*kDiXe)Eu9KEHnf3yB@OnXZ-N!OeI5B&wn^jWQaXBAL^_^}IqZ`5sq zH8K5kzX+JA9(cC^rq}o#n@abzcQ;y(z`tGMXVQ*qU6hRYM_d;pJiksF zqL&o5D$!*ObL!f%NQ{;bX+M3~xM%URNi;al_BavsuNEo#>jGTCtzum1M56giT#~D4 z?wvl}FCj+_?}Vg>1;ZeCQ~fC*-R3#vtOAj=htX*bGPw<~LX+4*$CC(^9wMN*PQ5Xi zwiqGT-}1Pgu}FQdNM6KG0;S8>0k?vI?C_aEu({Cz^e~`!gV?+iyV>az((K zaI~Si<)E7`b{%&!eO5TdL2DN~f=UJ=w$3lS3RYhn?F{26Vn1ZxT9T=*Rs~UOpRgkz z%w8`Wskp?x^>2#rPT>8Xp4hm~<^q%vSF;m1ClX!4&`-?Ut=j!vw1-6VP!zX#v)dz8 z*2=Kb?h29zZSL~|4nRrwl<`4iM7wu!ZH5Nmd;zzf|B|*iOkAmdlC|rA-<{ZV!5iXi zMl8M%VcnS_Sg}&Lq_*-gh#)$rr(Cl3ra=&jx!#7=79w0qa{ST z0w_F-wpyBMl2#(T!tw&^f?74ZXyW87nJb~`{Nl-alh@%?8(W=QmhNOSD4@tj-T-(L z?q;3MCHeEL85vwmC!0>QIbUxV8}IXG>U^xKTxfpF(iZ9%^QhN>xF8(pF%IplB4i z0Z*hsl|1WV%z{B~>2vQDb}6meu*#@GXCMW=f<+|=7D-o45J%X{+-fJ!UF?;gq)Q(?XM&`_ zOO%s16Fx&GtU5$LQc7w^Kg^n)TJcUz_@2bpjEO84aZDbg0MRs~z%14DDiXK@&MWjqOc2BzdNhDMd;~|1dG0USOeA}- zRwr%@Z@&jo6qbG(2ySxCje=tCqm)=~13}Ssyr}bXmb+*(QkFF%i)%=l#WiT1MoSTA zx7g0VfM#(MTb!L}5lb;*IkSp0#+`yu>=J9-yolnxTyTjt<$X%^=o>dGFJ=_b+%`ZZ zOqv){(p%e{&TN)J4^J{wA3cO4VQ|)~U*dM=M1!lfe)DVz4|*X_zgehx3M`PoZLTym znLao0;)5OM2?gm4rIBB3W4tX!2`sgPIgKur+ovH?aC222S0>U0Vh9 zZ%>8pc9gyExXu=L$9-_sXUlna+dS?4?a~zb>w^ zqaR14m#cmpPDM7aw(NK20G@`S5$R)8(;*0Tpe7D7rc#MlC&rw4u+G$W zHRaqU<!6i}OF zDm6y5lc1{D!CX?<0c&)##eLU>nPv7s+)<+(5(C#rzMq@NI>9{G)m*693Eut6EgujE zC@7^M)&?Og4SvQ4tmBnKGp>8tdAQ1BirY1@riWXW z>QiN)wlyEovl2N(f5%SgCfYzv1YU4uhWRw}=zW^2%>$O^a~F(Z_@1}L3oo3QHWp

5rlpPZ~_YGAh7vIEbo@(2g(hd|XT5t-;FC{1vt3}x97*Gv5p zgm&uVT93&+@hr95(@;!XW34K(Ygj)-S(_M)Q9B%} zB5(Fg@ob0SyI;SP2bqtQH)DOIBg~tAQW$uxBxjBYuR55BvdT(_8imprM@bVVp@@u1 z$D_F1G1ie+8FHmb9;@NO8Tx>bg|Fz5fiFhB2~flCkU7g^V$RM$=-|p2IV^uS&Z!0v zQTJE0ohuf+lnLJOKw+k*TF6DM`Ti)L?fGuJ7*y2d8ksFI(C1@?bb?keX?VsFcaU!P z47krnh*XDuktlPAj!loAFF1kK(Kk)Swm2V+`TRD`;(vDvc$COGc$@MKKj_;nwtdjCj8z3mhnS69J~Um8orHn_UoEbGvFd{1$^f!vP*YdqTI z;NzjF?c@SS;!-F-m8KocrJ*syS=D`9{sIUAdp|irdL>BmhC$Lj z;kT?fLz1g>f6>;+OHX71#K5f6{PBi_aOdlOz~6 zhmaX_K#BnIMmmRHna!V+{|k~5{eGLr2&iBV$2?>BH?q2;d?j}bAKEXb5#%7?^U8x#k}gIN;82J)**(BQ?O8bJWk zi)0=h>Vt}SSy(bfIXPKRkwLMEq$ONAr}%y7>J)J2CA z+{`GLbs!k9gEkC~-r#5=z%?a%A9R%o0Jw3y_Km(dWQV{xebAbu2VyOwAk<~sh?A29 z_axLB4k_`&Eh7*b2Q@s6K6O;alLSH$cM>h2iY|Z(ZI-C<9km#Kj4QqtPC&H_*n&B@ z;qBBbGk+xw{sndb^ICwl8%X0ehIkUrI4HN%9y7nGCjX2p2vQ4h$2j6R#|(d=D}LJj zl*uB%ofbdu6$G& zp6O}Zh|K%8kc7ih!ROHUzZ%2q3QH*mKM7Cj+cS8oN9mG~lvbfvQ)|IMW^Y;RQMI0l5PhaEFt)LtJ_HiQYj(ohq;n z8&Ug{vFqa#?Qt2kBjmF@8YZ`{wFr-A*>tI0bL^96y%D*DmcHo*^`xHoAmhgGmAxgjMlJ^kO z(tNg^aCXenCt6Y3GdMN?p^>1`*nb_qLu(Uti~^zIqtSD`ebW=Q#!7(a8bESS2J?-* z^31+H0oC22X(-b*i0hh0bq}&FR7HL-htIM@ZE#GArrlka_!G{S8f|N zZy)=AL(`7wnJ@#FZiEzeA${Bl-Ql@JpTxDBrfR}^Z%aPuEHS#P+{25!+P4<2nu^%{ zMa0(jg5Zk{wYte3KFqYg()kQ`m)XB&i9Ve5)WS8LUgE`fTVsTm*@ukeF^PPFZm_>v zBwaOj>|^XG|NS+3Xh{0Pm1M=-VJ3aeVG(Vj*>NJe6l|r(oEB6%H@WagtjqJ0Lk(U> zx_je|^f&14i|qJ7&w9e|A>t7)+y8GP=gywei4L#(_Cd}a?+z|r_}`I!mB_#>6f|3< zO_GL9yOBnqHhQ!=CgB+C9kz66rqpHoo-h(!?8p5*H+D1asrYm$J4T_x+&5^nr*0S1 zufIRY798Tc!b~CU=RmUI=lJ%&Bi;X`id39T9ED9xEo@DU|2^R)>c}neqlE4(rq*ad zPX+=}k?+(`ni;kap_}j}l42QxJcmLvI)}+qC@r|ke5zSCCfe`8?}}l_g^gB|qdgiP zcbgq^pFG;w`E7lI)CZ|xff+Qe%Cyx5`w=V}e~>3Q2<3uGy4t7*PwX1-C|Y2L;58GY zY=cmW?;uTC)(F*~E2weOD>yR*3nI!fSPzj@^Np*&OX2u-B+`n?6Sj+iPsfqPm`-lk zu|i~BiQ&8ATx+{BggOM`jBN2o$ittZ3b{IW$c^TfAI|;#f92d6{-2Z1Kg1aSqTY%BEzS7XCuI-&|CxGHHWabM z5JLYp@K+7t*9;R3gbhbT!~hTl0Vaj(vn~KJE8UnZ5XropPqcbuX7+rC79F5}Quc@(FsuD_U$IFOR1l_JYVlNU zo4FpTD{FJOGKuv*9cX*pMJnUArq*?tLF?5znS0S#=d$(y)2)Awb(Gwj&H9KUB+mx5 zmQa{lfQmtCmv`IU8zNbwS=WkomR;09h(o^ir_tvW)_)IsOv*iDpli1iCdM@Pc*~lt z>gh_DQ}r?Fh6=mq_B|g0eNP_b6-0ag7V;Jv{oocF0-}8i5di_kK7@$eAG&>F0Q357j1D0DkY_;j)dL8rgGeyEy$+*q+pA=U@pDB4w6qSUm zi7k`4*b4p2;El&!pIA2ohACGusg-I~DhKV?A~%&y#-@1-)ytzw>9YhD(hw$`2LPD}@ubIZOe;958+6}hOH;+)61PCCQ%XBSNUJfy`ilRf|{ zky&@#y-T6&v|G!#U}z-Wixhi>!E!Z0>A`kF1Hr*!IYI5gWY1GJ8VgY#=j;?`8J@@N zw8zl%wB-25Qq1^fatjGq$pvB(6#h+hOq&Urlo`3 zK#g-3`*~^)oZ+d&ef>e|H|*i*L`k7VVrEt;!Jr3XUvS7o{~(dXeBhX1F7bp%4s`-Z zj&=bg*LW5@!WRsaM-Urb1?>=ae>!iK-CyJc9PxmZTgqQi9o@irX> z&~&vYD$VzRgsDos7bx{Uh1$JeTo+ju&y*$ReQr8@dYyWmt~t!^Px$((0oeT`W8(v_ z-?VM?XC`LWTh9CKJCv)Eq0LIlg_IC-8g%Qypj0g^cc+Gc4vurQoZP@Byz z0*s)YT7gI;dJ1)FG?kvu-u8oa_B12~q-gY-nOLgW$8I>fG$+%lHG8!sW64kLuZX3R zjwBUusUUPXYx(OI5>bjQRy{^JFqG$<+4Uw?W69->?i@hZ?K#Za1VzdMT%F0)^Jdbt z;fz*<0}eSCj;dAA+bBH)&TCf?ntf-#%#(tD~K8}lVk9*HogQX>ld4G$<{ zAH}pMhZ3!5FGp`Nd|+f_qqi%sQeEdF=sOP1LI!)EqjQx*XOH#G%yxBJR#i*oF5PPbZYc6RFM~CZj%>A2)*z}vVzp$Plt~!iel)JsK;WXJhP2ycE?G z0r&945nUMi7;OzN8(+aMKgURy-;f-vuO}cUmC_6KXn*ROs~vd8$we2ubFi;Ia1fnJ z?2aZJA6Dn4Q;v=oOV{f%sSfFSpDMognM!;SV<>w_joo_0t>_$H7&CeW>*@@#UN-J9 zT@PH&y9Y=;l^CVib$d>q_mZP)Qy54(pb?j2P~0eUlYJ_`W2QM5KKZ6jXggm?^^-}C zg748}B0pqFrs@z@eogZssG?ykU?k0^3DWxoF;d#r#m&OLWxNOx_+E8VJt>~M5ZlZ{ z-^62M-o&4FVbk9om32;7~rdw6}Y^@Eu-Mg7jbnPEq)Mh&R*0E%K0+d^CY_Ow?bai zS}5~y1D6x;bN0)D$Igk*Y@XlWdn$hhb6;l&?eZg=tptnSXqBX(ISRZS)s>jgzC6IYsuPQx+vG(~O6GUZ*WlqAI(F$A7B`Wym$MlxZzc)wt@< z8mZ=__}5YiZ|^UK0(faNN)^k2uO~R3is~|fgznPr^3?SKGX%5;RQO7D%jZ1dP^Awt z{r%LamLF4Oej8yqE&xt3>b13zk?=eu&RqZzU6KElGX%y@oiWf@N&=)8bqHG{w_Gly zHVuP?dZkqDIWMU%QL`e+!XlNRQqhX6-ZnfNrdflig0c_b~t2Y zYb{|Iw^m@cNGl1q?x_LMsK~2y%S(X-c?}FJJ45$qoL335uSTU@pxTCxBm31 zmF*My{bYu&4&Ub(-ZT%K&D9?w)P1ML*cn%Fs6_l+@GUI^zrF7ryY1h$H$q?27o^LZ z0vT4pHc9i%?Yr+j)V zNcw^k`+-XqP66hYQd@@OCaE*&LIz>H)Kab}wf&YTNB?LvBwpskzEON>MXqOCwYgfE zZBg~9t7X!n@>bM3K~1OT5xJIvahY1Lg#BLB^9wnTm87#P;nY^ze(YCbT)CBX&S-Hc zB}Xb)o?)VJm>C>B84=Om9{jnN$~9Vt8R+NI{;e&tX-fb{5XtJa(1e7gsNg*0jWIbU zh2()_u%RB0xAV>0d_4BG!XbI3r^bAHJ-`~u*vmcH6W4I!Fw@lCE0)LMmX)$+ zq6kvd<8D zEPQ5}1-lOSHDtIf9SO(_fHo}(wAeH_vrUKNuGdYCn|}ocouHwl`}|03TK?B~F~a{W zX+JlZ;y;z_=cxYwC}utiI&zplEAj)N$$hB%0vifcg{*PjcKDX(fzlX)%+SPVz(XGm zQg#R_&Z*4TB5!lT`Nsjg-8jacCVU(6v&qd_r`_)BDt&lgXgEz<~9F`e9?z*el(#Te0FmK#73YvDu%J=w5M=cv}i z3HsyA!t_a29yx%BCzwP#Sj{{X&fHR?OCjh?)-2y`YYg+x?VN9J@R`A^4P_%Ihm;}H zd>^NVamRE;hK5-NGEyOuFq=-E)|dI?@ujtz&M)G-ZEFlQ?7I3#NM%E$MG$5UI`5ijB{>HBvh5v z^d-i~F?VdroO-A=Q@z7UZEU_ z%6TC`t5PbL_vb4mfDjVAs`?CQ%}(1Ohzo`0cDiiC?{=DcpMd}A^N!GCp|Tqaareqv zvz;DnVUuBNAjrNbYqz+1gY&pb3aI8(-wlN{4xrg;I0>Qzu)eil$hBAd$_ik$SOch` z2f(NTq`hT1S(Qamq>yl9L6}qlZ1gYKfa2HSE**Bz_KN7dr4;8Ss5dr@TeT`$Kcj`u z0%gOCWS1<`e4^Z{R6Xi2?@F8BU9A@BtbRv5+nGRq*(9EMkR=Sh8UH|ZAcMI6~1)X+QSMm41ze!V2Y)1~<>YsuPg&edddfM98MzS@i5s;o z`=Ic30t^cBbe5iFznSI!Nc4{^0H;^3XX4L+#2MDi9N_d+P90#O;)ro$00yr40o!07 z_LSPMDz+t#%5IMcJ8lFHy*y~u8nSf#E#fKo<58n;sx?sD9l3jt>ElPq58fzy+L*P| z;{iK&N}Va#%KT77x=X~g>^xK>*-o4LZS@=6oz?m$P@~G&(I@dl4nLvIEr)QJKh(@6 z{o{9{g2`j;{Tl`{_ENJ zA1NYX<1cB|@Mno`dy%dHV(b`uexo<)Al2+@AVL%iD!mlLwQal1k6P;q=ZIY=4En3@ zokYC@=2w00=gO&1c)KemWxsxPj9#of=frGrGQaLUF4=v%ATT2mIjX2>x1hBtYc7Z=JlDUT$K zG=-K8MOY0Vi<7>esGkSq>%;{<7%reCq2?t$;?iJUw3j1-g`?LSuhbQ9*7DOLjk6xp zRmjqFX-c4`3$_~O0cQoGy^l?jouwrR;ZE>R=$NE(7aM^1Sj0Kc?+)e7NQ|n& zMVy^Q*4J^gDL(hM2 zD6mI$T@r|bKh~|1mY8^8G|Yra2w0=)bz41xn<9kxhQHNnf{8_{jgQ9LZVz`U~?G!@vvbb{L}s zJ8}+o=qV^Ni)UB!C-8;Q#pS_tX?QE~ilXZnAmyT6-Bs$w#4K$e1~pdkxogTQ1ry(0NO!*>&fg zv}*6?Jx`8{`O8X59yZy915*o}nLYR~e7-E~d^R(>Ki=;df9*Xf31NHq#Lb9AKPS7FONNWN+$2u3K$RRG{e;FOZXjs?r_EXQZ7L!|FMS2$@`XvILGvx z8OYDwP>sNSa}q!Sv|K{$Um8s2_whR9B&LF{$Tb&_HnD|*!Hli{c;wOZg2!2IK+_&_Se(vzes#TvO`yjoct9S$mx5_O6I z#IM=Cz1^xm43zC+=9&x}Jknb)SC1*WC-1ii@-q9L;$BH4Yf?%upWosi2PW!hpOQ@b zkvLJWEan(_GE>$&=({d1Arwd$`?9_9yVPjn@y5-hmYQWCL&qr-&D^)Mv+`f2?daiF zo58dGW1of5gg7NC$wln8TwM_Y`aE^$=D`xj7();T&146(vp^nQ3fAo|6CFx}SwBh| zxa0y@JOl=5-Dl&TF+Dm+sxs*bQu4^qk+`!1Yr?y*hKacii*2mZ5^Hw)T=^4MO7}3Z zt+59&9vH)>fh1Z8*4$KJtwoX2;B{lv<*pKl^2QU@Kw$Thj3xzJW}lVE0pPot#M{s<1L zd4JYL%Rli+Jf=Kv7sCa>YaRV?qt74lyOX6abZ|>^p)p8vUA8bkp zFZr@yt{%eR?l=olYzLebNhm@65^mOapU z;~YTG9oMduf)VEm@iGp54gcg5vg%g(=hf6&#?e#q6##J2=2!BFh~@tB3S7TnZu=1H z1Mj(DCopJDzS#5X>=mA0I4yYEa&+BX(ZMzJXmneia$)W}+YagXb2=~2L8gDFdo*?k zb(gOR63E1oR%Ra&>2^b#fKU8S_8%uCIPxRT3L5G8`j+3&hLi=tVBUfU$msZb z4^(_AKM0Er?{CXS_7Zk_B+vPj>LfDQQlWSUWM~@0JVv)-+9ztdh0SP2GUV}zUZK@a z7?$o~`@9`bsbw22Y<4bl-Z7ya>jg!dV@{yg3u^>-$9D-}6A1Sm5aY>~kv8^grHK6# zIE7Wh%!`;sHOfaj>+8hQ!(#u~aD3S;0kujb#0T4>;JGja#_Pw{FK}trp>QL*2Y(k~ z3C*4UVc7~p_!L37Nc#I=m2|7rHcho*KZm-4{^K8bf*dL*2=uE;kon@({%_9g-?HjI z@q~hbh2wv(6nvDo?7pTsJ{H~TvH)2d_zw07iH!#-HbO9#j2Ia#HkrZ9f7oK@0~VJtu?ZGBo|w6s>e8WnyxPX_ep-_TkCLv zlj49KLtzF}tYvmDP1^x0QiOrJ1_Oho5r{=_CpoYK<3&xx5tIHUWH7Pb(d{NyOyTAw zwrmq+2n_S)=i)5EaNb+$TN=QA9R4*xBP{wz3Qs55X9rA5WUX`fN8(tOA_GnnV>D2} z@6nb)(!RG^biI6h}`d z0juZU`Rw#E22)VsNW4uIJyNp!{;0$DJK&Dx5SycnQ=*kYqF|+vRk*{W@CbA^sVpb< z-LDY^wK8IHacS7=TXu(ie6v6E@*=hJhn&yr)zs|##58TxUQtzhnW%>RpOY1x z4W=)4(aF_;E6f!ytXf;N!rb?s6^dl8<)VkuG$L7l>SEb?*Z?%d{*%HK`eCB>0wwDb z8SjplewU)E#wb2Dbx1R_56F^aYL`b#qc3B=s--T{?Fwu&D5AnVAVIaaACBuO6QPS> zjkYt$ZbaFMRbsK@RY!K0c~{YiHA+5gA|-4T^Tp57m>KdIN{=u@vX0t4sgdR2Bv(!= znW_02%L45{S1f?Y+FQVkYcbCoEZzA;;hkVWrg{R8006^w9s5x`1B1bQ*N?%Fkq>ov ztmoyUUmWR)ceAHay59eM#iylDH}3to{7r}S>JcCF*V{)C&MIpdlGv=Q;i@w#?eFe? zNO2gterIHT;R5}?al!weOo#p(7dV;N8k;!&2P*wvt<}E+mH!d{FB<)yg_eslz!q5& zh1UeT#fVET69cH9y7Qgr5EBEZj~Y^H{yU-eVV%_)?Od;Oh$}Y8>2siF)be=v1PvJy z{FmLM`*8Z!Hh8RiCKY=xqv?!G#Rc!X#r*0dU=JB zJIz|b8#k;XAY$s{;HG&NTv2^ZUzTsTpls?BtGa6z5|KS>!i1|`8#EZrPD|y|KNWwJ z8nfff*?A=kcoLWoJ!!7nXNfr^Tg+gt)xB%_*>fo)hU&PUs^J*GoMH&+^oI&qD%5cx zVc_}qq(;kzLPau|>e_5oXz8s~vW*&!+gq777)U?SK%X(P{7u-ArDREoJ6gMOSBmi)ox@wRqZ@dAIuwDcnJC7*R&?C%||8yoq8% z+=MSEaN`8Zu3NwASM4(`6ikXYUx0~|>V#sy1>7In2LlG7~csuB@&pCxr2y&zTk|q z2I2ilS8ypt5d2Qe5so77$quevt9qZ>)113WzDv}|-Y^y0+4QEDz7B2u369>^An%a+ zsyq7#^txrh4*!$CH`MveaNoYG;Xz#k#ildWMZMc4Z~v<@#Rr`mddatyj2z z0eW(N4nN_qi~IZ^FYdqg4Y=4^7}+_R{D+&1_xBb5SEQJWsfqjFQ0Z??ggT_V$^z<# z{*9@gsk;Frf}{pkMA9e-M6tD;fG~p8Q7yQ2Je3R?{mzcDsrxOMzm>LCQHHZ%g{wH? zG@XD6QWR;EzO?q5mbT@2*X65amFhMBqbwP6=$09o-G$F%w$}yc=krvXTekc0%-lD$ zT~c6DtYVXn^%v{e=n|X?Uzg^!lQru>TCW%rfh7h9b!+)bK1AtZDvS4JwrZe)v=CTYj*%*sV=&GcZPjkzhqZaQYb^h*VbE*-*%U8k8Z50!C zVMZM&tu>KrrO;2BB{5=pu|i9o%$oWb%z;t}?9edRk z=Ab-ksgMc8UaORiE7{oyp@C7|J6qgJ$OzClZ;M>#i41L@7VMz%n`$LVZbi~ETV^8L z2b;515v=U)Uc>kY;SPu0*nlAoWxcJ@m;>rEEf^j7&>!#;PAl?uni80S{uTo(t3tBS zA`LpQ1Q6w60>9;U6j`KvR4mg#Elc{?QED5M-XyZ>KC1Y6S&xK3R_7h0F-!M=FxGk- z`x>JTHLLLX#GNLxO$sXiXw*}!^FoPvf<=P>zk4jQD0556cD0y;)a6jwbp~7~Cbb9w zj$&+Dpl3AXs^xMf!ZhP}i&7k6HvF6l*-l6stRdv}WMi&V$JOxrvGg5;CbX!zA~+qR z?TN@dC5w`ih+?jQ(X6Y7XzI!EVaC`!*qX>*g+x!gVJg92O8PLS^6@s;nx=Ak+ag`= z!I8_sd&5)McxTb(<_l*fFVg2x1z>hq;nG8>ilW&vk`y5(s#9o}SpY^=(4_^yao+{H z?azXSUHw3Dewk4_)xvUDcH^m>Vs$~<^awXEDO#fkgdE)E>vK__T7Lu%Oyx`+K)#k$<*1bLz^BX;p4 z_wPJBNZE1*V?>UI9m&uFd0?NPbJCyExU2^p+9)I-CufgsU7j)dS54!q5^&PdaM#RT zNZuC*F0Z@{FE=u@ls8!|Co9@I#v4tBwn1u*-W>W=nlBD27m#?PZd`<^on0UER{vuImuYC=_|j#CYabW)l9Y?Be~PA zoQjm~1(mduR>DB5bHE*RVxQy-#Vn^#4ASt#8-ewUIH!Hyt}O-1OP(Mlvv^>|(ze#NmQ;Kc(tly32~58h}@g*RkEr*jp|*sU13i|<*S6GXhS`V~hp?5o>3MM9 zbfjsy-IIsxfw`{H1{|o@-j9a7rUSSo;d`4hQW3*=s>vSPF9sM~{`{m8Z zkTLb04;O5+2D>r%9Uf#-P}cIs#pqWB{Ol~!D)>eD441*O6AIE$C0xz}J`m%lLTe)- z)*|*|kPj^CjR2xpZDJLf+w1YOy zs5TGV$^FY9$H57#6J}KQjL=Qsfvp;aaxqAQRuo@gafrB(c$Q4)vG18v4Wi+<>z5?a zYTjfadoSPQqDU6plOWg~0y5erXve0J?ynv)L*}O*5Mjy-A<7cLx#V|m73-T{V1&L5 z*^ty9_pV*U5mNo>;kKonoZNS_ou=S+N1NN;-NOfX*VsZ!f;y+}_CiiMJ`+MOEErNr z_-kfkYUn+)*hRq8A=ItDKS5N1N){*R?MYNdNK{$QmIt5X#9Mwpo);miA`{41ZjM*d zUfB{<7^tb0x}W3;b5YVC87+t)-A8{S{cUad@(I;#Do>yX_8C#CwvK(n8w2^Lb+#mQ zIIclKBd5UncqFy<7Bq5?efYVdFf=iy)PDI+^eRhE-7K>=u(okvpIsb*Cyamkc8^%5 zLPY_8U(U_(S~v1|!}&??K&GgqSmC&MZz^2Yt@K=qOnTZKLia}x^On!75%tr0+Ps!BH?3v-Y7VT`|ldk{jUm zkkJae6q4RBx7P%8Urtu=l>O*bCCMl-`u=}zNj<|H^8(Wk_dX-VDeouLNQKmGCj>@0 z%kPEk1>WINrGQvFbKPHe0e{tn>yh~3`Cm58Oo;!9zWJAX-~Xug{z7YiV>ERS@4rgD zO=D9%CZ78E!hXX&f0BNrB148c1)xGOauQPLKnRYsP7?a@!*OhgMy)2gq6agZru-jO zO?ZXpS&(eJ*ZDH za4ErKcfWLVqBVEiXDjU_;nNGUOsxe%w1tl)%=Jt8kiuaXS{`Fk4YY*~I1JMmJDP-r zJ?uT(=H#^M^2lKM%zhJR@0(Vs_PX?&u z78&xG-VBevE#&8h$hy$Hc>iP%Nw-j!xSXiSI9F|VVAkIwFe_68LnB-joKHAs%U7!! zhdR=)sLPOJpOA^hP>Vy&GF}iqQRgSJ9zH{f+T!Wj6X}IM=!pNc}`ZIC?69ar##i47j1P4mYB3chiYE z$><;K)y!rhVAFa8b*rmJH#gSBCwtUI$h=d`f#=lYI9zNP79(O{+C+(IX)LsaSIvx) zM)t4)Q(#(mYT=D&?g(dvb8Ezlg=xzl5t)~3IgQp0)SKCAzHnIP{c4;nIBdv`6*SVG zDaf#i7d>pab{Y9R9Y1oBbqgap6*P%#ZdsU7NQvjD9MRLA8NR~=O@=Q?n?6rRxo~+- z)p4+HU;&_>Yk_@)He7&cQ#+(*7Na)69=1KTdPH#RLz2vzpQho}f*G77Vo8L6I8?Xt zw8-^jV3bB8gVJK1RnC*!yG-$e8T0$oCnI!#Va`MYwNV3zW|wFX3?+_2r%DC0z?GUu z-`OE*>+QMHjEj!z^G!2Q!!#%%4Naq>SdeLOH+5+_WThu!rU4buqqV9Ng7e?J%b{Wy4am2Zu)?ek;^Y=_)2btAj*2CRq zK8fr?tf@`34Hi>^l&Lal_Akz`RKNa0mvuq1+gzqATb$Wka$_naZhGoWD7i<^Twf@? ztdrKA&7NX}$7!cEq2?70Fgwe4R>E_)g70iRHAp@oNNHy@-Pqm4z@*GI=X{vDNZLSiO0N*A>ZyX> ziMhQ@XyUG%L*j*>4N&mE!z)I~86^()Z;nLQN%er=EvgQg#HOtYc z5CK7t4**ha89Q(o)@$QASJ7r+eJEQ5WI4lk-*UEN(n*YJV_=9o{CLI~1Bw_{K-Az2 z9{aV$`?YUY$EBCvEAb61dqyS;TQO3$w8yl%$zB$3N(vdxpsqX*8WlCEBXh)uv$Wax(Y#40G6p-k3_Xkyn8m61V63ro)-_{QD-1D=Uf`svJS% z#-*YSm@slE+tXXSOe=Y8Vx9xgtH??(jP2NVGpM_~YF^W~%cwECB*g>ff{;bDlr3Fd zp8DoMFVy@;L`9ct-2s)4515N8y3y^A8}Jq40hnmK{x1tgiK-xA5-mxxU zw75JjxqQbp(&y+D<{NBG0{zZUkveZ$%yp^c)lqHmWJ7Gbc-u;G_}{fzmxZ{A7kdeN zTwtqog`8ZWrw-Uc90Mt127%X_Fh3%>^?C>rOd)EnC~vUVm}{@xvTyW7<|WMNLiT(5^F&G4l*KCN{`VmvlJ5NAH0Y z^bGiV63j%_{UNTFGhSwobqu0I*yZG()ALAjCMoAAQo#q{-ZZZa&C-qU9ZmKVeah;4YUG+! zC8W@-F#GNv?L)}`8{f?1{<qFlgB z={Cb;1=JG&JM-Gp%XY_5KQimX-PQoWTlWO#cOZ<;DfW&bst1HQ_t}j7*cl!(Ulwv@ z>=oyzhW3!>yT76D;XnOBX^Yt5l5WC7b(^aAgc+Wb<524FR>66H{rs!ULPEX@!TTz+ zOc4HAX8r$p^RIw^h|pcWi~|1y_x7(z*MEe`ni$xsm^<3Jn3>zV{JrGUC9YR)P2g*) zaZpYtviEzu0D;0$SRqo|zF1JKKoSuqogkPY39+Z>u zRgk=3X`Y7H%g=Xa56_QVbOH1n92y8~<0T7nX_sYAb*A=A5(l>Ib(1n+?H}h82Li!q zNcNZeM`A@j?^#$5WM7&L;w(Jqd3b-j8$DMc%qZ@6mYJES(j_d2<&x_rN5b0uUO)0$ zPH~R~W-b2dxb_j-5URGs{#XnvL7w;>0kZVh-Dx>;PpWB%&C#DC@e-Tqe?Idl++xIX zu>F}i9;q;gl(R3#f`VkDb#)8BH}fPa6sPGo??kGO8Gk>`bs5@?!AoDxdGHbsPC{mXIg<32I`jUT$5E>z%tLdIH3C;MMZJQl80zzr&}{^2>y;fPOp97L!`# z{6Old^jonOsk%Wq(xT+VxI=ZU?E*)O(}B((tP`;;W}5yhsNiBZ z(wCP3f(-d@>XEStAhfZnum9AlR02fUy1rDJ_+OOm|J_w3{qN^R+4;*B@5>#} z$m!peyHRRiV+bZFzMIAgK_<^+0#XR2vviUa$;~RyN@arrz{_9(3jFOP+RN!6WGl`C zGtg$OS5nodLCiW1R%RetxR^EXh`$|&K6_NIJ=pz{W1``hy*3}uoF=`p|75!L%@z6A%V!sWV1#bN5IDj?%%hi;gh*6bv`PS4=IJh?JiDo|0!;2{>A zUHHql@mX<2Cnb+!WHp6K zD-N|MIM()JQn&2WG^`;5c|xYq#6;Gv)a>bMYV)3r2Yr%f2(WS|zZj0`xB#m@rOk6V zC9-rzFrr@KV($-V_14vM*>3yzy{Itev^Y-EVDp%mF*&l8J{As*Vx`QLK&x<2lj^F( zDgh*$hQeLRYz|ll6sYkXaFtVw5e`qvlcb>oBS+`3QVN2pt_bDNB3;L(xtUl9r>!zC zMk|!fpCFv5;)gZc5peO1vSFPr&&GYituyoHG=UNNb#d`WzF(oBf%@0*WGygvblRAC z!!`~`G3L|{*{p0gH`uL`Vh*pE68UC#n#a0jR)Bfb=mIk2Dz>#(;CIX007%CLuz_xh z$Z%9^rSL5_1&r%$Q9VXoSGhq`rsygY+gM~}2l}|_3NdP){dY{?{W-u}E7(T50IH$l zUh7FTVtFl4=XaflrWdiKp*6=Tpth}~IJkH!+4;&pdeA>Gqhhx8AH#lKvb%%7lMdhK zZmro9?%*o4AV9qUmpjszg3On+9`#;^p5?OFRfqr5nr!g6vW5 zZxyVep2~%t#A#rQ8`|K6HTB}BSY52>8-81&%csi8>YMZqDbcfLnXuOo&Spr2u=!1%k?@+-)th^xcx zAc*+|b^y>_t4O-^2r*Imnt^Y|eq+i_7#my)PVa6_=)|QV6CL*>Fc@*8AMSd3K~)a^ z-8n49<_s-JK-a@ZnMD6MoUM4yk7QHZ4eC|kvBO?{?W6l>>pbE+;zlH6x#BYTdwe2Z zA`;xQZDv>J9r8!Ck=fTWI1Lq0Iw$*A%@0(OvU!4YSSlVlRXarh39m)9I^)gk4|D(u zwYxfBZ%HBA0f=|-6s17rI&4gZy9$*rqAykTP13egV8KszYOaG5IP*p_bzp~%Ix=+yVDubvWt1e;7p6+D=a1)^UU;9GPNs+BX(fEV+Xml;Be>|HK+3`L zP2Yc644kO5y1Aqq%t@q)ksJhx=NcNhJGJtmML#am>$fPzqyp{j0sEZZ?cdyId9GW- zW$d8tjF4@}K+ZR5uA-@sAjZIuB&d|ZXN2()D{UFWO79hKR*++Zl9f29ogi*3SBg8; z78e#x0KYR5BeC7%Tn{w1Zb%eGy4Rr4ZH}){P|E|j(vv0eL8F}=W*ZfusH?Rgf= zQcbhbF-waT_)s`COCc?6DdsVyVc5vQ_AKm*O+_oB+*ue~pWZ^N#qZ6v@|fa}PUQzo znC?|bEbcPIi0HQM0L5K%GE8EJ)-p_t2r;gTWq_kOP?3tBRvbMy4vWA&#Ifk3mV9$5 zvZ#rjWhv9xcCM7>7~{r?P&=rgGQ(7D5N}FeJl#CEH9a>h^y$sD zVHF2Ed!yFH_9*P&$s|{--`BOAv0p0;c&~Zn4FXYW*^wyg;MA$*j)!6wBSx=4Qt@f}(i!fv65ndB(QZSM=C{KK zmCo3+Sb{=XS$6y`MJ|2sW^aHO9FIG63R7=rZ0ED%&=Tk@H3=Ow%0fPeGnefGP3_%i@~a7 zR~9^)N>pZoRc=$R+s`7CGVcg0-ZM2Z$(!e<(a}WRNmmTuO$`k+T1?(;>Ay?GhOzwx zX>(HFdyqO`k%3!)3VG;OCbMh_YgHS*rE*B=kVbJT*d#5ei}XepH9lH1W@7r4t}`LU zxj${kWgttxzB7_zUXM^X07926LPtUYWy$lerPC-e*#@GQOe*4+N($oqgGG6zVZJFG z8JRl8)SR3jk?A-oYHXZs<1~jXDL)#OI5@@0yW`PHoSjV6(PO-1ttxy*Cgk<%*jg$rThW$g&<*#K#9ou_DosdHeKK`G$6x*Vno4Sbe#)MY0CG)1 zoD!*fLa^-<(Aj5WDt##sBW7U90#9FL*T-K?2{uzgu}-U`NOnMqm-gi=t_lWZmKUY z>eR*ZtStxWuiQ%G%AfAg@7F4O{N@HH??7-YusRFQnn_&*uRPWsNA4rizoPVl!JMtk zQ|W;PMCzW2EwNg6%wUs2&XP%L<0})ENl)z|)z7JPqnr(n=SzLfpV0QyHZFSlIW|b& z%HlV%v#%rfERCn~iU7LLn4SwPo}%>NvjS?HnLb$AirwFRaa!dZ@8vlK3;OHt@nG z=OcZrk0^MHR>I7a+Cx)a9cuJPV%V*CQ_wOOnbT4Lpr9emYRm|8WghRs%`?Gq1>=Nz z_F2jUbc=l&bRPM_)8F}%sr zitT`*SU9VmIhJYeEcHI!;wqyKfQ;u;q#ObuP-D>W#pfijFk%j0F*WJLW)_f`RTq}C zBF6r3{mlKi8!Mb<9S}*;YwUY0Ov9?hdb23-K6eb{3(P@Zrl4B7QkX6@*xq{-vqw9*X z$T5jok?GLMTn}42B)Qn4-@JNvK`{%OI(BKfQ?mL?7odu-at=u-YL;3w;A%*BTzceya-$8nXgJoS=Tus0xnK(y#d<{CXZCQ z8H`uh9C{Hp&!_}-4C;g4pzjwmMo*p04iA_QjwJ*B@U0t`oB+0*@o@Jy#mqoongLPs z9`t9SXDYn`w$8w{X@Blo6f-S=CFytS8Ay#p9heIW58TxY0Crfd}L zH#TU=1{WL>!W#adcb=ek$D((wqId70cd4RxO{rH~~*M_7AXw(O*#D^TERd%Yg zDW%n%f<}H(gP+l}A38G9li3F!f1mvXxFAzxT{&!S@XkQ;89kY>)1CWgKph!d!lpzf% z1hG^JG9Z~sK~_pZI7LAnzYEf-_**OaXO;s!(+DHy#x+irI{l&a$@Y`bRC;!kOe`%hm#Sy|>HEKx z3C(6KTm>NcO7p$3sthuY>Il-BRl2;IM+wzTNB29?^Hw{Wgd> zZ+M!Vbo|PrY-6;bEIz3`;B5PwyvB2VTgph0EDC)ODd@V$?GNTwB}-T4lBzF?%xuxK z;<{AEd4UMy=vY)wN@6t3A-7}4Y#eoKd$R*`(*X)rl=jKP_83s)vWlAn;e~5kfyw&J z73yZ!Y}RSo15k!$!FY6gFk1_6Yg!VFvwOz&SPcMuX ze&>f4|4^}!BH48F0Z=Z%_=Z5qOCRxJ@t!=~phb$IofuR4|D;`I+}mH2HM z@~f4=m}psN^uK+vi3oo28Sp3wKivVcx98f_wghl9|3#-gNM}gN{}C1J_2Fu`rKVi z1H|XfsU`ROQz~}rw~)~ss7u1m{XyD> z@`?)hhRZv5!lzNQ-i#kL6K?Xw2$v<7Hx!iyQd(ZCcze^X#HL`-ChF3QdW4=l^-?Wo zXh9EUP@DAOAtIVuS|d~2bc)4)C>GAQ{C3;lUtN(lq_;Xa#L?TUW+peBCt*5;jw>pQ zYp!jsx%}M&&Tq7>IrMuiyM`OST+@*oB5QDhLKvnZDi%EkQv>SFLmd_UfCxKm;k(}! zf%CJGJw}gLsHwb8TqDX|sfXY&jVhX6U`4qZTnyuWe+aR-o66t8L_qc%?w&zy)us}O zF4lMRgzO|vt#sGqxj)pVa@D!#;J7;aLp7h%W)^~0Eoy|DycHSoL~jCL#=g?AZW(!B zI&t#-0DR&J?bG&$m=6mMJtHzZ#VX>}8^VqG_k!{2W_u2>FlKpB3_>vq<4nW`P@oTo zrppU2?O&TVvt1xjsSjuya?|V8vkqqOIi5LW1)k&qcYH6;DT>WD|L1)2( z{$G|6XkTpG|INT){C5WCFDg#Wz}n?+Z?Py9X=M~M6y6D#@c=MHgs5H!z7RB=tvG^w z|LrRb88Jx~#=10%;YE)h^6_DBXmh7NYY|dWn)YcZ~kv7Dn*VLOR~&; z8cCv$kL_D+UpC5@k4xR%@87pkx}tL>h0R$1kX2OcN=#~+TJ+MWR6+D%ab2VVOzVFn z-;6#FdZ{fgAkfVU1+ewX4we6yF*Jwi=^ZY&cHRtz3A(awBP1fuWhR>rHAp zm@k(VKzDGkF?6OO&Dk`#j^0SseAinho z;Sipog84*JG1ejw7x-|c&k!{La}k9O*+Yauz}1jz8c>5JM}NnVSvk0yx2AF;9g)l$ zmB0z$!0JWdWSMM>CW*FK&Ti4M<5o4ymew3%NnH+Szv4O$yoSVO92h*H#4T|MmQts2 zo7Aa`SlBHzGS%(SNw2+a2B-ufQ;zl!OrBs2agVdulw>-(gsrsc)j1kE&Pk7P;#N(Y zxax^xubQ|Dijy~6g{HS<>XYsa1e)>Z6#%apr4A%P6zi2ujrWIJp}G|I#6u-j(3Ilp z$+&WQB#pJs4>Ls&BaYY8u>oAmEYTg4k;SppiBo@~YH1$1qhCrALYF*qW5F#%Ts94R zVx686Mq}zE7#>CYyOi9I4uNyo3Sjl>Xw^%}j4Bj_Z`L0);KU()N(|F_%jByp&y6)X zI+b&FAlK|TXopa`<=d{TMG-?cb3r<@jwD5MADNCw*Q*lP-`0~$Xb-VAJpLIc?Up9m z-)=K)lZWW=hr@m>gppF>F*#ld1FH;8qtz(xcbFMlE8?Ik6%)8$^^fkD%!xMfF3-z~ z9;%2oN?NyS=7GFpr%k$67-nm9ny?Q4q<7XCAdS(~;>Ej`X*)5llGKK10oV0bp~%Zo z7xG3ZFppLqHL>H&Mo!5&sz&0*c$Z*PJ%Gm%lHe@*O?N-UCBUX9W6 z%G)|1G;g*k#=gp#baYjo9bDpw0Ll9<*dBwNlN+FJ+fuI{4V>Tqea0ZCbbJ*{YHdw+h)?sM)nq=6~ej-OTA1b^+^9k7&;0ckp8r7T>-?KRGMSN8kr+1>@8SDsUKIVg6QCxLGVBJR`U`rU?>S z^bU4rsq(V}!nx7Dhj72{r1tb3Jk3mc)t-2oiqQ87r2Q$ucv8vmcq zky4nnBCJSV`d@Y=vKaj?7@oiCMA~>F74ZvP3aHo`ZPlS7XP-UF`P9G{umpG^au<(9 zqF6a9G*)yvQz|$yZ(r%7I~%Z90z$Ck$| zc0OKTpdM0p_HQx4_15cUQ(S8Kz73enRU4+t%?)!h;M)rf$DT$lia88t)h|)pHS9*w zV4reLRXhF_Ya&jk>9n-2RHq_YjTU#~wlYPF7}0e~0h2D?%1lO_YO{;EP3EblD>|5A zrESz!tBg*<&1NO3vs$c)ZrZvVrb8<-RdKIHuFYl{akaY>8=9}dk-_b32dOt)$&E%U z&Z~`Cp8b*!8g(yXtc}ajD<;Lql66_miw}jF87%XWRjCp~wj=ZG9;ijRxE{I^l9d?JM&LXKYLxoqfTD!Dan-OJz%NpaF^%0Jco)^jRk{=}Jp%|KGG0 zZdKN~auSucXJ_N7ljaSlQ7EFxQNG;k^8^G&n(!p!av}CssRAfWaP*=*4W@|5gTwt* zo#w`J9;S!W4bhxC^NTc@#Pwv=Fd4 zbBF>C-Iy8o#DUw%&aK8jHX}b9ZV_CE_jG}Tn z#XE0Plj?CgdHvws<7&qcL@3|vQ272IVduc5S+`~B%ut4H+cw^?ZQHh;VcWKCTN$=( z+sf$ps&7?SjnRGkFPw4CK6C9k*E5%2LTWK{(8#ccMq!snO>h$E)ti^jTA@=CP@3CH zVojOxs<~Stku7OBB^Ve2scLzCv%<_nO>k$>bF%6YHBj3O&zZngg^5-*RT=C{;E*^p zl?IO%Akqa+mLio|a~AJ){;0+z8Onsr+e~WL7;&1Ip|6{)zZbP-a3M`yPz()?TQMo5 zQ9su8$g+vp$eLw!>C;Dji?=Z^gN#wtu;3ylFyP$FUCgH?0J*Oa*1JONJr1lzPL4k3 z2a`Se`^Q7zRK>4OGz6xe8D8?K5L&;0Zexwov!YH?RD*FjrwNI&Q?++C4&_#Fc;k?f zA&|S3;y0Fh{uF6abcQ_?%rz>a^#!pZ#_za6q*mL-TN1A{S`2$cbB$JOqoGONXDZHa z%H=Gx)z@6swcGKbfc4wQA6Mwm3wFg3NUrt035K9Tls=zk-9 zl>Ogt^?tyarFzqjR_+r7S&5YE`G+Bxs<9|VZ_9> z_8us;q4x3+@*Er`UpYC*@<1q#g2Y&Xw?s~M(5S?;B@IO`V=rgStYI0NNZ2Gm?BoVR zO@py#O%-D^>A=TFau)70v^^X772q3PN^Kzb@4GSnCR^NSwH$7Os%PcEPirCF1ac<@%w?qyT{`h_mBR$V7)#T}Zr!L0BjC zHauDtg$eR-${4JvN~-%Z;RYxEns@mYQ^)j9j=n8Jg2fQQ=7CE8j7~U3ibe*;dtMEM zXy4^coM?42J(e}CywWBhYkr!w9J6@p*;=H1+$rVfX|Waq>#Pwg4ijC25(;+(&lK9b zl69Rm(`F_;BSu2mvuJo!G?(-dQA}E(O#2H+Gk-JNRC*z(VMzg{1j za2x7=G^zbLCZygCaX>;fxnnF>HfJgs((xH5)RvO<+}7(&{3Bjkt7-i{=@^hxhdu@Y(Qe0+-4c(ny&hw zAnApTdO2W?je0Qv4Le@)irO8m;HrXlIRLr3&if(FPB)y8{5Jlv*!63gM~HMRrwU;0 z%G=!{n0`&(ePpw_xD`?skQ_2v$rb$mvI#JA61Mlz(D8~llP0UigAWLD zI`hG#~NQT@R5uYDV4o0GbqQv6z z*$BfmYjIrj1D=>(NJ*X?0Ds7_1)zBgop{@CI9ayzkbS4wKhx4n$nW7U^2y9UBJRI> z2@646lctz|l2bl_!$$rrEChqO8H@4$#=M9OL?H``~*2~i#Y_qcsiP&>JR@s=1 zxn?n_KTN;+?{RI5$^EW0Ct4_s$fbd{?NyQTWmE1 zy)>jQELRv}ROL#0phBm@$NTL-1JulQXBFV=LN7Iq5UQXRMih&OkkUZU9fMX%@LR_J znpvXju;>Gvr`89)-Bc^yyaK!Ih1C3VZN{h@)fVaBYxrZ=5R~FAK)dnBAfOnrC7k=FRYD6*yyq{(S*rh5 zd3a2ovfLg?>MM};wEP|cN5hLr zf?EY$61tibDZG8M_th*%*UFrU1X}~bAyA@iXdln?jzy*!^I;%8ns-N6hZ2a@#b(ZU zw26f3qnN8PIbHtTScUO-k-ClBSF@Bv4Dg0_yZT*L^kn5_pguutomcpcD)EAljPSK!av6 z8I>^u=wwvGQaKhuhP>Wts$hrhY8tLQ+0 z^%Gnh6^s*;)LE%W8_X_P_jJ&NHb0Y)u$*Zs)t1`%ACXN*M@tV1@X?BmX{LuUU>*38 zIRsi$F|;qrXbVr3jdU_Vn?%)xR2V_?Y^fbEFm&42m3cm13pKHQMxJMpAX)=dngTX- z04nrDX$u$X9z6zFc=iq#zjw~N=af&B5NQO=a#<4gwxTBvGlH;2oW>vtT&JOe+F`u@ z#MH;W80n)p)5E32$Y<*%wln4+=odCBx~Dq66#l)ear zrx;m#TDcLv;Aq4`^#ixOHe9Dh&^vc3QG%E|EAd2nZJcr>6m!-1H<;&TArMd9Es~6x zTeg*_CIQ1T|4v0ZFq4WrngnXxO#+u)R8(t5Ty!+R(g_E}J;=>w7gT4CB{qtFG`7A* z@a}Aa3RQ<9XqX{|OC~FL%!{(e{6}K^*n%aJF}*96-}N1hY#ZZCi8mCaAH*HKge)2% zx_n9q4~wEUj)r05d64ib&*x8(JfASuxA9q2L{qUkCTQ;>H4s-8T7fTCeG`Vt0(`5x zOaf7=f+ox6pg1VC7T77XP!v=>C8$4o(9fJZEYiOUWf&fSy{&5&G%>Ue*$L8 z|5Znuq@wMLw2ZR3{Dy8009#j+QCd$dRu7|IUqJ?=&j`|H}$48e@b_+vNT_BdGfCZB+O#%Bs(3wta@#^q&oo0;?k z3gieS3Ob1JCfh1A%ZB5-HIY;azi>V3;s>vtol!V%^wPUsP2RxwV*b5s%>X9$FbxGl zwh>uG^jik_doftga?GW&py(t25Qh!TF`3VFOgf{@eZJwa)dKoW(na2*hKP%@mc;TE ziDbF~`>QppWr0)F$qTj%(__h)u|?sbs?(1LKnZUzHInq3@~hVu#3|SSGKs$Gv9Azv z%u;ld)wD>POc9#b@pY~z=TmX{KJrA}M1+)RCP%Ey*xJ=?jUw@bBggS|_OB8!#&$y% z_3L>EZE=;qt)e1~xSuu4LET!U49+hYfFFUM(ftaNbU=vJDIvUN_-w6Y?seb9OSmo0 z1Hkc6ZM5d~1f9QRN@cZTw@k$0ksj=6cbqy_N*98KhW{NVlG1Uu+emys6(({QL!o_V zwVT?^pxswT2Ai2a8shA@17!XwGimaF*M14*)YM1+XC_N1PUC&$AK6C{H9 zYyM)3V_S-DIu&$L4O8LVvv3SQ)dh+Qh$|yPo2go}z*lGB0ys*kQRAnehBgKJFvRTm_>?Kg#!TF0zA_D_tHg{36G@r$dtitrL0PFO zTnEO6>dTkKK()d=lVe<74x{iFRBf-9Zu<>gy#KB^W@=HH9eIJUk)ml)P5LqvFpk+3<`#DQ-$8N7BqEzilcwz7dRmG+*G z21d3%ACsl@ntH_v8<)A$2Qu%xopA0kffz8|J__S>Y1~H9XZ-}PuUtuR=spQoN*w@4 z^$_9~>O*3Hu1s*#dhNEV@(|;NrMgbq%e8!pcX)FLC*)g01)y2)izQ+#OH-S+8r!Ri zrOV57*{9b^a!qTgSHWeX&I?dX*pF=qnoy!ZdeL-DVfLk24J@p)v}<{tb#sg(?HgQ) zE&h>^F=MP6ePe8Xv>K72pA1g-xI;v4jgT_Vf(bj{*`qBaNq^y7G$ld2D2)pcjkgN?t8IR_5@@@A{8sySxu zuQ0>8pxQrOZ1No))tqtXsvVQ1YV+Z%>d{`LA4ty@#;X4?P~U531=EWgsozVgtW-NB z$sx55jU-%&7;sCDTthd7oR4%5yk`i!Cd$`8;NcWHFPT|`HQP{>@3xC(C3cb`VVVCZ{Qz3W_0o7o7Fh zV8o@|U)Zvv_EIcoTB#c9r%Qit^m8MJhf2AE-!#g6I*pfpU&|L<>H7HccfzCon^>d0wSy2URJqnyhL8a zTwWGq4ENxKemt&-5hpXDKe%le#FKY|Tw#wOaLH_r`C`_Nl$<#^N?2nb*Qya>ZBLW% zq0!z(k?z$iIq9-1?!^fdC66(>wNzkWI$24UNzbXT}CkS`L z;v`nb3y-e!z~dJ9LylxQ0xzx`K(t1&BulQ7=-;Kbso;C8CX%Ix)|1#CQekzfY6@gn zadO?e#Xpxg5~4+H*-{{PA><%e(<_=fHmhP{{a?uM|2yLp^S}QL z`R(ki%nkorv2>J@rYq8Sr2}c2QSqtV9G~rzKwHTv3G+gEm$_ys>Kv*$O|pl6Io`j_%B_pGvMym!30acO66Xtanr8=Ug29VviZWq1>+8fsV&c^!}XT??=lAf zF#YciOfN_mw0WD(leN{CmotkcnY8MxX>&Q0K)Q5G6M*Fr<850~gv!_=yb^qwm@Jwj zha-t4#mo}5DTywAQ6@>sWXZ(E0|g}+)!Kcv;W6U?q{YFpqWehETO*J+aZ;0GGgomh z-lc|8uFTQA3JmfBRw=)jTnF?*zg#Vo`Eljy-XY4kI(bkuaZro!d>!aDL;%s8KDZAv zmYEPvRy*2-zyGjNlNV^Y5|8WF6fzD*+vaaD?Gapqe134xI^6*t&`CxD^PEXj#tHK5 z18WX2*d6>$BkC4nxfwKXj?d}?7uaA+J9KT#e8}|j6E#bfB|hj)DPs>83mJY%7F7Xj zwcbmXnGp60O?-R;_4sm4=~)Gg$rL!_1N0^e!a7z_tc8Aq7B}oi_S0 z*1K|Z^EAw-gIC%hfD_n?S1jAWFUoZ=TxFipME_+F zGpob^C6Pxf9T^X#aTCsLLxWXPM$_&5H?rBYG{y;laFFNxupyc?f9EjqV=Kf%muf0~kZ1 zcbzO^bF3kXer?os2mYr^+*yeg_%D(LnPNeBH#n$zsgb%+roa_{lTJFz?gJ8~H<#o@ zF*E2hM=(f>)a4g=a!3fh1hD}z^-}A_dww1*9g6Pfa9#}c=&JnzJUyW)h&^1VM}#%p zVM3~Uc;`AX51ivg5K|)5Hge-fta`FP9{YRSO25%N<|lO?Yni;ISY@hnw8ixNO^Z|$ z7*`c){N;$wszuhg$lc(3Ow^UP!qhBpHfB8lJt#KasFpBpPA_X&Y87V;?Rv!S$K$tC zIb#WG0?dP<1JqaWl7N0v=sKE$%y$B8eR(Px@m^v1D*+%yI)ws1>;v(^X<+-l1p z$x&$!(T3N3g{=rzzrKzkj(*m1?phyF?q@OGD;5xxq(wk`EwY)e8e}sKfE<`A>JDU` zc{GS!#$%!s#i2!mUD=H!@2LwttZ4ZBk{=;c+zE7Pn`L>4$ z|1Cid`M;mmO18FEj{j*3y?Y{!pm0-3YKZI9T2Ti?*#n73QbSB+fCvJy5~Gg~>)nR~ zpRQ?SfD%#6LE6m)1`5n8%rTq4{U((bOXqAPKqqf@Pn=_p70uaRuK5!6J)tXtf1WTS z!HRuHnVGtn$a-f#-uku(b#=SJ^dSBg_vh(ZkeV!-QaAK;GsT_AR@hPAT+cqAKYn_2 z*7z7c;}(o4?C6*eOP||=3iq{FL1s#arS1wMbYg1ReG?Yb?F(ocYSzV^&o)1U{p-#0 zMX$HZOQddX=s3TfrF5`-S50dVGkn{YxoL2oswtM~S zn@HQuK3pR6v@rHhT19&6jq8tSxWiI81Ub31$RkU?W_(6on#x zKAha9V$9PJU5gDFA-79o9iArWRrZnyBTq!iNZ=QB7FVUT1KK!^Y8u{u&0i9gdzv9~#swgjZ#%A^bEW*RvZ%Ox zwT-hjQN&2NkY)o@!Tg_ds@HdZR&3r*c;T_?cLd|Or3V&5kTJR2v%#65rdR+}kW6h(`apRr72b8P&C?q%h#9r_=UmG#Bc~q;T@$Evde5 zlvPV{uMO`zJUm>FbU=oV#F}2FGe~YH#|j_e#J0X;#3_76mU5_8N&W}I`~%gwN>7wN zK?+$EZPCM#ofc`N9g<*lr6D>rpW)RqnZl4He!}|atR-f5%yQdGLa1gtM#;uR7%ubW zk|NHqBL>kFAxf869~LI(4222r!VRO2ynSL8fCh%vLc2qW|MClzqVI!Ze-{EzX3rXh zx4@brk=28dVji>9)>!$(dsw4kT1*pjt8aQW(%4m6(?jbaF(@H}va+Zz;`ydKT+uaU zo^OpYl@@OY&50te?(TC)YN5sS-EeH?nI&|1^|s*^oNu{M;q3<$m)i0ou>szk9qe%$Gs7t%Szq;Vd$mZMqz)Wyd~oCg<=LUD!%N(q zrdUlgqa!(4qGh4=Eo?dbp#xmS}am5GSoR7*>y3G9|3Ge!Lp}AYjAlW3_N9-l%#iO3cJq>F=us&J8RJFkB8Kq> zSUGG)WH>mB-mO!IkFDBY;c19P~!)+_t)}-1dJ4ajYBJ8-5 z8{tL)lmd;9l5R+~Ck9_c(CSY&Grbh*o2_f{B0hnI7aE6Y!fT2Jha(X@WSOw&l= zB-l|=3O?l{NV8^@Sf!h$R9VaC7r4bMxq$#f4X`ng03si0yc!z=gNgNZ;x)#Aff_Wr z!^k5-gP~}=BI0jYuUd%soXS_~aC=e1h5`~P4Lln43#6hf#zN6cRv0*qun);G3x0-# zOFLZ^gHPjT^XP(Vmd9UX2xZAHw%}I5HE)`9*~aMk!TtE zKC@m(brSoWcSx}J(p9zK)t^!5a{51^&KCE~N-ya7Enzx{{vu+vg!)>*wubsjz_x|z zCd@R2Xe0RA>nyO*p5dT9uH;XJ>P|+q-{)s{7Fs}|3U6?5sOn6lp;6Tj4fB`9NvTaF zK?C#lVzP@BgV{k(C*+{rVGPq-(`K-~4q$8MlerM|Z5ZB6~HE>X>o5o;;c+vJ3KyxkEOo9yD$koA!yvsGCU zd;co384uj+dO{xTVLD+X%5yA(Uti9a2W!f*nzM|@_!38;nQ^}zN3pU*Ga*ZsWuiWr z0Ji9+s_dXCM6I>`%8e7;p>{<~J33n7bt%bZKNqik@rIJB>$kyWD7Ak&BM-#mwjl1X z2+;V}IEjb54a`;Sd1b6m$o17g{o*-#!w`6b2;d(75u%oLyjntgli&J>5{J|oZ8cH! z23Z7RkVFSAMSL4&=|-9ORX{PfLn+EL#R{9fy=-WGh18#Io!8&v6V4Jb$xqt%yz#oaR!pYxjxO`-M> zP%_n8b5S=C-DZ)i$-L>46PWI8;#xNFU9^ceIx-{Inc%@8t|wV&UA3y(hK}SOUPm@h z-4`L3_ml4j&GDB||Kr^E=Rfm0$&^)f?{_$;{NF-o{zpJa(A>e$*-GDm-@!ruUmlIK zg0?J@JUn*`jWtCCJ{}4`k5I2Qf4M*2jD|3Hal3?62Bw#TxvCnqcKv4ljjfc|13zMH zZWtWTTS4TpO^N`8NkUeetI1R*hwI;u&s(ToYE*$62%!pLGI{3-1%uf}sKt02x|QZ` zECIe;N5$<~B$BSqY&G?DX2@thxApSWX!9gcArZdS8P~`poB=7d5lS2+z<|aepkc}pjkM&nd)`GduTI@;VB=Zvx#S`_Xg`hwdq{$`fjo~67K28*^ zfi^CRhOa8{eEd-Ua~=8kfwd3SlxD*8fj|AO6x~u{FA(^7!APV+q;OT>`7`)JOp>Ei z7pqtXrcNzM9M0z|{dLC9n<=KZjC)t z0425&mfk6{^>?HXfqr(8XJjCpt&B{#&_R~)31a7h|WQ@;epS5 z+d6FD^U?o1I`=<-0E));&c-%|#xl;<2LG9z3sT_!$G-eqyy>!9L_<@xpkf}5X-!d^ ziw=h=P8>gjEI!D*d*sB`YtR98xwJEy@bx>PkBJOcXV7d9?nX4swq(5h_wc6CRwtWn z_qFHs%PECXMBE5%N9C(Zm40e!LSyOxa;JI{4B+e^rK zkWs$KH>vzASy#B% z@(z^>HLB;Fkga+7e`4PhS1?^&5nIE=5eGE`OO?o#&u~x+9)|w*&uo;;v1-|LtM7Yu zN4klwtY1Y>l*DkB%kQ~|Fpsl(=2Ka%iBibKHG>o0;guoFNv;&1;<41M^HTDnLke;RW*Ni8Q_b!GXx%_Q7e@vb{7Lr3RQOn6I z5^e=s00`mwV3g(%QiL`OM>AJ&jyba7yPqm43zC%YA`E>7A0^0{848=O3~?jd;f|tg za>m3+H^gliGzoNC0K#dCg$0e9Kp$-l5!W4dq!VG)CX614kz=ti7VlBmFPJf!D;2Zq zsSmW$d!&oS{Am$LMNlJUdg>cHU+4|aL6?JBM6u1#;2z#~8%Ia4Sb%8{a#=*AaLCZ{*(9d=>s|K6geVR$^)H zjap$Si?`fnaX3pzt5qVbz1vz`=u{7C${h)_;an4^VQ59ZmlB8!LkPr;st%w4zhFE3 zwe8wP<_EJc%qjXtv57`vDE5ImJ^W0Y^>+giV!q~b=8Q6!44BJNu^JPrdXYa?whIOA zZ8E*8-uYHvVTDK(EbE|F$0GviP_N&L8Ki~J$9d9)%&Z6!6n3>-N&ZKNm2#O~v3Z12 z>yDj1gp5LMqN77a*`ARbsKh%9lk}4)k_kR$VOT`D(0XvL== zS#`i%C|*jr#FBAwfn~xXDQ7^*_lj%7|*G2u8gLEDww_)tUwAQ<|r&fv#*!m|B{M@u6fWXVZ z`bURsoro5DkO9|=~8}2^*8F6|4gOJ1Gq{Knu`zT(l4JLTdG1n z8ftnr-}?QI(G?w`p;ObRsm8ZjjDLFZgSk6KmpblnEljVQ1W5=AKrMM*o_8ra^o$gM zjyTO@#<^dSpwLNraUueXGa+MzOYFfZe}LD>!RFO29xw#ElctKL9AV67beIfRntg>q zpXE%6^QPs--`d01l)Fua$LOV^DD+_^axghdGFr?XV}%50XsHOH>5R}3zwx3o&nKtRM0N2?v%C<6V+=Z`{K0rJ zZ_HLx5{4U9UnTl(FxU2mJ88=THIa&;2ZRcSKs0LAT)S$Da~*Cf3TwZNmf&NXMR!%0 zUpLqoEF%#1U(T>JOFei&50QNA27KX6c~xVK@I^)q>qe@(5GAhBAR% zt&$$TcRJL!(4s#tEqjKwdSJLds+;$%r*?~9EbN~buiNAHtw?U;yGUq>wqO=}P{-$Z^ zq*Bv0Jvtxrat}RT7J+?>xCXu0i~!vIWN9)aFXO%kAG1io<`=f!M4+yGT#4>gsagWgdu#Djg=}=^QFT+o@R^3u8(4 z@3#<7y01)DV%@e7cP@(G7;B7wwM{4hg0ERDuI+y!#(eR5p`UVxrQF_EV}g8VXKlnC z9_|d0+2h_M%ic(TWpL<;_7(1M1_i|yiK_5wa#r5oFjJ5=TT2T;>HBSm&YhBkB)v9*eP}s)` zj_Mww59M>l#P?rTWTH&{(!&et=$GH^^hzq|-<6NXP4yZtIEdNLUYvrsxX$jCV?%q2 z-1TGdT2f^%+6-8jQcUeXF3o<2n&*_+(Q7HOgD&8428wa+6V2Y2V1o z!Q&c?@QGq4jUFwhh>l3PA-%=7PZq%0rWqUz5)#4U-4=zt`xYZSkS|3JWC?j$I%k zv9tg5j`_NWI4+>Y#%s5jr;U}{d@(ASbp8o zeP9VUj`aGnm!wh!-r#DIG*+N|4ZTZc(j|QPzWjcZR#+!q7?Os>+!h7hMk8MVjC%Sh z`st-`gT5ng`B=iFL!l~V+8M+ynkf(sG^SkXU8`8Gohfm#QiY=)-YH&gp*m>pG%a_en`z=c z#Xs#{tU!8J)i|ax^&MR;VInm}Y#GP&jD^ImT}a|4s7x+><^AX0gv(pB_Uqd<^Zd8* zR+9hjoc#ms{YOI+EBrGiIyxyh+t~cql=!Wvv5hf&z9z4xu1w~LGYVGck}rQw7ITy< zSs?WyN|*~M2q-G7gR`$@5zpJW3`|+U@quc1?BNTTt9Uf{>NPtDZ-k18uoE=<&%y zOq|xHSkK0r#8wUHSQ4b9McORV_|3t({{^jJb6N*!TgZ`uG1n@$2T^;2tuWX2D3z71 zs#E>5k2e>>*|e+AO^VM7^&%5792KaaMIfhyb&6n@lN5RSQz=)1pF}oI$U{YoNg8D_ zl_nSZWQo%{w3Nz{2qyussS<9c2?V|i0_q5EOscFjF$CDl%Z;wwifS5>44<%q;ynRI zf%KX~7ZGq(+T2lNT8WFaxW%P0{_{*d>#3o#tapigF6;qB-Y-sxnos?kB$T`qr8Ijh zn)0kxDOU@#kFWnDy+1RPBbu#ya6LC4z1+(}VONw7_YoK6dWeEKsZ29#4c3sH zyOFd=n1(1#%^Dg#S-fPSS=i&C`nim}j~cO(Ki~lr=Zg&N^fq6KGcQ+N?@4LDxj4#A zO7_(blSR9N#2_-z&u(lL?@E>=r2l8-AjTXy9(-x~6gTsF8oMNa1)sQ|uyW<_D$vih zQcX5#N}?*SX?Gy+pQy0T+kb!H>WRCZ{6nB~kTyiKIf)XsO1J!0 z4)Dz+!Skr@&eoyDnG1|DTZGRKrm`} z#$YTz>SMTG&J937Q;E&_j#L!wA<{cqsS}rHXD}s<4mOP_bU$- zF=i)Odz90epUr)cf!-i^N%e`2@`lyW=%2c*s>M(lQ8!C#x~S|?o_=X7Zs@2<729{f zsW#vSf4;Euo8(yv|-luok1OgU3% zxMVNglLrhFFCxv+m(Zr9t`T)r{WPL4*9#=gCe2d<*bHoEGk#yRMwhWiGAg|7n>*6? z{$S7Fqkt#@q{|dN1UB`d&v8Y$ZO|XKO_#c%PTy+LU>X-`bV})oTZ?wzYLIS0GIGon z?7V8BOw}KeDEtt;&1b$+b-zRQo13BAKZop2uBvx|)b5Q4x82E*>M?V0E9tEt^?pq< z^#ELE5OMQ(Wk?tH{(%_4UNF>8AYO$rT45a{{M1I-9$?6(gK8i07_Y}-$qHtJ2s`vN zh&p`%&aBx%d9(L`y)MU6T_qXqu&7bY@OoiboCa>xX|M{R>ytG;|45ViT%0fLhO0r) zY*k$1Y8YK8h|<3mjibut?N6D-)TQD1H!E`}u+Et8^3M|2Cg4 zHS8Q^eJbm=X>O@L1|4PJ0B390xl4f!L*399(laL;CGVKQJie{mNx`jcJffeHZ1AMv zVNpepcad1NmqYnCs3r4f*?KU=K4Fb7X{O5~-iK=6y8Gs`j@)fDv<2G`3{!pTmcWWU zZdAkAn-GFGn|brDV3P6*U!)+cAl zU`g5x8mLs;jQ;jU6JEG#j?~Q$9FFzV>2kn*PiLoh80ZgSUDO<(Q!Gen^gbmP$~kS%{_9 zY^2)Mh}$DPuu2yKm9pC0;vgOm$(IXOwvoW{|x&QwY0A6`mjHx&qjk-RzTL|I-_ z=a+m?Un+mc2(oq{WF~vd`7;F>I$W*yv_8}qZX=Z_#DY{tF1qw7OR&QG_-51-K~+*- z+B1_2JZ*3trP=rfT{|fm4OZpgP&9NGn!d<1xT7=1#+xcNP zU)ZYml!dBzps0XU-r%GRe;Ok8tYa3FTFL+x3@4+RB>on`vs1gP46Xn)oTn;F^r4~2 zE8rVd0lcB!xnStvr>LGX>?amafvZ?DV8?xatMw2W3J;JJ7S9M7Wmr9%KUjB46eW>+ zchJ=v=yzbQX$~q# zw|PR!);wt#UPAlG7$Wt*iWxTQC=RgtvWQwsR&&;$K`FL#`n(hIKK2F)@;UI!;3~yr(>q6wMq}^(0LgbYg^K~|N4(ldss|WnrQyyV^WI4q65F-4` zK^HF3~6`me|_vnudF2A zkoesX#-8`z=XQkEroJ6NrLkdC4C&JCk*0^2e{o(p7)$L$RzA~$oJh?u;4;P0K_VG>E^raO_0BaINX$+9Bj_| z31%ZAL-mygZ(CbIWJ5R6k>2gqum=+Ml(Fq8+}4WrFjQHxor7*OEfI3CUOIt9wXtqH zE70g#X@?`K`8$nDwgVXZv_x1xlUtL+)bo{m&e|>NLPE9Ft~7|pgk#^>I*!61p&xfqre%I@lb!2`bm8l8lEv zBIrM$Do&;g2lb-NlVOVp@}ewK(HtVILq8nUB9uWS6AUF8e1SBH+IMn81_%9+m?Fi4ayUEq!=%azdIoi*n?QL&%70Hf?b@b7H4wh|NWmkJDZI2ijL zfDW6txu#G|Ym;LHB41PJ|Dj2mB|Q@czLtU6n9{rXg8N6bs*6mV8+?n_LBxM&X`ubz zMC-p2Un=HmTB;a6*VJ068`LwziN)ffc}D0!3$$jyg>WEZV5>kN67<946F+SjnOq&N zvp^Osv^AI8>71*uY~&MI`6Q*9EEdbZdlr@~J`dr1-$!)AuQ`~YE$IOO*DLO0&8_Rt zWXJ5!>xAVW8$mtiH|FG1gI(>BrX*)?!jxM!B!SVtgD+nXkDNI5hoq+K6)^>>?WUkg zmR$fa8i`O_fkYE-HP&RzN-o(9(;4bbsafI1*rJ78F}(;8&-HBzu>AY6$vNP_=0{6dQl{Q8_vtrG<0ShNuOg>;H|(zi`Ftn zn2gBgP@R#=+sFce4NJWi$l1|CfrrKx@OS%+Xh_b4H8PD~Z$eUPg{yodu<%fiiiD(0 zGpuRNnPn>DNjCdZec}+!V|*Zsm=A%0sFz9j$`cSwEIP~A94Z!_1c8_fr=`X=i#if+ z&hk9z`}U%(#J4Wr*62vkGUK8(DTWep=aNM9g!0(fOBPtfnGFn>GS0#p}>`@^P=s@6eL}s#|9D9Zfvk-|2dVYvG+p3EFY4ZD5wcF>D+^glx+lQQe80q zLe5tXL1V7+2m;J{a{t&;xF2hyC3rgo!CXBhS2>t7wxPq)K|{W5<~aEB`8Yk947lhl zL0)%QW{9eLHReVj?Ze5*lAJvei&-w(NSa7qa+=@VAx12&@fsF!vyVc9!FWS_zO_Pp zFC#=A92s#X|ETYAxZNd`JJEC8S5a3d>#3BCaYBou_Y*}N4hW`;Q*{DAN$!@>uPP(q z09h%CE@yzFqhpWh@RUp1>Clu!Ix4~?bWEjUBs5*3s*5pO6bAYTNCdq#XZ6XbjTv}N zMfX%Xo?0p7E_FO7J5P8DNIr#ZQ1{DT#cLjTiBU<9^Et_1ebaL!*V#LX*R&2)e-s0*qR`09S==X?| zGj6c0h-dq$6%0Dr7UShdg}#Dx`UIGum)~Ia0{L7@w4h^_2B&vxYikZil`1Nhmj;_D zY$i-ToRh1*tzL!2!FUDDR5GKkEN%y7GYh3pDX0Zq(orgJ-_Tmz{tzcGySf7vLWUcC zufU|7WXZ4vXEEb;C_@(yiM?4n{LC0}n6(d8*Y{s_dv6gEa%qx@q8c$&9^ZH+8bt|7UPB(u7-@{AsEjvJrjKv! z&aJcex#u>s`|*?CZ~xC)Yp=ETI*+}#)aTSDiNOr_%l31MGL2rRThA^KR#a?o$sG9F ze28B^w_fTu`izYmIx~=vo!bJzN{Z~LGQF|gNeE4Zk_ZS6E}^BcFY!B z_Y)U;O3KbV9=q09|FibSTwm)|eedZxD)va@g1ifYYqzCG$c@(y$adVasIjH>PwV1C zCi-oLmABq#T~2))TseR6_W9?=zxu+#rozxT!$Ujy$B}=WIAL_Z_EgrM>xVb*-eFRg z-5js8)h{+jU`a%N#SikhWh=U-Z4wFnmq3 zZ`p|D<|jv+X~}+Dsr9v4@v*({Qt#OEcWO92XkDhbP{Ihqnes@uPW$M+fe$R8Rim7W?bRK((q|+Mo+BVzY`QPg+dhfNqy!e-`d7GY| zQ$tkLVAs{|4USJY9X3zNl^aQ(O`4Ff@x}9^<-KnNRgX!@z36Z<(P^Ex>4AZtrq-6$ zJ`L1!oZeHzP1fHYMg>W}>{EqP7i9ZAKQU4DCCt}oFZ zQn~J-B4PX29)|_bF7q45*1|F>0*JtJC-t?sBK;{?H_FuNO!D%KlK38d zj@c%^m5=>#aZA-B_@Sf(|6)PtAz4s5El(2+YHsuK;lJIVIxif@BY9Nj9u zcgOeprSw#ly7lMLOM1p_F7ocz7Lz^=ss(rW)1L>+Uy0^5-GAzTJiOiPyrz14xJ~E# z+j_Zux<*rUcub65-$e@T3ejr)DnvA*smw{7%IPS9pnC0DJTs zVI6q9!yR2vKX`G?ytKv{=(0o0^$lEr(F}|M1Y<1xPy1!jUwldEQc8Ka1CG!H{dLZG z_SON!6zG7eCZ?SRMHqzg!5>{i;SfuZ%7o7=f&d`@?OxplYXWK7} z{sM1^5rtCik6<}$fJl4e@A>owBSym)ap)5WrhR~4xk!v5IsyZ67M6R7tiYBR!ImV) zYp9Y#E96JPCR^x}A#P4huhNY-KnO#y4%+XKX=lv{j+a0z2=929jC&Z8#%S<8`Av{y zGH8Vk4`$jeb4)8*A|;8-OAyPS8sZ=U3l)N6k+yznrH;j|+u5Xz6+s|TBX}2Sqg-1h z30oQHA`z;wk$d;*CyC(v86Xwux9$^^99Mx{z?Vy-LpkCHDYeF8L%<~%u4P~(GJXsl zRg_X^nGL?{^$WoRn}I;eVdAU;;Wo+2gtePvK$UT@fYO*5CHR+-CywZNk)Xzlho1f2 zcM(`N2~NDRBrtbpb745%N3dP!>YS{PMj(|1C`ejJ5y*j5Rd4#LB5yN?TUJ|Pl;%V3 zCrA9zA`IdVC+b9X74J!umY*$f4ug*9ctoZZQA!To-9;jnOJTW^x*^j&knr|7jJX2{ zMB3YKDJMu(FXTQ?ZYTb&516fxgGfwhloI132we&RDtD1YhKR)6n1Zt8ze+(RJ4k$_ z0~N|K^QfB$+M~1BVWSN=P%>DD9Hyc*7()F-fFS2T2W&YAs!W5xB;~MPuL9v#rO6>L ze=x{k12Y(z)%zu}EW(ctVHoNr6EH5;zDeQn#1vf>sOtfC#9ErN2g>~_Q_#hLwm&98 zg4Ko$K)U4_yc_E4B@v5YXBtLeJn84AS)Eb9bx}eileObETHyA}cf1BvE}~;cT7Fa9 zBooj#2}Xc)?w(l~1x@P8@8k)Eg;S9!9duo2yudbxV0POGAknl zqCW`y3hmm%w5FUcaNID@;_-$519QhiN*v zxIwy?ugsbZpcXJZIkWi}VjyJre;7jZ3GuIO!0L{WR!ET^6k{ah4YIicd1!<>n@{rY zIdCS3WB^`8CKjIyoFHz^p7czs>jMs+1%Jr-zxEP_>C90P0x6%X_KNmJ|&Zh zBx>?&lz3>5BM=b3g3}GfF3RIAuBI;whuL_D;V3t#6(~WZ1(YACa$uCequu0KV50(j z?i?6`jQ05txoF%Jv%!zNX6o~Js{uhOX4ybf=v>{UV#eYTky>ELyPz0atIM>4cQgb! zZCCTgHtmOQ6CfV*z&xZFf46if<1<|>^pS|fa&_KX@;)`F50o7IVeENh#osCrZgcSa z{_Yw9UK#+hkdbpuSEGIVB$(2}K^Yii<>bx{(y0EnS^y<#5AadasXhaW^8 zX^e1B4A4a`IlkW`1>GdpL#;-RNB&%fpyts5(joD~KB^L8_7bEJ(wgA{2GD-P-c>2Q zDgNEZCa|Ujq+~L1>0u>9Mi16JHb=wT$w2@%iTqLv?~Rc_Ph-YL5z;%GGVpb$?+8 zBhUu&T44QnydPLSy>;@wp$foBNqpKdX-;8Vg2D_QM8aO);W=#T@kX1axxWoqbB zv1Iu&N*GQ>az52T!}7}D?&EmKIpN@EWW}XOBXM-#6T2p|XV7M6_tK@{Ykn|YS!0sH zVQ=4)FmEax_Tq`5{*{c=rCYAw2V4xK71D_Pa!9N)U3-YbB+^K1vmdsgzH5TZBtVm@ zOaV^0Byko+MNM4>l5&s6F9-B)8iM&y(Mr~H@Ar`)G|6|BJCBc=vN{z+It?O`Hwb=* zND@CHS}v3myi+LdbtZcBdfZU3JC>k4{y*gsWPvtq_&2E z{WIgh$$o->x57HYJ?>3b*N(ZtQzDaj!Wp*H;faZIQ7_x+t_Mq2g28!{!GLB2wdM|s z3a+Ah5-yuJG_|hr4zMnO#fB5S=T$5oJq$|ZT#*=Jj4>LXf{W~G#wLKD>;&!231+|h zEG8pkSHKZEdlcvZ1yAs464>y71!S9&Tf)($XR~&L){6j20w>q9fV9>=0+Ez0p*lZ- zng(m59@9Wsdo`uvB_o_CtaAZLT0s)hTm8w7bT!uDA&gq;q#)0YK zeNZ^_UJ6aw_}S59s!GDUaUC4ajt=}RR!i*qJYL!-OakWc)qf5+{9Gk+{`pR`8@4&E z>XEK&;qYTcpoYfU00WG~I+ck{!MBJeC@6ABoro`J}9BfA}wj}r(cGAM@ zCSnAR9Ua&teAzJR*;$SliE9Ns8-*{OAk8Cn#!$*(M^DMP&4Yih($ diff --git a/SendFiles.jar b/SendFiles.jar deleted file mode 100644 index 66a4107be727825d7a6c6d95e49f8510a570220c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163027 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 z 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