
    笜i                        d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZmZmZmZmZmZmZmZ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 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 ddlm Z   ejB                  e"      Z#i dg dg dddgdg dg ddg ddg dg d g d!g d"g d#g d$d%gd&d'd(gd)g d*g d+d,d-gi d.g d/g d0g d1d2g d3g d4d5d6gd7g d8g d9d:d;gd<g d=g d>d?g d@dAgdBg dCdDg dEdFdGgdHdIgg dJdKgdLgg dMg dNZ$	  e       s e       	 dOdPge$dQ<   	  e       r e       s e       	 dUdVge$dV<   	  e       s e       	 dYge$dZ<   	  e       s e       	 d]ge$d^<   d_ge$d`<   dage$db<   	  e       s e       	 dege$df<   dgge$dh<   	  e       s e       	 dkge$dl<   g e$dm<   g dne$do<   g dpe$dq<   e$d*   jY                  g dr       dsdtge$du<   g dve$dw<   g e$dx<   dyge$dz<   g e$d{<   d|d}ge$d~<   g de$d<   ddge$d<   dge$d<   g de$d<   ddge$d<   g e$d<   dge$d<   dge$d<   dge$d<   erddl.m/Z/m0Z0 ddl1m2Z2 ddl1m3Z3 ddl1m4Z4 ddl1m5Z5 ddl1m6Z6 ddl1m7Z7 ddl1m8Z8 ddl1m9Z9 ddl1m:Z: ddl1m;Z; ddl<m=Z= ddl<m>Z> ddl?m@Z@ ddl?m?Z? ddlAmBZB ddlAmCZC ddlAmDZD ddlAmEZE ddlAmFZF ddlAmGZG ddlAmHZH ddlImJZJ ddlImKZK ddlImLZL ddlImMZM ddlImNZN ddlImOZO ddlImPZP ddlImQZQ ddlImRZR ddlImSZS ddlImTZT ddlImUZU ddlImVZV ddlImWZW ddlImXZX ddlImYZY ddlImZZZ ddlIm[Z[ ddl\m]Z] ddl\m^Z^ ddl\m_Z_ ddl\m`Z` ddl\maZa ddl\mbZb ddl\mcZc ddl\mdZd ddl\meZe ddl\mfZf ddl\mgZg ddl\mhZh ddlimjZj ddlimkZk ddlimlZl ddlimmZm ddlnmoZo ddlpmqZq ddlpmrZr ddlsmtZt ddlsmuZu ddlsmvZv ddlsmwZw ddlsmxZx ddlsmyZy ddlsmzZz ddlsm{Z{ ddlsm|Z| ddlsm}Z} ddlsm~Z~ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ ddlsmZ dd lsmZ ddlsmZ ddlsmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlέ ddlmZ ddlmZ dd lmZ dd!lmZ dd"lmZ dd#lmZ dd$lmZ dd%lmZ dd&lmZ dd'lmZ dd(lmZ dd)lmZ dd*lmZ dd+lmZ dd,lmZ dd-lmZ dd.lmZ dd/lmZ dd0lmZ dd1lmZ dd2lmZ dd3lmZ dd4lmZ dd5lmZ dd6lmZ dd7lmZ dd8lmZ dd9lmZ dd:lmZ dd;lmZ dd<lmZ dd=lmZ dd>lmZ dd?lmZ dd@lmZ ddAlmZ ddBlmZ ddClmZ ddDlmZ ddElmZ ddFlmZ ddGlmZ ddHlmZ ddIlmZ ddJlmZ ddKlm Z  ddLlmZ ddMlmZ ddNlmZ ddOlmZ ddPlmZ ddQlm	Z	 ddRlm
