o
    $ºiå•  ã                   @   s²  d Z ddlmZ ddlmZ ddlmZ ddlmZ	 ddlm
Z ddlmZ e ¡ Ze ¡  d¡Zejd	 Ze e¡Zejd
 Ze e¡Zejd Ze e¡Zejd Ze e¡Zejd Ze e¡Zejd Ze e¡ZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2dZ3dZ4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<ej=d Z>ej=d Z?ej=d Z@ej=d ZAej=d ZBej=d ZCeCjDd ZEej=d ZFej=d  ZGej=d! ZHeHjDd" ZIej=d# ZJeJjDd$ ZKej=d% ZLeLjDd& ZMej=d' ZNeNjDd( ZOej=d) ZPej=d* ZQej=d+ ZRej=d, ZSej=d- ZTej=d. ZUej=d/ ZVej=d0 ZWej=d1 ZXej=d2 ZYej=d3 ZZej=d4 Z[ej=d5 Z\ej=d6 Z]ej=d7 Z^ej=d8 Z_ej=d9 Z`ej=d: Zaej=d; Zbej=d< Zcej=d= Zdej=d> Zeej=d? Zfej=d@ Zgej=dA Zhej=dB Zie jde	jkfe>dCdDœ¡Zle mel¡ e jde	jkfe?dCdDœ¡Zne men¡ e jde	jkfe@dCdDœ¡Zoe meo¡ e jde	jkfeAdCdDœ¡Zpe mep¡ e jde	jkfeBdCdDœ¡Zqe meq¡ e jde	jkfe jde	jkfeEdCdDœ¡eCdCdEœ¡Zre mer¡ e merjs¡ e jde	jkfeFdCdDœ¡Zte met¡ e jd e	jkfeGdCdDœ¡Zue meu¡ e jd!e	jkfe jd"e	jkfeIdCdDœ¡eHdCdFœ¡Zve mev¡ e mevjw¡ e jd#e	jkfe jd$e	jkfeKdCdDœ¡eJdCdGœ¡Zxe mex¡ e mexjy¡ e jd%e	jkfe jd&e	jkfeMdCdDœ¡eLdCdHœ¡Zze mez¡ e mezj{¡ e jd'e	jkfe jd(e	jkfeOdCdDœ¡eNdCdIœ¡Z|e me|¡ e me|j}¡ e jd)e	jkfePdCdDœ¡Z~e me~¡ e jd*e	jkfeQdCdDœ¡Ze me¡ e jd+e	jkfeRdCdDœ¡Z€e me€¡ e jd,e	jkfeSdCdDœ¡Ze me¡ e jd-e	jkfeTdCdDœ¡Z‚e me‚¡ e jd.e	jkfeUdCdDœ¡Zƒe meƒ¡ e jd/e	jkfeVdCdDœ¡Z„e me„¡ e jd0e	jkfeWdCdDœ¡Z…e me…¡ e jd1e	jkfeXdCdDœ¡Z†e me†¡ e jd2e	jkfeYdCdDœ¡Z‡e me‡¡ e jd3e	jkfeZdCdDœ¡Zˆe meˆ¡ e jd4e	jkfe[dCdDœ¡Z‰e me‰¡ e jd5e	jkfe\dCdDœ¡ZŠe meŠ¡ e jd6e	jkfe]dCdDœ¡Z‹e me‹¡ e jd7e	jkfe^dCdDœ¡ZŒe meŒ¡ e jd8e	jkfe_dCdDœ¡Ze me¡ e jd9e	jkfe`dCdDœ¡ZŽe meŽ¡ e jd:e	jkfeadCdDœ¡Ze me¡ e jd;e	jkfebdCdDœ¡Ze me¡ e jd<e	jkfecdCdDœ¡Z‘e me‘¡ e jd=e	jkfeddCdDœ¡Z’e me’¡ e jd>e	jkfeedCdDœ¡Z“e me“¡ e jd?e	jkfefdCdDœ¡Z”e me”¡ e jd@e	jkfegdCdDœ¡Z•e me•¡ e jdAe	jkfehdCdDœ¡Z–e me–¡ e jdBe	jkfeidCdDœ¡Z—e me—¡ ej˜dJ Z™ej˜dK Zšej˜dL Z›ej˜dM ZœejdNkr×dOe_ždPe_ŸdOeE_ždQeE_ŸdOeI_ždQeI_ŸdOeK_ždQeK_ŸdOeM_ždQeM_ŸdOeO_ždQeO_ŸdRe_ dSe_¡dTe_ dUe_¡dVe_ dWe_¡dXe_ dYe_¡dZe_ d[e_¡d\e_ d]e_¡d^e>_ d_e>_¡d`e?_ dae?_¡dbe@_ dce@_¡ddeA_ deeA_¡dfeB_ dgeB_¡dheC_ dieC_¡djeE_ dieE_¡dkeF_ dleF_¡dmeG_ dneG_¡doeH_ dpeH_¡dqeI_ dpeI_¡dreJ_ dseJ_¡dteK_ dseK_¡dueL_ dveL_¡dweM_ dveM_¡dxeN_ dyeN_¡dzeO_ dyeO_¡d{eP_ d|eP_¡d}eQ_ d~eQ_¡deR_ d€eR_¡deS_ d‚eS_¡dƒeT_ d„eT_¡d…eU_ d†eU_¡d‡eV_ dˆeV_¡d‰eW_ dŠeW_¡d‹eX_ dŒeX_¡deY_ dŽeY_¡deZ_ deZ_¡d‘e[_ d’e[_¡d“e\_ d”e\_¡d•e]_ d–e]_¡d—e^_ d˜e^_¡d™e__ dše__¡d›e`_ dœe`_¡dea_ džea_¡dŸeb_ d eb_¡d¡ec_ d¢ec_¡d£ed_ d¤ed_¡d¥ee_ d¦ee_¡d§ef_ d¨ef_¡d©eg_ dªeg_¡d«eh_ d¬eh_¡d­ei_ d®ei_¡d¯e™_ d°e™_¡d±eš_ d²eš_¡d³e›_ d´e›_¡dµeœ_ d¶eœ_¡dOS dOS )·zGenerated protocol buffer code.é    )Úenum_type_wrapper)Ú
