socket.d 2.4.10.5__tar.gz → 2.4.10.6__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/PKG-INFO +1 -1
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/setup.py +1 -1
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/PKG-INFO +1 -1
- socket.d-2.4.10.6/socketd/transport/core/listener/EventListener.py +57 -0
- socket.d-2.4.10.5/socketd/transport/core/listener/EventListener.py +0 -57
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/README.md +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/setup.cfg +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/SOURCES.txt +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/dependency_links.txt +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/requires.txt +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/top_level.txt +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socket.d.egg-info/zip-safe +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/SocketD.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/broker/BrokerFragmentHandler.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/broker/BrokerListener.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/broker/BrokerListenerBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/broker/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/cluster/ClusterClient.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/cluster/ClusterClientSession.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/cluster/LoadBalancer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/cluster/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/exception/SocketDExecption.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/exception/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/Client.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientChannel.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientConfig.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientConfigHandler.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientConnectHandler.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientConnector.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientConnectorBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientHandshakeResult.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientHeartbeatHandler.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientProvider.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/ClientSession.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/client/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Asserts.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Channel.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/ChannelAssistant.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/ChannelInternal.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/ChannelSupporter.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Codec.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Config.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Costants.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Entity.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/EntityMetas.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Flags.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/FragmentAggregator.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/FragmentHandler.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Frame.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Frames.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/HandshakeDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/IdGenerator.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Listener.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Message.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Processor.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/Session.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/Buffer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/ByteBufferCodecReader.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/ByteBufferCodecWriter.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/CodecDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/EntityDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/FileEntity.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/MessageBuilder.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/MessageDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/StringEntity.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/entity/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentAggregatorDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentHandlerBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentHandlerDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentHolder.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/ChannelBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/ChannelDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/ConfigBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/LogConfig.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/ProcessorDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/SessionBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/SessionDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/impl/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/listener/PathListener.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/listener/PathMapper.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/listener/PipelineListener.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/listener/SimpleListener.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/listener/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/server/Server.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/server/ServerBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/server/ServerConfig.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/server/ServerProvider.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/server/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/RequestStream.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/SendStream.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/Stream.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/StreamBase.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/StreamManger.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/StreamMangerDefault.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/SubscribeStream.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/stream/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/AsyncUtil.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/CompletableFuture.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/StrUtil.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/async_api/AtomicRefer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/async_api/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/sync_api/AtomicRefer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/utils/sync_api/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TCPAIOServer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TCPStreamIO.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TcpAIOChannelAssistant.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TcpAioClient.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TcpAioClientConnector.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/TcpAioProvider.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_aio_tcp/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/WsAioChannelAssistant.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/WsAioClient.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/WsAioClientConnector.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/WsAioProvider.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/WsAioServer.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/__init__.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/impl/AIOConnect.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/impl/AIOServe.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/impl/AIOWebSocketClientImpl.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/impl/AIOWebSocketServerImpl.py +0 -0
- {socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd_websocket/impl/__init__.py +0 -0
@@ -0,0 +1,57 @@
|
|
1
|
+
from typing import Callable, Union, Dict
|
2
|
+
|
3
|
+
from socketd.transport.core.Listener import Listener
|
4
|
+
from socketd.transport.core.Session import Session
|
5
|
+
from socketd.transport.core.Message import Message
|
6
|
+
|
7
|
+
|
8
|
+
class EventListener(Listener):
|
9
|
+
"""
|
10
|
+
@author bai
|
11
|
+
@since 2.0
|
12
|
+
"""
|
13
|
+
|
14
|
+
def __init__(self):
|
15
|
+
self._doOnOpenHandler: Union[Callable[[Session], None], None] = None
|
16
|
+
self._doOnMessageHandler: Union[Callable[[Session, Message], None], None] = None
|
17
|
+
self._doOnCloseHandler: Union[Callable[[Session], None], None] = None
|
18
|
+
self._doOnErrorHandler: Union[Callable[[Session, Exception], None], None] = None
|
19
|
+
self._eventRouteSelector: Union[Dict[str, Callable[[Session, Message], None]], None] = None
|
20
|
+
|
21
|
+
def do_on_open(self, _on_open_handler: Callable[[Session, Message], None]) -> 'EventListener':
|
22
|
+
self._doOnOpenHandler = _on_open_handler
|
23
|
+
return self
|
24
|
+
|
25
|
+
def do_on_message(self, _on_message_handler: Callable[[Session], None]) -> 'EventListener':
|
26
|
+
self._doOnMessageHandler = _on_message_handler
|
27
|
+
return self
|
28
|
+
|
29
|
+
def do_on_close(self, _on_close_handler: Callable[[Session, Exception], None]) -> 'EventListener':
|
30
|
+
self._doOnCloseHandler = _on_close_handler
|
31
|
+
return self
|
32
|
+
|
33
|
+
def do_on_error_handler(self, _on_error_handler: Callable[[Session, Exception], None]) -> 'EventListener':
|
34
|
+
self._doOnErrorHandler = _on_error_handler
|
35
|
+
return self
|
36
|
+
|
37
|
+
def do_on(self, event: str, handler: Callable[[Session, Message], None]):
|
38
|
+
self._eventRouteSelector[event] = handler
|
39
|
+
|
40
|
+
async def on_open(self, session: Session):
|
41
|
+
if self._doOnOpenHandler:
|
42
|
+
self._doOnOpenHandler(session)
|
43
|
+
|
44
|
+
async def on_message(self, session: Session, message: Message):
|
45
|
+
if self._doOnMessageHandler:
|
46
|
+
self._doOnMessageHandler(session, message)
|
47
|
+
|
48
|
+
if message_handler := self._eventRouteSelector.get(message.event()):
|
49
|
+
message_handler(session, message)
|
50
|
+
|
51
|
+
def on_close(self, session: Session):
|
52
|
+
if self._doOnCloseHandler:
|
53
|
+
self._doOnCloseHandler(session)
|
54
|
+
|
55
|
+
def on_error(self, session: Session, error: Exception):
|
56
|
+
if self._doOnErrorHandler:
|
57
|
+
self._doOnErrorHandler(session, error)
|
@@ -1,57 +0,0 @@
|
|
1
|
-
from typing import Callable, Union, Dict
|
2
|
-
|
3
|
-
from socketd.transport.core.Listener import Listener
|
4
|
-
from socketd.transport.core.Session import Session
|
5
|
-
from socketd.transport.core.Message import Message
|
6
|
-
|
7
|
-
|
8
|
-
class EventListener(Listener):
|
9
|
-
"""
|
10
|
-
@author bai
|
11
|
-
@since 2.0
|
12
|
-
"""
|
13
|
-
|
14
|
-
def __init__(self):
|
15
|
-
self._do_on_open_handler: Union[Callable[[Session], None], None] = None
|
16
|
-
self._do_on_message_handler: Union[Callable[[Session, Message], None], None] = None
|
17
|
-
self._do_on_close_handler: Union[Callable[[Session], None], None] = None
|
18
|
-
self._do_on_error_handler: Union[Callable[[Session, Exception], None], None] = None
|
19
|
-
self._do_on_message_routing: Union[Dict[str, Callable[[Session, Message], None]], None] = None
|
20
|
-
|
21
|
-
def do_on_open_handler(self, _on_open_handler: Callable[[Session, Message], None]) -> 'EventListener':
|
22
|
-
self._do_on_open_handler = _on_open_handler
|
23
|
-
return self
|
24
|
-
|
25
|
-
def do_on_message_handler(self, _on_message_handler: Callable[[Session], None]) -> 'EventListener':
|
26
|
-
self._do_on_message_handler = _on_message_handler
|
27
|
-
return self
|
28
|
-
|
29
|
-
def do_on_close_handler(self, _on_close_handler: Callable[[Session, Exception], None]) -> 'EventListener':
|
30
|
-
self._do_on_close_handler = _on_close_handler
|
31
|
-
return self
|
32
|
-
|
33
|
-
def do_on_error_handler(self, _on_error_handler: Callable[[Session, Exception], None]) -> 'EventListener':
|
34
|
-
self._do_on_error_handler = _on_error_handler
|
35
|
-
return self
|
36
|
-
|
37
|
-
def do_on(self, event: str, handler: Callable[[Session, Message], None]):
|
38
|
-
self._do_on_message_routing[event] = handler
|
39
|
-
|
40
|
-
async def on_open(self, session: Session):
|
41
|
-
if self._do_on_open_handler:
|
42
|
-
self._do_on_open_handler(session)
|
43
|
-
|
44
|
-
async def on_message(self, session: Session, message: Message):
|
45
|
-
if self._do_on_message_handler:
|
46
|
-
self._do_on_message_handler(session, message)
|
47
|
-
|
48
|
-
if message_handler := self._do_on_message_routing.get(message.event()):
|
49
|
-
message_handler(session, message)
|
50
|
-
|
51
|
-
def on_close(self, session: Session):
|
52
|
-
if self._do_on_close_handler:
|
53
|
-
self._do_on_close_handler(session)
|
54
|
-
|
55
|
-
def on_error(self, session: Session, error: Exception):
|
56
|
-
if self._do_on_error_handler:
|
57
|
-
self._do_on_error_handler(session, error)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/ByteBufferCodecReader.py
RENAMED
File without changes
|
{socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/codec/ByteBufferCodecWriter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentAggregatorDefault.py
RENAMED
File without changes
|
{socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentHandlerBase.py
RENAMED
File without changes
|
{socket.d-2.4.10.5 → socket.d-2.4.10.6}/socketd/transport/core/fragment/FragmentHandlerDefault.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|