Z
 ddSlmZ ddTlmZ ddUlmZ ddVlmZ ddWlmZ ddXlmZ ddYlmZ ddZ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 dd`lmZ ddalmZ ddblmZ ddcl m!Z! dddl"m#Z# ddel$m%Z% ddfl$m&Z& ddgl$m'Z' ddhl$m(Z( ddil$m)Z) ddjl*m+Z+ ddkl,m-Z- ddll
m.Z. ddml
m/Z/ ddnl
m0Z0 ddol
m1Z1 ddpl
m2Z2 ddql
m3Z3 ddrl
m4Z4 ddsl
m5Z5 ddtl
m6Z6 ddul
m7Z7 ddvl
m8Z8 ddwl
m9Z9 ddxl
m:Z: ddyl
m;Z; ddzl
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
mAZA ddl
mBZB ddl
mCZC ddl
mDZD ddl
mEZE ddl
mFZF ddlmGZG ddlHmIZI ddlJmKZK ddlJmLZL ddlJmMZM ddlJmNZN ddlJmOZO ddlJmPZP ddlJmQZQ ddlJmRZR ddlJmSZS ddlJmTZT ddlJmUZU ddlJmVZV ddlJmWZW ddlJmXZX ddlJmYZY ddlJmZZZ ddlJm[Z[ ddlJm\Z\ ddlJm]Z] ddl^m_Z_ ne$j                         D ci c]  \  }}| ea|       c}}Z$ e  eeb      j                  dz  d      Zded eei          j                  e$        ee" eg       d   edehde i      ej                  e"<   dejdejddfdZk eke" dd        eke" dd        e       se#j                  d       yy# e$ r; ddRl
m%Z%  e&e%      D  cg c]  } | jO                  dS      r|  nc c} w c} e$dT<   Y 	w xY w# e$ r; ddWl
m(Z(  e&e(      D  cg c]  } | jO                  dS      r|  nc c} w c} e$dX<   Y 	w xY w# e$ r; dd[l
m)Z)  e&e)      D  cg c]  } | jO                  dS      r|  nc c} w c} e$d\<   Y 
w xY w# e$ r; ddcl
m*Z*  e&e*      D  cg c]  } | jO                  dS      r|  nc c} w c} e$dd<   Y 
@w xY w# e$ r; ddil
m+Z+  e&e+      D  cg c]  } | jO                  dS      r|  nc c} w c} e$dj<   Y 
gw xY w# e$ r; ddl
m-Z-  e&e-      D  cg c]  } | jO                  dS      r|  nc c} w c} e$d<   Y 
w xY wc c}}w (  z5.2.0    N)Path)TYPE_CHECKING   )dependency_versions_check)	OptionalDependencyNotAvailable_LazyModuleis_essentia_availableis_g2p_en_availableis_librosa_availableis_mistral_common_availableis_mlx_availableis_numba_availableis_pretty_midi_available)is_bitsandbytes_available)is_scipy_available)is_sentencepiece_available)is_speech_available)is_timm_available)is_tokenizers_available)is_torch_available)is_torchaudio_available)is_torchvision_available)is_vision_available)logging)define_import_structureaudio_utilscliconfiguration_utilsPreTrainedConfigPretrainedConfig+convert_slow_tokenizers_checkpoints_to_fastdata)DataProcessorInputExampleInputFeatures%SingleSentenceClassificationProcessorSquadExampleSquadFeaturesSquadV1ProcessorSquadV2Processorglue_compute_metrics!glue_convert_examples_to_featuresglue_output_modesglue_processorsglue_tasks_num_labels"squad_convert_examples_to_featuresxnli_compute_metricsxnli_output_modesxnli_processorsxnli_tasks_num_labelszdata.data_collator)DataCollatorDataCollatorForLanguageModelingDataCollatorForMultipleChoice*DataCollatorForPermutationLanguageModelingDataCollatorForSeq2SeqDataCollatorForSOP"DataCollatorForTokenClassificationDataCollatorForWholeWordMaskDataCollatorWithFlatteningDataCollatorWithPaddingDefaultDataCollatordefault_data_collatorzdata.metricszdata.processorsdebug_utilsr   dependency_versions_tabledynamic_module_utils!feature_extraction_sequence_utilsSequenceFeatureExtractorfeature_extraction_utilsBatchFeatureFeatureExtractionMixin
file_utils
generation)AsyncTextIteratorStreamerCompileConfigGenerationConfigTextIteratorStreamerTextStreamerWatermarkingConfighf_argparserHfArgumentParserhyperparameter_searchimage_transformsintegrations)is_clearml_availableis_comet_availableis_dvclive_availableis_neptune_availableis_optuna_availableis_ray_availableis_ray_tune_availableis_swanlab_availableis_tensorboard_availableis_trackio_availableis_wandb_availableloss	pipelines)"AnyToAnyPipelineAudioClassificationPipeline"AutomaticSpeechRecognitionPipelineCsvPipelineDataFormatDepthEstimationPipeline!DocumentQuestionAnsweringPipelineFeatureExtractionPipelineFillMaskPipelineImageClassificationPipelineImageFeatureExtractionPipelineImageSegmentationPipelineImageTextToTextPipelineImageToImagePipelineJsonPipelineDataFormatKeypointMatchingPipelineMaskGenerationPipelineNerPipelineObjectDetectionPipelinePipedPipelineDataFormatPipelinePipelineDataFormatQuestionAnsweringPipelineTableQuestionAnsweringPipelineTextClassificationPipelineTextGenerationPipelineTextToAudioPipelineTokenClassificationPipelineVideoClassificationPipelineVisualQuestionAnsweringPipeline#ZeroShotAudioClassificationPipelineZeroShotClassificationPipeline#ZeroShotImageClassificationPipelineZeroShotObjectDetectionPipelinepipelineprocessing_utilsProcessorMixin
quantizerstesting_utilstokenization_pythonPreTrainedTokenizerPythonBackendtokenization_utilstokenization_utils_base)
AddedTokenBatchEncodingCharSpanPreTrainedTokenizerBase	TokenSpantokenization_utils_fast tokenization_utils_sentencepieceSentencePieceBackendtrainer_callback)DefaultFlowCallbackEarlyStoppingCallbackPrinterCallbackProgressCallbackTrainerCallbackTrainerControlTrainerStatetrainer_utils)EvalPredictionIntervalStrategySchedulerTypeenable_full_determinismset_seedtraining_argsTrainingArgumentstraining_args_seq2seqSeq2SeqTrainingArguments)$CONFIG_NAMEMODEL_CARD_NAMESPIECE_UNDERLINEWEIGHTS_NAME
TensorTypeadd_end_docstringsadd_start_docstringsis_apex_availableis_av_availabler   is_datasets_availableis_faiss_availableis_matplotlib_availabler   is_phonemizer_availableis_psutil_availableis_py3nvml_availableis_pyctcdecode_availableis_sacremoses_availabler   r   is_sklearn_availabler   r   r   r   is_torch_hpu_availableis_torch_mlu_availableis_torch_musa_availableis_torch_neuroncore_availableis_torch_npu_availabler   is_torch_xla_availableis_torch_xpu_availabler   r   requires_backendsKernelConfig)
AqlmConfigAutoRoundConfig	AwqConfigBitNetQuantConfigBitsAndBytesConfigCompressedTensorsConfig
EetqConfigFbgemmFp8ConfigFineGrainedFP8ConfigFPQuantConfig
GPTQConfigHiggsConfig	HqqConfigMxfp4ConfigQuantoConfigQuarkConfig
SinqConfig
SpQRConfigTorchAoConfig
VptqConfig)utilszutils.import_utilszutils.kernel_configzutils.quantization_configvideo_utilsPreTrainedTokenizerFastTokenizersBackendtokenization_utils_tokenizers)dummy_tokenizers_objects_zutils.dummy_tokenizers_objectsSLOW_TO_FAST_CONVERTERSconvert_slow_tokenizer)*dummy_sentencepiece_and_tokenizers_objectsz0utils.dummy_sentencepiece_and_tokenizers_objectsMistralCommonBackendtokenization_mistral_common)dummy_mistral_common_objectsz"utils.dummy_mistral_common_objectsImageProcessingMixinimage_processing_baseBaseImageProcessorimage_processing_utilsImageFeatureExtractionMixinimage_utils)dummy_vision_objectszutils.dummy_vision_objectsBaseImageProcessorFastimage_processing_utils_fastBaseVideoProcessorvideo_processing_utils)dummy_torchvision_objectszutils.dummy_torchvision_objectsmodel_addition_debugger_contextmodel_debugging_utilsactivations)CacheLayerMixinDynamicLayerStaticLayerStaticSlidingWindowLayerQuantoQuantizedLayerHQQQuantizedLayerCacheDynamicCacheEncoderDecoderCacheQuantizedCacheStaticCachecache_utils)GlueDatasetGlueDataTrainingArgumentsSquadDatasetSquadDataTrainingArgumentszdata.datasets).#AlternatingCodebooksLogitsProcessorBayesianDetectorConfigBayesianDetectorModel%ClassifierFreeGuidanceLogitsProcessorContinuousBatchingManagerContinuousMixin#EncoderNoRepeatNGramLogitsProcessor'EncoderRepetitionPenaltyLogitsProcessorEosTokenCriteriaEpsilonLogitsWarperMinPLogitsWarperEtaLogitsWarperExponentialDecayLengthPenaltyForcedBOSTokenLogitsProcessorForcedEOSTokenLogitsProcessorGenerationMixinInfNanRemoveLogitsProcessorLogitNormalizationLogitsProcessorLogitsProcessorListMaxLengthCriteriaMaxTimeCriteriaMinLengthLogitsProcessor!MinNewTokensLengthLogitsProcessorNoBadWordsLogitsProcessorNoRepeatNGramLogitsProcessor PrefixConstrainedLogitsProcessor RepetitionPenaltyLogitsProcessorSequenceBiasLogitsProcessorStoppingCriteriaStoppingCriteriaListStopStringCriteria$SuppressTokensAtBeginLogitsProcessorSuppressTokensLogitsProcessorSynthIDTextWatermarkDetectorSynthIDTextWatermarkingConfig#SynthIDTextWatermarkLogitsProcessorTemperatureLogitsWarperTopHLogitsWarperTopKLogitsWarperTopPLogitsWarperTypicalLogitsWarper.UnbatchedClassifierFreeGuidanceLogitsProcessorWatermarkDetectorWatermarkLogitsProcessorWhisperTimeStampLogitsProcessor$TorchExportableModuleWithStaticCacheconvert_and_export_with_cachezintegrations.executorch)ChunkConcatenateConversionOpsMergeModulelistPermuteForRopeSplitModulelistWeightConvertercore_model_loadingmodeling_flash_attention_utilsGradientCheckpointingLayermodeling_layersmodeling_outputsBackboneConfigMixinBackboneMixinbackbone_utils)ROPE_INIT_FUNCTIONSdynamic_rope_updateRopeParametersmodeling_rope_utilsPreTrainedModelAttentionInterfacemodeling_utilsAttentionMaskInterfacemasking_utils)	Adafactorget_constant_schedule!get_constant_schedule_with_warmupget_cosine_schedule_with_warmup2get_cosine_with_hard_restarts_schedule_with_warmup+get_cosine_with_min_lr_schedule_with_warmup3get_cosine_with_min_lr_schedule_with_warmup_lr_rateget_inverse_sqrt_scheduleget_linear_schedule_with_warmup)get_polynomial_decay_schedule_with_warmupget_schedulerget_wsd_scheduleget_reduce_on_plateau_scheduleoptimizationConv1Dapply_chunking_to_forwardpytorch_utilstime_series_utilsTrainertrainertorch_distributed_zero_firsttrainer_pt_utilsSeq2SeqTrainertrainer_seq2seq)dummy_pt_objectszutils.dummy_pt_objects)r?  r@  )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r    )r   )r   )r3  )r4  )r5  )r6  )r7  )r8  )r9  )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@   )r   )r   )r  )r  )rE   )rG   )rH   )r  )rK   )r  )r  )r  )rL   )r  )r  )r	  )r
  )r  )r  )r  )r  )r  )r  )rM   )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r  )r   )r!  )r"  )r#  )r$  )r%  )r&  )r'  )r(  )rN   )rO   )r)  )r*  )r+  )r,  )r-  )r.  )rP   )r/  )r0  )rR   )r   )r   )r   )r   )rV   )rW   )rX   )rY   )rZ   )r[   )r\   )r]   )r^   )r_   )r`   )r1  )r2  )rI  )r   )r<  )rB  )rD  )rC  )rG  )rF  )*)