descriptor)Údescriptor_pool)Úmessage)Ú
reflection)Úsymbol_databases¼"  
src/ray/protobuf/serve.proto	ray.serve"q
AutoscalingPolicy'
policy_function (	RpolicyFunction3
_serialized_policy_def (RSerializedPolicyDef"Ä
AutoscalingConfig!
min_replicas (RminReplicas!
max_replicas (RmaxReplicas,
metrics_interval_s (RmetricsIntervalS+
look_back_period_s (RlookBackPeriodS)
smoothing_factor (RsmoothingFactor*
downscale_delay_s (RdownscaleDelayS&
upscale_delay_s (RupscaleDelayS.
initial_replicas (H RinitialReplicasˆ=
upscale_smoothing_factor	 (HRupscaleSmoothingFactorˆA
downscale_smoothing_factor
 (HRdownscaleSmoothingFactorˆ4
policy (2.ray.serve.AutoscalingPolicyRpolicy6
target_ongoing_requests (RtargetOngoingRequests.
upscaling_factor (HRupscalingFactorˆ2
downscaling_factor (HRdownscalingFactorˆ=
downscale_to_zero_delay_s (HRdownscaleToZeroDelaySˆ1
aggregation_function (	RaggregationFunctionB
_initial_replicasB
_upscale_smoothing_factorB
_downscale_smoothing_factorB
_upscaling_factorB
_downscaling_factorB
_downscale_to_zero_delay_s"ë
LoggingConfig3
encoding (2.ray.serve.EncodingTypeRencoding
	log_level (	RlogLevel
logs_dir (	RlogsDir*
enable_access_log (RenableAccessLogA
additional_log_standard_attrs (	RadditionalLogStandardAttrs"É
RequestRouterConfigB
_serialized_request_router_cls (RSerializedRequestRouterCls0
request_router_class (	RrequestRouterClassB
request_routing_stats_period_s (RrequestRoutingStatsPeriodSD
request_routing_stats_timeout_s (RrequestRoutingStatsTimeoutS2
request_router_kwargs (RrequestRouterKwargs"™
DeploymentConfig!
num_replicas (RnumReplicas0
max_ongoing_requests (RmaxOngoingRequests.
max_queued_requests (RmaxQueuedRequests
user_config (R
userConfig@
graceful_shutdown_wait_loop_s (RgracefulShutdownWaitLoopS=
graceful_shutdown_timeout_s (RgracefulShutdownTimeoutS1
health_check_period_s (RhealthCheckPeriodS3
health_check_timeout_s (RhealthCheckTimeoutS*
is_cross_language	 (RisCrossLanguageN
deployment_language
 (2.ray.serve.DeploymentLanguageRdeploymentLanguageK
autoscaling_config (2.ray.serve.AutoscalingConfigRautoscalingConfig
version (	Rversion?
user_configured_option_names (	RuserConfiguredOptionNames?
logging_config (2.ray.serve.LoggingConfigRloggingConfigR
request_router_config (2.ray.serve.RequestRouterConfigRrequestRouterConfig=
max_constructor_retry_count (RmaxConstructorRetryCount"È
RequestMetadata

request_id (	R	requestId.
internal_request_id (	RinternalRequestId
call_method (	R
callMethodA
context (2'.ray.serve.RequestMetadata.ContextEntryRcontext0
multiplexed_model_id (	RmultiplexedModelId
route (	Rroute:
ContextEntry
key (	Rkey
value (	Rvalue:8"$
RequestWrapper
body (Rbody"Y
UpdatedObject'
object_snapshot (RobjectSnapshot
snapshot_id (R
snapshotId"»
LongPollRequestb
keys_to_snapshot_ids (21.ray.serve.LongPollRequest.KeysToSnapshotIdsEntryRkeysToSnapshotIdsD
KeysToSnapshotIdsEntry
key (	Rkey
value (Rvalue:8"Å
LongPollResultV
updated_objects (2-.ray.serve.LongPollResult.UpdatedObjectsEntryRupdatedObjects[
UpdatedObjectsEntry
key (	Rkey.
value (2.ray.serve.UpdatedObjectRvalue:8"Á
EndpointInfo#
endpoint_name (	RendpointName
route (	Rroute;
config (2#.ray.serve.EndpointInfo.ConfigEntryRconfig9
ConfigEntry
key (	Rkey
value (	Rvalue:8"©
EndpointSetC
	endpoints (2%.ray.serve.EndpointSet.EndpointsEntryR	endpointsU
EndpointsEntry
key (	Rkey-
value (2.ray.serve.EndpointInfoRvalue:8"%
ActorNameList
names (	Rnames"^
DeploymentTargetInfo#
replica_names (	RreplicaNames!
is_available (RisAvailable"Ñ
DeploymentVersion!
code_version (	RcodeVersionH
deployment_config (2.ray.serve.DeploymentConfigRdeploymentConfig*
ray_actor_options (	RrayActorOptions6
placement_group_bundles (	RplacementGroupBundles8
placement_group_strategy (	RplacementGroupStrategy1
max_replicas_per_node (RmaxReplicasPerNode"õ
ReplicaConfig.
deployment_def_name (	RdeploymentDefName%
deployment_def (RdeploymentDef
	init_args (RinitArgs
init_kwargs (R
initKwargs*
ray_actor_options (	RrayActorOptions6
placement_group_bundles (	RplacementGroupBundles8
placement_group_strategy (	RplacementGroupStrategy1
max_replicas_per_node (RmaxReplicasPerNode"µ
DeploymentInfo
name (	RnameH
deployment_config (2.ray.serve.DeploymentConfigRdeploymentConfig?
replica_config (2.ray.serve.ReplicaConfigRreplicaConfig"
start_time_ms (RstartTimeMs

actor_name (	R	actorName
version (	Rversion
end_time_ms (R	endTimeMs'
target_capacity (RtargetCapacity^
target_capacity_direction	 (2".ray.serve.TargetCapacityDirectionRtargetCapacityDirection"k
DeploymentRouteB
deployment_info (2.ray.serve.DeploymentInfoRdeploymentInfo
route (	Rroute"^
DeploymentRouteListG
deployment_routes (2.ray.serve.DeploymentRouteRdeploymentRoutes"Ä
DeploymentStatusInfo
name (	Rname3
status (2.ray.serve.DeploymentStatusRstatus
message (	RmessageI
status_trigger (2".ray.serve.DeploymentStatusTriggerRstatusTrigger"s
DeploymentStatusInfoListW
deployment_status_infos (2.ray.serve.DeploymentStatusInfoRdeploymentStatusInfos"š
ApplicationStatusInfo4
status (2.ray.serve.ApplicationStatusRstatus
message (	Rmessage1
deployment_timestamp (RdeploymentTimestamp"»
StatusOverview?

app_status (2 .ray.serve.ApplicationStatusInfoR	appStatusT
deployment_statuses (2#.ray.serve.DeploymentStatusInfoListRdeploymentStatuses
name (	Rname"
ListApplicationsRequest"G
ListApplicationsResponse+
application_names (	RapplicationNames"
HealthzRequest"+
HealthzResponse
message (	Rmessage"L
UserDefinedMessage
name (	Rname
foo (	Rfoo
num (Rnum"H
UserDefinedResponse
greeting (	Rgreeting
num_x2 (RnumX2"
UserDefinedMessage2"2
UserDefinedResponse2
greeting (	Rgreeting"T
FruitAmounts
orange (Rorange
apple (Rapple
banana (Rbanana""

FruitCosts
costs (Rcosts"
	ArrayData
nums (Rnums" 

StringData
data (	Rdata"%
ModelOutput
output (Routput"¸
DeploymentArgs'
deployment_name (	RdeploymentName+
deployment_config (RdeploymentConfig%
replica_config (RreplicaConfig&
deployer_job_id (	RdeployerJobId&
route_prefix (	H RroutePrefixˆ
ingress (Ringress 
	docs_path (	HRdocsPathˆB
_route_prefixB

_docs_path"I
ApplicationArgs6
external_scaler_enabled (RexternalScalerEnabled*"
EncodingType
TEXT 
JSON**
DeploymentLanguage

PYTHON 
JAVA*6
TargetCapacityDirection	
UNSET 
UP
DOWN*Û
DeploymentStatus
DEPLOYMENT_STATUS_UPDATING 
DEPLOYMENT_STATUS_HEALTHY
DEPLOYMENT_STATUS_UNHEALTHY#
DEPLOYMENT_STATUS_DEPLOY_FAILED
DEPLOYMENT_STATUS_UPSCALING!
DEPLOYMENT_STATUS_DOWNSCALING*þ
DeploymentStatusTrigger)
%DEPLOYMENT_STATUS_TRIGGER_UNSPECIFIED 3
/DEPLOYMENT_STATUS_TRIGGER_CONFIG_UPDATE_STARTED5
1DEPLOYMENT_STATUS_TRIGGER_CONFIG_UPDATE_COMPLETED/
+DEPLOYMENT_STATUS_TRIGGER_UPSCALE_COMPLETED1
-DEPLOYMENT_STATUS_TRIGGER_DOWNSCALE_COMPLETED)
%DEPLOYMENT_STATUS_TRIGGER_AUTOSCALING4
0DEPLOYMENT_STATUS_TRIGGER_REPLICA_STARTUP_FAILED1
-DEPLOYMENT_STATUS_TRIGGER_HEALTH_CHECK_FAILED,
(DEPLOYMENT_STATUS_TRIGGER_INTERNAL_ERROR&
"DEPLOYMENT_STATUS_TRIGGER_DELETING	*â
ApplicationStatus 
APPLICATION_STATUS_DEPLOYING 
APPLICATION_STATUS_RUNNING$
 APPLICATION_STATUS_DEPLOY_FAILED
APPLICATION_STATUS_DELETING"
APPLICATION_STATUS_NOT_STARTED 
APPLICATION_STATUS_UNHEALTHY2³
RayServeAPIService[
ListApplications".ray.serve.ListApplicationsRequest#.ray.serve.ListApplicationsResponse@
Healthz.ray.serve.HealthzRequest.ray.serve.HealthzResponse2Ã
UserDefinedServiceI
__call__.ray.serve.UserDefinedMessage.ray.serve.UserDefinedResponseH
Method1.ray.serve.UserDefinedMessage.ray.serve.UserDefinedResponseJ
Method2.ray.serve.UserDefinedMessage2.ray.serve.UserDefinedResponse2L
	Streaming.ray.serve.UserDefinedMessage.ray.serve.UserDefinedResponse02L
FruitService<

FruitStand.ray.serve.FruitAmounts.ray.serve.FruitCosts2˜
RayServeBenchmarkService9
	grpc_call.ray.serve.ArrayData.ray.serve.ModelOutputA
call_with_string.ray.serve.StringData.ray.serve.ModelOutputB'
io.ray.serve.generatedBServeProtosPbproto3ÚEncodingTypeÚDeploymentLanguageÚTargetCapacityDirectionÚDeploymentStatusÚDeploymentStatusTriggerÚApplicationStatusé   é   é   é   é   é   é   é   é	   ÚAutoscalingPolicyÚAutoscalingConfigÚLoggingConfigÚRequestRouterConfigÚDeploymentConfigÚRequestMetadataÚContextEntryÚRequestWrapperÚUpdatedObjectÚLongPollRequestÚKeysToSnapshotIdsEntryÚLongPollResultÚUpdatedObjectsEntryÚEndpointInfoÚConfigEntryÚEndpointSetÚEndpointsEntryÚActorNameListÚDeploymentTargetInfoÚDeploymentVersionÚReplicaConfigÚDeploymentInfoÚDeploymentRouteÚDeploymentRouteListÚDeploymentStatusInfoÚDeploymentStatusInfoListÚApplicationStatusInfoÚStatusOverviewÚListApplicationsRequestÚListApplicationsResponseÚHealthzRequestÚHealthzResponseÚUserDefinedMessageÚUserDefinedResponseÚUserDefinedMessage2ÚUserDefinedResponse2ÚFruitAmountsÚ
FruitCostsÚ	ArrayDataÚ
StringDataÚModelOutputÚDeploymentArgsÚApplicationArgszray.serve.generated.serve_pb2)Ú
DESCRIPTORÚ
__module__)r   rB   rC   )r!   rB   rC   )r#   rB   rC   )r%   rB   rC   )r'   rB   rC   ÚRayServeAPIServiceÚUserDefinedServiceÚFruitServiceÚRayServeBenchmarkServiceFNs'   
io.ray.serve.generatedBServeProtosPs   8i\  i~  i€  iª  i¬  iâ  iå  iÀ  iÃ  iÁ  iÄ  i¦  é+   éœ   éŸ   ic  if  iQ  iT  i  i   i9
  i<
  i„  iJ  i†  iª  i¬  i  i  iÃ  i  iÆ  i‹  i0  iŽ  iO  i  iR  iû  i¦  iý  i"  i$  i‚  i…  iÖ  iÙ  iN  iQ  i  i  is  iu  iÓ  iÖ  iš  iœ  i  i  i¬  i¯  ij  il  i…  i‡  iÎ  iÐ  ià  iâ  i  i  i[  i]  i¥  i§  i¼  i¾  ið  iò  iF  iH  ij  il  i‹  i  i­  i¯  iÔ  i×  i  i  iZ  i©  i\   i_   i¢!  i¤!  ið!  ió!  i‹"  )¢Ú__doc__Úgoogle.protobuf.internalr   Úgoogle.protobufr   Ú_descriptorr   Ú_descriptor_poolr   Ú_messager   Ú_reflectionr   Ú_symbol_databaseÚDefaultÚ_sym_dbÚAddSerializedFilerB   Úenum_types_by_nameÚ_ENCODINGTYPEÚEnumTypeWrapperr   Ú_DEPLOYMENTLANGUAGEr	   Ú_TARGETCAPACITYDIRECTIONr
   Ú_DEPLOYMENTSTATUSr   Ú_DEPLOYMENTSTATUSTRIGGERr   Ú_APPLICATIONSTATUSr   ÚTEXTÚJSONÚPYTHONÚJAVAÚUNSETÚUPÚDOWNÚDEPLOYMENT_STATUS_UPDATINGÚDEPLOYMENT_STATUS_HEALTHYÚDEPLOYMENT_STATUS_UNHEALTHYÚDEPLOYMENT_STATUS_DEPLOY_FAILEDÚDEPLOYMENT_STATUS_UPSCALINGÚDEPLOYMENT_STATUS_DOWNSCALINGÚ%DEPLOYMENT_STATUS_TRIGGER_UNSPECIFIEDÚ/DEPLOYMENT_STATUS_TRIGGER_CONFIG_UPDATE_STARTEDÚ1DEPLOYMENT_STATUS_TRIGGER_CONFIG_UPDATE_COMPLETEDÚ+DEPLOYMENT_STATUS_TRIGGER_UPSCALE_COMPLETEDÚ-DEPLOYMENT_STATUS_TRIGGER_DOWNSCALE_COMPLETEDÚ%DEPLOYMENT_STATUS_TRIGGER_AUTOSCALINGÚ0DEPLOYMENT_STATUS_TRIGGER_REPLICA_STARTUP_FAILEDÚ-DEPLOYMENT_STATUS_TRIGGER_HEALTH_CHECK_FAILEDÚ(DEPLOYMENT_STATUS_TRIGGER_INTERNAL_ERRORÚ"DEPLOYMENT_STATUS_TRIGGER_DELETINGÚAPPLICATION_STATUS_DEPLOYINGÚAPPLICATION_STATUS_RUNNINGÚ APPLICATION_STATUS_DEPLOY_FAILEDÚAPPLICATION_STATUS_DELETINGÚAPPLICATION_STATUS_NOT_STARTEDÚAPPLICATION_STATUS_UNHEALTHYÚmessage_types_by_nameÚ_AUTOSCALINGPOLICYÚ_AUTOSCALINGCONFIGÚ_LOGGINGCONFIGÚ_REQUESTROUTERCONFIGÚ_DEPLOYMENTCONFIGÚ_REQUESTMETADATAÚnested_types_by_nameÚ_REQUESTMETADATA_CONTEXTENTRYÚ_REQUESTWRAPPERÚ_UPDATEDOBJECTÚ_LONGPOLLREQUESTÚ'_LONGPOLLREQUEST_KEYSTOSNAPSHOTIDSENTRYÚ_LONGPOLLRESULTÚ#_LONGPOLLRESULT_UPDATEDOBJECTSENTRYÚ_ENDPOINTINFOÚ_ENDPOINTINFO_CONFIGENTRYÚ_ENDPOINTSETÚ_ENDPOINTSET_ENDPOINTSENTRYÚ_ACTORNAMELISTÚ_DEPLOYMENTTARGETINFOÚ_DEPLOYMENTVERSIONÚ_REPLICACONFIGÚ_DEPLOYMENTINFOÚ_DEPLOYMENTROUTEÚ_DEPLOYMENTROUTELISTÚ_DEPLOYMENTSTATUSINFOÚ_DEPLOYMENTSTATUSINFOLISTÚ_APPLICATIONSTATUSINFOÚ_STATUSOVERVIEWÚ_LISTAPPLICATIONSREQUESTÚ_LISTAPPLICATIONSRESPONSEÚ_HEALTHZREQUESTÚ_HEALTHZRESPONSEÚ_USERDEFINEDMESSAGEÚ_USERDEFINEDRESPONSEÚ_USERDEFINEDMESSAGE2Ú_USERDEFINEDRESPONSE2Ú_FRUITAMOUNTSÚ_FRUITCOSTSÚ
_ARRAYDATAÚ_STRINGDATAÚ_MODELOUTPUTÚ_DEPLOYMENTARGSÚ_APPLICATIONARGSÚGeneratedProtocolMessageTypeÚMessager   ÚRegisterMessager   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   Úservices_by_nameÚ_RAYSERVEAPISERVICEÚ_USERDEFINEDSERVICEÚ_FRUITSERVICEÚ_RAYSERVEBENCHMARKSERVICEÚ_USE_C_DESCRIPTORSÚ_optionsÚ_serialized_optionsÚ_serialized_startÚ_serialized_end© rµ   rµ   úZ/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/ray/serve/generated/serve_pb2.pyÚ<module>   s`  






















































þ
þ
þ
þ
þ
þ÷
þ
þ
þ÷
þ÷
þ÷
þ÷
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ
þ





‰