MambaCache)TimmWrapperImageProcessor)rK  )rL  )rM  )rN  )rO  )rP  )rQ  )rR  )rS  )rT  )rU  )rV  )rc   )rd   )re   )rf   )rg   )rh   )ri   )rj   )rk   )rl   )rm   )rn   )ro   )rp   )rq   )rr   )rs   )rt   )ru   )rv   )rw   )rx   )ry   )rz   )r{   )r|   )r}   )r~   )r   )r   )r   )r   )r   )r   )r   )rY  )rZ  )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r]  )r   )r   )r   )r   )r   )r   )r   )r_  )ra  )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   )r   models)prefix__file____version__)module_specextra_objectsaliastargetreturnc                 
   t        j                  |       }d d|_        fdfd|_        fd|_        |t
        j                  | <   t        t
        j                  t           | j                  dd      d   |       y	)
zv
        Lazily redirect legacy tokenization module paths to their replacements without importing heavy deps.
        z.Alias module for backward compatibility with `z`.c                  8    t        j                   t              S N)	importlibimport_module__name__)rn  s   Q/mnt/e/genesis-system/.venv/lib/python3.12/site-packages/transformers/__init__.py_get_targetz/_create_tokenization_alias.<locals>._get_target  s    **68<<    c                 &    t                |       S rr  )getattr)namerw  s    rv  <lambda>z,_create_tokenization_alias.<locals>.<lambda>  s    '+-*F rx  c                  $    t                       S rr  )dir)rw  s   rv  r|  z,_create_tokenization_alias.<locals>.<lambda>  s    []!3 rx  .r   N)
types
ModuleType__doc____getattr____dir__sysmodulessetattrru  rsplit)rm  rn  modulerw  s    ` @rv  _create_tokenization_aliasr    sp    
 !!%(I&QST	= G3#EH%u||C';B'?Hrx  z.tokenization_utils_fastz.tokenization_utils_tokenizersz.tokenization_utilsz!.tokenization_utils_sentencepiecezxPyTorch was not found. Models won't be available and only tokenizers, configuration and file/data utilities can be used.(m  rj  rs  r  r  pathlibr   typingr    r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   utils.import_utilsr   
get_loggerru  logger_import_structurer   r~  
startswithr   r   r   r   extendrc  rA  r?  r@  r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   r:  r3  r4  r5  r6  r7  r8  r9  r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   data.data_collatorr5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   data.datasetsr   r   r  r  rD   rE   rF   rG   rH   rJ   r  rK   r  r  r  rL   r  r  r	  r
  r  r  r  r  r  r  rM   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r!  r"  r#  r$  r%  r&  r'  r(  rN   rO   r)  r*  r+  r,  r-  r.  rP   r/  r0  rQ   rR   r   r   r   r   r   r   r   r   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   integrations.executorchr1  r2  rJ  rI  r   r   r=  r<  rE  rB  rD  rC  rH  rG  rF  rg  models.mamba.modeling_mambare  models.timm_wrapperrf  rX  rK  rL  rM  rN  rO  rP  rQ  rR  rS  rT  rU  rV  rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r[  rY  rZ  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r^  r]  r   r   r   r   r   r   r   r   r`  r_  rb  ra  r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   utils.kernel_configr   utils.quantization_configr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   itemssetri  parentimport_structure	frozensetupdateglobals__spec__r  strr  warning_advice)r{  kvs   000rv  <module>r     s  *   
     (
 
 
 J ; K = 9 E ; E G = % 7 
		H	%L2L	2L .0BCL 22	L
  L2  3LN BOLP rQLR 2SLT  ULV  WLX BYLZ (*D)E[L\ 1I J]L^ "_L`  aLp '(qLr RsLt uLv  wLP BQLR  #SLZ )*[L\ "]L^ R_L` 1?CaLb "cLd   eLr rsLt ')?(@uLv  wLH  ILV )*WLX 89YLZ%L //*+", WL ^"$,.. % 	":56&(-D-F,.. .G 	" 3./

P'),.. * 9O7O34G ,.. ! 3I1I-.3G2H./(E'Fm$I#%,.. & 9Q7Q343G2H./{>,..   	*2-. (*m$(m$*o& l#**/	
1j 	/'4/0
/*+ ;=67,H+I'(,.()+@/*R&'/o+,+<>R*S&'*B)Co&)n% +34O)Po&-/)*$-;i -K,L(),<+='(  C+99GC=I77QIIZX2>BFDFF 524d24::B\<8D^B<8D@fb ULl`\VNR9U;Wg GZ gRLJj:R>fn@F>ZZZ@>VD>FB>Pb@RX``V@HDhZXZfNH8@@@F CDP^BSP]W KFJJHBLJRJFugOiYOEOHBE[ 5Ld` U`t<B @UcIMaQ?U[QMGKOK5MM/CQ[SKEUU]e[ee]]//BB//UU POCCAAGG==[[?? _^aa 
 ,+LLPPDDFFDDBB>>^^AA??CC==QQ33EE[[ 2199;;33//??CC==99EE??IIIIAACCKKIICCGGGGIIUUGGGGGG55AA DCMMAAQQSS]]CCMMWWIICCEEAAGGEECCCCIICCPP/@/F/F/HItq!CFI.tH~/D/Dx/OX`aYr]#**+<='	*$k2CKKI# Is It I" (+CDFfg(+>?Ade 
 	C i & / 56;dooc>R; ;67" & A GHMPTP_P_`cPdM MHI & 3 9:?$//RUBV? ?:; & + 127$//#:N7 723 & 0 67<ts?S< <78 & w'DGHXDY2vDaeapapqtau42v2v./wR Js   &k
 =l m 1n o /p <q
l
k;6k;:l
	l
m"l>9l>=mmn%n<n nno(o?ooop+ppppq.q
q
	qq