IMD 1.17: 25/12/2009 18:48:24 45858255-071 standard software system utilities style: b25-stp level: r12.3.08 03/02/94 label: b25stp-7/8    9|P^mJ7 "  + : C T m} #"@[q(&)* +U,E2M3i456$7 8!9 FG$6H ZIzJ!Z [ \] ^_d"e?f&Zghi4jkfVolume Name : FILE NAME/STRUCTUREBEGIN END SECTORS ERRORS PHASE ONE ERRORS:Total Errors:Overlap Errors:AvailableVolume Home BlockWorking Volume Home BlockAllocation TableBad Disk SectorEnd of diskUnknowninvalid checksuminvalid Alternate File Header Blockpage number exceeds limitinvalid page numinvalid Directory Lfainvalid file numberinvalid header sequence numberpage number in alt FHB areainvalid free run indexinvalid end of file pointerInvalid initial VHB lfa in Working VHBInvalid VHB lfa in Working VHBNo valid Volume Home Block foundFree sector count in VHB disagrees with computed number of free sectors : Computed =, VHB = invalid directory hash valueInvalid Directory hash value: Already encountered FHB: Unaccounted File Header: Invalid File Header count, actual = , expected = Invalid free FHB count, actual = mismatch name: Invalid free FHB page num: Invalid free FHB header seq number: Free FHB index in alt FHB area: Invalid Free FHB: Invalid free header chain value: IO Error at , Erc = Lfa exceeds maximum lfa: Lfa Address not sector aligned: Missing Sector Sector Overlap VERIFYING VOLUME HOME BLOCKS ... VERIFYING DIRECTORIES ... COMPUTING AVAILABLE FREE SECTORS ... VERIFYING BAD BLOCKS ... VERIFYING FILE HEADERS ... XCVerifying free file header %0N of %1N ... XVerify volume %0S Overlapping or missing bit map errors encountered. Please archive, reformat, and restore this volume.mJ*+: ITn      " 5 O  b l  z (        - > O ` q ! " #F $P %; &P 'm (p )s *v +y ,>| - .#A /#d 0# 1# 2% 3 4 5 6 72( 84Z 9( :C ; <=1>M?i@ABCDEF+GGHcIJKLMN O'PCQ_R{STUVWX#Y?Z[[w\]^_`ab;cWdsefghijk7lSmonopqrst3uOvkwxyz{| }~2LhMSVY[\]Jy3Ok-Ie )Ea} %A]y!=Yu9Uq5Qm     ,1-2B.t/0123&4"5$6/7/H8(w9!@ AB#CK D3X Er FT GqQ!H!Ix"J"K""L"M$"N"Oz#P2 $Q6;$Rq$S;%T*V%U2%V%Wd%X1&YJ&Zac&[>&\.'] 0' Print File Header File Name = %0SPassword = %0SNo PasswordCheckSum = # of Sectors = Protection Level = LfaEndOfFile = fileHeaderPageNum = File Class = fileHeaderNum = LfaDirPage = extensionHeaderNumChain = defaultExpansion = headerSequenceNum = freeRunIndex = fNoSave = fNoDirPrint = fNoDelete = !Www! !Nnn! !0d!, !yyyy! at !0t!:!0m! Creation Date = Modification Date = Last access Date = Expiration Date = Vda/Run Length:userObjectType = Distrix Buffer:fReadOnly = bDosMagic = bDosAttribute = parentFhbNum = cLink = ObjectType = Application Field:%0S's primary fileheader has been replace by the alternate fileheader.================================================================================Computed checksum is Volume Checkerboard Reporter AEAFAAVFAC Darker areas are available (number = sectors) Bytes Sectors  ------------ --------- Total Total In Use Total Available Largest Contiguous Number of Free Areas Bytes/SectorSectors/TrackTracks/CylinderCylinders/DiskAllocation Table for Volume : %0S Device : %1SAllocation Summary for Volume : %0S Device : %1SVolume Home Block for %0S Device %1S Primary VHB Working VHB GetVHBCheckSum lfaSysImageBase cPagesSysImage lfaBadBlkBase cPagesBadBlk lfaCrashDumpBase cPagesCrashDump sbVolName sbVolPassword lfaVhb lfaInitialVhb creationDT modificationDT lfaMfdBase cPagesMfd lfaLogBase cPageLog currentLogPage currentLogByte  lfaFileHeadersbase cPagesFileHeader altFileHeaderPageOffset iFreeFileHeader cFreeFileHeaders clusterFactor defaultExtend allocSkipCnt lfaAllocBase allocPageCnt lastAllocPg lastAllocWd lastAllocBit cFreePages idev rgLruDirEntries magicWd BootBaseSector  BootBaseHead BootBaseCyl BootMaxPageCount BadBlkBaseSector BadBlkBaseHead BadBlkBaseCyl BadBlkMaxPgCnt DumpBaseSector DumpBaseHead DumpBaseCyl DumpMaxPageCount bytesPerSector SectorsPerTrack tracksPerCyl cylindersPerDisk verifyCode sectorSize spiralFactor startingCode interleaveFactor venderCode seekStepRate gapSize writePreCompCyl devType trackSeekTime settleTime verifyCodep Print VHB !0o!!0d!!yy! !0t!!0m!%0S is neither Yes nor No.fECC verifyCode VolumeCapacity PhysicalSectorSize DeviceClass InterfaceClass LookVHB C EFELDev/Volume Name Free Pages Free File Headers Vol Password Dev PasswordLNLFC[]Device Control Block for %0S DCB from Memory Query DCB QueryDiskGeometryfMountable fNonSharable fDoubleDensity fNoMultiTrack fAttention fTimeout devName devpassword controllerNum unitNum state unitStatus  deviceClass userCount oVhb oIobFirst oIobActive lfaMax lfaMask verifyKey unusedByte1 fHdcRecovered cHdcRetries setRetryCnt softErrorCnt hardErrorCnt currentCylinder sectorSizeCode gapLength dataLength  bytesPerSector sectorsPerTrack tracksPerCylinder cylindersPerDisk fInhibitECC fOnLine retryLimit oQueueIob oAxtiveIob chain romClass romOrdinal ovlyProcOpen ovlyProcClose FloppyMediaType FloppyDriveType DiskGeometry Information cylindersPerDisk  tracksPerCylinder sectorsPerTrack bytesPerSector fRemovable fMountable fEccCapable fUtilizeECC fWritePrecompensation reserved sbResourceMgr rgResourceId writePrecompCyl gapLength stepRate spiralFactor interleave BlocksPerDisk DeviceClass FloppyMediaType FloppyDriveType Bad Spot Locator Cyl/Hd/Sector input not valid on LBA SCSI devices. is contained in %0S. is a free Sector. + sector sectorsCylinder exceeds drive specifications Head exceeds drive specifications Sector exceeds drive specifications is contained in the Primary Volume Home Block. is contained in the Working Volume Home Block. is contained in the Allocation Bit Map. is contained in <%0S> directory.Volume Copy Verifying Volume Home Blocks. Verifying Master File Directories. Deleting all non system files and directories from the destination volume. The destination volume cannot be the [Sys] volume. WARNING: Either one or both volumes have encryted password. Directory and file passwords will not be retained. The capacity of the destination volume must be same or higher than the source volumeNot enough free file headers to accomodate all files. Please reformat destination volume with more file headers. Destiination volume's Mfd.sys does not have enough space to accomodate all directories in the source volume. Please reformat destination volume with more number of directories. Creating directory <%0S> Copying file %0S ...%0S is a system file. Not copied. done %0S is not a valid volume (erc 216).Space allocated for SysImage.sys on the destination volume is too small. Please use Expand File or reformat this disk to allocate more space for SysImage.sys. The directory of destination volume is too small. Please reformat destination volume with a larger directory. Unable to read Mfd.sys of the source volume. Removing directory <%0S> from the destination volume. The destination volume has valid non system files or directories. All non system files and directories will be deleted. (Press GO to confirm, CANCEL or FINISH to exit) Directory <%0S> is not empty. Cannot be removed (erc 241). File %0S not copied. Erc 301 encountered. The source and destination volumes are the same. %0S is in use (Error 220). Destination volume must be local to the system or processor board where this program is executing. SOURCE VOLUME: %0S DESTINATION VOLUME: %0S This command can only be executed on local volumes. This system does not have any local volumes. XCProcessing file %0N of %1N. XPress GO to proceed, CANCEL or FINISH to exit. PasswordmJ      !"#$%&'()*+,-./ 0!1"2#3$4%5&6'7(8)9*:+;,<-=.>/?0@1A2B3C4D5E6F7G8H9I:J;K<L=M>N?O@PAQBRCSDTEUFVGWHXIYJZK[L\M]N^O_P`QaRbScTdUeVfWgXhYiZj[k\l]m^n_o`paqbrcsdteufvgwhxiyjzk{l|m}n~opqrstuvwxyz{|}~mJ'C%H m*'(5"#W z W i *@ "j 8#*%1&V/|2./ 0:%j+(4HY^# !4"@,#5l$@%>&.'MThe command form has an invalid case.No file size has been specified.Please enter only one value for file size.%0S is an invalid file size.%0S is an invalid device specification.%0S has an invalid or missing directory.This operation can only be performed on a local disk.Expanding %0S%1S to %2S sectors... done. There are files are open on %0S. Please close all files on the device and try again . Not enough contiguous sectors. Please squash the disk or delete some unnecessary files and retry again. An invalid password was specified for %0S.Please enter only one device name.Please enter only one file name.The file is currently the size specified and contiguous.Shrinking %0S%1S to %2S sectors... %0S can only be resized using Format Disk.%0S is an invalid file specification.The file name cannot have a node name.The file name cannot have a volume/device name. Can't create required temporary file. Error %0N. BadBlk.sys will be copied to the new file... The contents of Log.sys will not be copied... Sysimage.sys will be copied to the new file... File cannot be modified. Error %0N. (Press GO to continue, FINISH to exit) Please close all files on volume. Then SysImage is empty, will not copy it to new file... The new file is smaller than the old file. The contents are truncated. Error %0N has occurred while accessing the Volume Home Block. The file was not expanded. Error %0N. Cannot remount device. Error %0N. Cannot delete %1S Error %0N. Cannot open [Sys]ExpanderMsg.bin. Expansion of %0S on a partitioned disk is not supported (erc 7). Contents of old file will be copied to new file ... A file name of the form 'FileName' must be specified.Expansion of files on memory devices is not supported (erc 7). Only a device name is accepted in this field.Expand File %0S GWE\0ig \05 ]\\@@:w Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1 "=?M/MoSV_@WZ^ ___ ` lmpo_ppu?v/@vpxPz}~`?`?0pPpOДO_?0? _``?p@@ЭPo?0p@O/ PP/@pOP0Oo ?0pp0Op0 @   P0P@_` !!#/i'*G'(1"E )#+7* 8F0% /N!)AJ%8 Q q/$`9Y?T\+\-I @ZB rrLrhr}rr SAd`fD7 BBzBBBB>KFy[ =l(> q6y66666666%&%a%%%%% %_ {T{g{{_%\%%%%777HHFHHH0HH H{HHHAG'3<j<<<MV nn/nFnXnv)v<D i  y 9F] ] ] _ y 3 r 7 H 0 C c  l    v       + B { ! T k 1 g    - h /  .  mG  6 O o  , H  > Q    * < + F f   iA vA A A A A LA A A A A A A }A A A A A A A ,  U      8\ 4\ A\ ]\ v\ \ \  \ \ S \  \ \ \ R\ ;t$=SPS2`9J(>`/\Z^*jr|B\w%_n{%7H/3<PVnv 4 D \ ]   4 G A    \ $_jESet`W!'KQ}06^dR8>PV?DQ-@k  # G M  0 B DJ&p!'=hj{^ d S Y 9@h #)w4:RXqw#;A}SYrx 2f\t$\*\\\\\\\\P\V\\\\\\ \0\6\S\u\{\\\\ \\i\\\\\\\!\I\\\\\ \)\/\>\H\N\v\|\\\ \ \ \ \ \ \ \- \3 \d \j \} \ \ \ \F \L \_ \ \ \ \ \ \ \ \ \ \4 \: \M \] \g \m \ \ \\^\d\\\\\\\\2\8\K\}\\\\ p z ^6^O^x^~^^^^^%^:^V^s^^^^^^!^'^<^X^u^^^^^F^L^s^y^^^^+^t^^^^^^^^^^5,<&T|#)RXv|J7\bu IO*C*q****W*** *+***R****r#rTrprrr||'!@N{"nL z BBhB\,LV^/&NcKQEt0FO(626<6F6R6^6k6o6w6=6k6666#6Q66666666666666666677 777777#7'7+7/73787<7@7D7H7M7Q7U7Y7]7b7f7j7n7r7w7{777777777777777777777777777dh%%%%%%?{{#Q ~}s@AmI7lHH*HPHtH HoHsHHH6HHHHHH%NI#/g3PAPH9b9v8vTvrvvv3vivnvvv!vvvv59 Z 4 C4 \4 4 4 4 ED `D D D D D D 'D lD ] Q] `] ] ] b]  a  ;   A "  ` 0 34 4 4 4 G G KG tG G G G G G iG G G G G G G iG G G G KG G G G G G +G  3 z 9 k F  DA 4A ^A A ,A tA zA A 5A =A wA A RA A  4 u  Z     R \ \ p\ \ `\ \ I\ `\ \ \ Q\ \ \ Q\ \ \ \ \ \ \ \ \ \ \ % \ \ \ \ 9 \ \ \ \ \ \ \ B\ \ \ \ ,\ y\ \ \ \ \ +\ !y,b5$[$$$$($N$~$$$$w$$:\Yjjjjjjejjjjjjqjjj& j j j{ j jt j jQ j jEett  hhFPF ur9P^Shu@r9hhFPF uIr9s4hpRQP5PhPP(h5P6DNv7FFhhFPF u Nv@7FFhhFPF u Nv7FFhhFPF u^r9r 184 4 6hqRPh5PhPP(h5P6DNv18FFhhFPF uZFPP(^&Olu"wm"9F^&Gl5H "9Z Z 5Nv"9FF5s9^h`RPh5PhPP(EP5P6lJPPP6P(EP6P6hPhPP(FFvYsPRPh5PhPP(lJP6P6v5P6PP(FtlJP6P6h7P6PP(lJP6P6h@7P6PP(lJP6P6h7P6PP(lJP6P6h18P6PP(s9r-lJP6P6h"9P65PP(+lJP6P6hRPhPP(~uF6Fu+JtlJP6P6vFPhPFP6P6FP~^.v7NFv@7NFv7NFv18NF~tjs9r\FPP(^&Olu"wm"9F^&Gl5H "9Z Z 5s9v"9NF5s9 0~t~tFN0F u :u:t~tFFWFutlJPP(lJPP(Xr9r_\ ~f 6f z7f F{6n r FFr ȍv6766~h_RPh5PhPP(6z5򤸆EPFP P FEP8~tth]RQP5PhPP(EP5P66P6Futˀ~t 8FFEP6P6hPhPP(FhhP*P(hP*P(hP*P( S6 RPhShShCFRPhFPF t5^Gn p ^&Gr Hx z ^&@| FPFP,~ s7376 F uFPFPEPPPPP(6hrRPh5PhPP(;rTƇ5 @;w+Ⱦ5 5EP6P6h5P6PP(>t%sFt  ~u"9P65hF umF u[]Ft  ~u6EP6P6h7P6PP(Qv TUQQFF;/ra؋F 9tHWR~ WQPt9PP(>t9tF^&] FF] U/؋  uh5Hu^PRRPRPRPRPRPFPNPF5H;Fw //5H5RFl//]U@/FFHN;s Ftx9z=P6P6@7P6mmP|= u6z= |= u>P6P6@7P6tmPz9PP|= uz=FHN;sz&@xFt>PFPFPPPPPFPP<|= uFscF;rWzF&9@t:WRVRQPt9PP(>t9tƆFFrv s ;6=t)sPPvFPF;=txsmƆ<9FwF/؍`PN/؋ F>P/PPPP5P|= u=0F;=tNsCƆ<9FwF/؍"PN/؋F^Ɔs9r}Fz&9@tbWRQQPt9PP(>t9t6FzxB"95Fz5&@xƆr>69FwFFzxBPNFzF&@xsFF^FFFPFPP=PPv9PP(EP=P6v96P6tx9z8vNx9zF&@x9xBPNx9zF&@xx9&@ x9OPFPvP~E>|=t|=>PP(|= uP6P6P1EF/sss /r |=|=]ˋ|=uP6P6P1|=]UQQFF;rgzF &9@tJWR^ SQPt9PP(>t9tF^&] FF] Uz=P18P6RPPmmP|= uF 6z= |= u/ >P18P6RPPtmPz9PP|= u/@/=r9r=z??9?HP=zX&@=??9=z?&P=??9=z?&H=@====>P?P=P:@PPP=PP<|= u=@@se= rX؋=9-?t=WR?R?QPt9PP(>t9t@==@s@r= u s!@s=w u>=t,:@8===@=@>=tq@;w |=B=<9=w=HB؍:@=HB؋=2LJ46=uu tHB؁4s|=@HB4D9w |=C="9=w==z8:@==z=&@=x":@==z=&@@==&@ =&@xs9r>=t;=ttRQ=zPP6t9PP(>t9t3=zxB"95=z5&@x>=tF9=w==zx":@==z=&@@>=t@s@s9rM=z&9@t1WRQQPt9PP(>t9t@@rC69=w==zxB:@==z=&@x=/>=t,:@8===@=@>=te/=@/;w |=D=m<9=w==؍:@==؋=1>= t<9=w==؍:@==؋= :@QPRPRPRPRPRP=PNP|= u!P:@P6="9P65P|=]>= tA<9=w==؍`:@==؋=I>= t><9=w==؍":@==؋=^>|=t|=>PP(>|=tr9r>/tJP18P6P~|=J|/؋  u)VRRPRPRPRPRP5PNP|=/r0؍  /؋ LJ 6|=18P6P~|=]6|=18P6=PPP|=]˸L|=PHB؍RH2'PPP|=]˸K|=P?P6=18P6P|=]˸M|=P?P6=18P6P|=]˸N|=P:@P6=18P6P|=]6|=18P6P1|=]UQ^S)PPFPZLP(^S^Sv FPZLP(^S*PPFPZLP(F u^S^SPFPZLP(^S+PPFPZLP(]UQQ>/t]/9/u&^S?Q?IQ؍R/؃ u^S?P6?6N&|ލAPN&w^S,PPFPZLP(^S/؍R FPZLP(^S-PPFPZLP(^S.PPFPZLP(^S/PPFPZLP(^SNSPFPZLP(^S0PPFPZLP(^S1PPFPZLP(FF;5vYHR؋/ u ~WFH/VRFPZLP(^S2PPFPZLP(Ft/؃^t6N&O&wp؍"F/N&O؉^/؋^ u~W?V6?"VR/؋ u$ t~W?V6?`VR/;/tjFF;5vYHR؋/ u ~WFH/VRFPZLP(^S3PPFPZLP(Ft]U\WRQP=PPv9PP(EP=P6v96P6tnPRPP=PPv9PP(EP=P6v96~6z6x | fr9r~ h  Fd6>u+JBVu ʾ6h~ > u+JV +ʋ~ ~h +FFPhPvRPPwmPz9PPF u8sFP6P6@7P6mmPFt2FP6P6RPPmmPF uE ~u6>tavPP PF u 7򤊆vP7PPF uƆFPFPP@7P6mmPFt%FPFP6RPPmmPF~tƆ ~ur9rRmPRPP=PPv9PP(P=P6v9FPZLP(P1x9=;wrNHx9N;s\z&xxt &x t2PFzR&pPBR&pxFtPP(FPhPvRPPmmPF urvF uR8svFPPRPPF uƆvP7P6 F uvP7PP F uv P(PFP*P(v6P6@7P6^SPP|Ft+v6P6RPP^SPP|F~uƆ^SP+P(vF u>uFP6P6@7P6mmPFt%FP6P6RPPmmPF~unvP7P6 F uLvP7PP F u*v P(]vhPvP1]v6P6P1rv6P6RPPF]vFPPP1rv6P6RPPF]UQXPRPPAPP@PP(AB@@@B@@@@ظ8@@@ظ8@@@]UQ8@@@ AFF;v6 AA AHBQ[@@2@Ft]UQ8"A$A&AFF;/v.HPF["A$A&AFt]U^FB؋6N4INFF^NQPPP\[PRPPAPP@PP(AP6@4\FB؍R24\ZFPBP6@P^Sv4PP(FFF;FvZFQBQ6@+F@PFzP"R&p@4PP(ZFPBP6@F+F@PFzPBR&px4PP(Ftn]UQZFPBP6@PIPP4PP(FF9FsZZFQBQ6@PJPP4PP(ZFPBP6@vKPP4PP(Ft]Uv WgPRPPAPP@PP(EPAP6@F B؋6v4rItdžprHp;sfvzQ:^pBx6vpzQ:^&Hx&H ptdžnƆggs{ZFPBP6@nPH:xR6W HP6P6^S~EPnH:t^&?ujRnHxRRPPrmPlt=iPRPPAPP@PP(A@򤋆nH:x>@򤋆nH:@hEQQP^&utlPRPPAPP@PP(EPAP6@6P6^&^&?tB&gWRQPAPP@PP(EPAP6@ EP j l^&8t9nt rnn^^& u :u:tr;nt džnn#^&uutƆgz^&utndžprHp;sX:Pvpz^xyB6򤋆p:Pvpz^&Hxptr]UQ^&F^&uu> AwtePRPPAPP@PP(EPAP6@P@P6 AP@PPFP6P6^SA ^&FEP^&?tHZFPPP6P(FHP^SFZFPP(^&?t&]Unv P(F ;/tdžF H;sqZFPBP6@AQR؍/R/4PP(R؋//򤋆R؋/t-džF H;sRǂtdžƆsZFPBP6@PHRR6WHP6P6^S~EP^&8t9t F ]^& u :u:tF ;t dž#^&uutƆ^&utTdžF H;s8R/򤋆R/tF 5v ]UtYPRPPAPP@PP(EP6P6PAP6@4PP(EP6P6P/؍R4PP(9/wwFfPRPPAPP@PP(EPAP6@P"AP6/P@PPFP6P6^SA ^&FEP^&?tFHF؋  uVRRPRPRPRPRPFPNPA~w@jPRPPAPP @PP(EPAP6@F~uZFPPP6P(FPFPdP\ZPRPPAPP@PP(AP6@4\F؍R4\ZFPBP6@P^Sv4PP(hPRPPAPP@PP(EPAP6@vv^SiZFPP(FkPRPPAPP@PP(A~@F؋>@{F؋@@FHB.EPFPv6P6^&^&utJF;/u>/EQ6Q6W؍R4PP(F5EP6P6PLPP4PP(EP6P6PMPP4PP(]UQQFF~ur9sFF> AutdPRPPAPP@PP(EPAP6@P@P6@P@PPFP6P6FPA FFEP~t/F;t FP F;t FPQ]U>F u+Jt㋇@]F =@sPBPhBPjv BPhBPB>BtWCPj v tBCBBhPBPjBPhBPP(B^&GB^&&_B^&&_B^&GvFPFFvȍ,*Fs,PvDP(|6sZhaRPjBPhBPP(EPBP6Bj/EP,PvRPjEPP,PvFPZLFv FP^&BB^&GBBPj^SvDPhBPjP(BFȾD,Fs,PvDP(|6sZhaRPjBPhBPP(EPBP6Bj/EP,PvRPjEPP,PvFPZLF F FFFFNN^ uFv^Sv| vFP^ &BB^ &GB^&BB^&GBBPj ^SvDPhBPjP(BFȾD,Fs,PvDP(|6sZhaRPjBPhBPP(EPBP6Bj/EP,PvRPjEPP,PvFPZLF FFFFFN NFNNNN^NN^ uF~uFv^S^SvF FF^Nu+JVuFFFrhIFPFPj^SvDPhBPjP(BFȾD"򤍆"PvDP(vFPFFvȍ" "PvTP(hIFPv|vv UtL^ &VIKVJKPvQjvP(tLsj^S6K^&KKu+Jtj<uF;KuK,KH&^&< t :t:uK;KuFK@KPv6KPvP(KKjvPM^&~Nu+JtK+F@^ &tL+4]v FPFPFFFF9Fr^&P;VvVFu݋FFVщV~uV+Ћ1F~uF+F1FFFHN;wFFHN;vwFFHN;r9v vNQKPvFv vFFPjvFFuv vvvvhhhhhhhhhFFsNAF^&+G1F@Fv vF@P^&S^&wFFF9Fr]Ns!NAF^&+@1Fv vNFȃQ^&S^&pFFuF@PFPvv^ Sv ^S^SFFHN;r9v vNQKPvFv vFFPjvFFuUzLv NQVR^KSNIQPPdvL u,F s|v FxLPFPFHPPPvL uZv vFPFPPzLQPvL u2v FFHPFPFPPzLQPvL uvL]U^ S6P6j^SvPP(] U^S6P6j^ SvPP(FsFP6P6jjP(] U4P(^ S^Svj/M] U젖Ms6^SPjj/^S6P6PPP(M]^S^Sv FFrBjFP6F~t'~FNu+Ju 4P(F뷊FVF~t5^S^Svv~LPLPP(L^&^&?u^&:6u9^&7FPFP^S^SvvFPvP"^&~ N u+Ju 4P(d^S^Svv^SjFPPF t7hbRPjLPh|LPP(^SLP6|LF~t5^"S^Svv~LPLPP(L^&^&?u^&:6u'^"S^Svv^S^&7P"^&~ N u+Ju 4P(2^"S^Svv^Sv^SPP(F. ^S^ SF PhjF u8^&^&?sk^SFPFwW~t~ uF~u^SFPF u*F< t0*< wF^& F&닸^S^SFPhjF u9^&^&;F t#^SFPFw~t~ u~u^SFPF u^&7F^ &^&^S^S^SjvF u9^&^&;F t#^SFPFw~t~ u~u^SFPF u^&7F^&^&FF ^&FF^^F&FF^SFPF uF<:u~ u^SPF~ uW^&;F sCF&F t ^&' F^&F^v^FF&FF FhF9F vFF^&F@F^BFs^ &?rFF FFFs'F F< t< u.^SFPF t^SFPF u~:u~ tFFF<:t0< t,^SFPF uF=s ؊FMFɀ~:uFs9FH^ &;ujRP^SMPQMPP(>MuAFH^ &^ &M~~u^SFPF uFFF'FN1 u~vN 1FۋF^&F t5N 1PY+ȉNFHF0^ &F 1F jjMP(FPjP(F^ &F^&vvhj FPJP(PPPvvPj PPPKP(RPvLP(jhMP(UN&GN&G N&G t;FsFNF;NsN6NxNu+JNu@6NNNN&@Nu+JNuNNHNZFPBP6@6NN6N@P6NPP(NNAN@)NNt>]U^ &GF&GFv FPFPF ue~uF:FwSF*F1F~uF:Fw2F*F1FFFFNNN8Fr8Nsw ^ &GFFFF:FsFFF8Fw^ v^F&N&WVv PFPQRFFt4v FPFP^GPFPFFN+v FPFP^&wFPFF@FF u9FFGFt,F ^ &GF^ &GF^ &G^ SV] U^&ux^&GF&GF&ON&GF&GF&GFNF:FsFFF8Fw^v^F&N&ONVRPFPPQFFPFPFPPFPF u;FtFNF@FFFnFtS^&G]UQ^S^SvvF^SP^Sv^ S^S]UQ^S^SvvF^SP^ Sv ^S]UQ^S^ SvvF^SPy] UQQ^&G FFF;Fs^SPyP(F]UQ^S^ Sv vF^SPvW]UQ^S^Svv F^SP^SvA]U^&G FFF;Fst^&G FF&|^AFFv&t^&FN;u.^ S^SQu^&G t &G;FuFF넸] U~uy&F^&G FF^&ux^&GF&Ov& N^&W&TV&_^PQRfPSP(fNNt+Ju0^&Gu%&O N^v&t 0fdfPFP^Sv^ S^SPl ]U~uy&F^&G FF^&ux^&GF&Gv&F^&G&DF&GFbQP^ SF PFP^SPl F uHNF;v+ȋbNFPFPFPbPFPP(]U ~uy&F^&G FF^&ux^&GF&Ov& N^&W&TV&GF&Gt1&G FFPQR&t ^PFPP(FFPNFȵQNQ6NN*QP(]U~uy&F^ &G FF^ &ux^ &GF&Gv&F^ &G&DF&GFFA;rQrFa;r qs)N7FStsu^&G%FUtuu ^&G%FFPFPFPvFP]U~ uyF ^&G XZ\ĞX&\&G^&G`&G% u@b&G%@ u@d&G% u@f&Wꉖh&Ojs*&wVF^_&ƉV&l&@nĞX&G z&O ^ĶX&t 0|P\~N] U~.u+JVt2~:Nu+JVuFFF^^&?tdF@NFN&^;uQP~WStNF;v.^PR@+QFPPFPP F tpF^&FNFNFsFNFN^Sv^Sv^ Sv^&S^&FNFN!z]U~ t{~NNt+JVuFFFF9Fv8^&:Nt*0rJ9wEF ^v&0FFN+N^v8Nt+JVt|F^&^&]UFPFP,F uq~ r-FPvv ^SvRPPFdF t=>FF9Fv.NQNQN Q^PF uFʸ] UFPFP,F u~ sUPPFP/F um^&G :Fw\F^X ^F&G^ &^&G(FPFPFPGF uF^ &F^&] U~u8vv vlPvF uvv vlPvF] UT&>*.u+JN\&>*.u+JN >NuT&>JNu+JN>Nu\&>JNu+JNN]UQQNr~NNt+JVt_^v&FT&8t%\&:Ft8*6NF&8t J&8uF$*6NF&8t J&8uF|F~N F ^&]U^&sTFFX \FF`FF;FsFv~N^YF^&]UQFFN ;sNv~N^YN F;v+^8N~NN OuIA^&]UQF FN;sNv~N^YF^&]UQ^S^SvvF^SP^ S^Sc]U4FFP5F u ~u]U~uy&F^&G FF^&ux^&GF&Ov& N^&W&TV&GF&_^FPQRSFPP(^ &NFNNFRQPFPF u^&?v&G,XQP7P(Q$u@RƆOFPFPFPlF tFPFȴPFPlFF uNP5F tƆMRP PFPF u^슆N&@ N-XPN:,XuOrƆOPOr PvƆOF:FrKRr^FPFȴPFPLPP(L tFPFPFPNQN*ɵQAP(FPFPFPNPP(FNNF@tJ:NrEƆN^&GNu F:Fs}NuF:FsFjNuFF[NuWFPFPFPSPFPP(S NOuIFAN:NuNNu#F:FrFȈF犎RrۊNQNucFF:FwFPFPPFPN*NɵQAP(FPFȴPFP PPP(8NNt=t P T ]U~u]U^ &G 33&uOwO:t :.Pt$CxO^Y tt &^&] ]U^&G :Pw):^PuQ&G t&G uF&G &G 3  ]U^&G ~&] ~&] Y]&FFF=F\FzFFFFFF2FQF 1F1FF1Vu FFmFm1FF1VF1F ;vNvB;FvNFF^&F 1^&W^&8Os&vF+B@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&GU]X[YZSPQt QtcRQRQSQ[YZQU+Zr tH]j&j^S/ u ^& +ZrHU3 &L&;Wt]U#tH3&GtH] vjFPjF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W ^Sv^ SjFPF u_^ &G &W ^&&W~u~t\FuUFVFV)F^vvvv^ SPFPF u^ &?Gu&G &W^&&W^ &G :OtS^S2^ SFPWQF u^ S^SFO^ &O  6r"^&&W&GQ&G;F s Wv QX^F&F&GFFF;FsN ;NvQ&@FFڋF;Fr ,Qv@^&Z&WSQ&_[&GU|s]Q&G@] ar Q&G;FsGvQX^F&F&GFFF;FsQ&@FFFU>QuQP u>QtQ&GQQ>Qu]ð]UQQRPRRRP uJF6RP| u8R=u0QP u!F6RP| uR=t=!t3]^ &G :PuSvvT^ &G :OtWSvvnO^ &G ^ SvvFNs=u8^ SFP~u#O^ &G ^ &dt@FswO률O^ &G F,^ &G :Pr^ &G :wOtw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFP|F^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u4F^ &G^ &G :Ot :4Pt^ SjlF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$ F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: |F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :Pt ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$ F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^Sj F u/v&|*&L+^9 ^&G*&G^&G,^ &G :PuS^SzTO^ &G :Ot S^S<6^ &duwOO^ &G ^ S^SFO^ &G FU^&G :Pr^&G :Ot:4Pu^&G&G &W"^&&Wc^&G :wOuX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :Pu^&&G ]^&^ &&W^&G :wOt ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:|F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFP|F^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF(R~6F =wmt =mmt=amu dF =rmt=tmuF smhFPjFt;v ^Sv^SvFPF t=c=u ~W=t(R~6FV^&G&WFF&Z&WF1&G&G;YsF^Sv^GPjFPF ui^&G(&W*&G&W~ tmu)&w&w^Sv^S^GPF uAP^&G &G Sjj$F u^&G &w&wFF^ &dtZSFP$^& uV^ &du&G-sG<P^S|^&^ Shwmvv<^& uO^ &G ^&^ &Gd<tN<uShl^& uH^ SFP$^& u/^ Shrmvv<^& uwO^ &G ^&ȲFMsNMF^NP^RPjRPjhrm^Sv uCNPFPjFPL uFډF~uNPFPjFPL ueF;FuWF^&N ;v&NPvvԚ$ u5NP^S^&7FPL uNPNwNPF^F F t(PNPhFP uNF^FFFF^FFPj^Sv^Sv ^SjU].R] ^&^SP$ F t^&G t~&w8&SP^&w"&w G<P^&w: |F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :Ot :4Pt F^&G-rG<PFP|F^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSv F tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^Sh F u^&G :Ot :4Pt ^&G&WFV&O&O &"N~;u;wN~Fs FF%Ru!RFPF u ~ rRR RujjRP/F  t^&GFR&8G wFRX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPlF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r F w0 F A^v&FFV\FV눋F *~t)vvFPFFPFP0F t^ Sv FPFִPt *~t)vvFPFFPFPF t^ Sv FPFִPt F FF t9F t~u ~uNF 1Vº1VF1VF1VF1FFPF1ZЋFR1ZЋFFR1YFF0^ v&aF tN +^ 0FY~u~t *~ N F +F UF ;FsFv~N^YF] *^&FFFFF^&G;FwFF9F vNu*^vPFP8F~v#^v&8%t^&;wrh^v@PFP8F~vh^v&@F0r9vhF0F^v@PFP8F~vh^v&@FF;Fw^v&?F]~Sucv^&^F&SP^&wFP F~u ^&GF^vPF +P^&Svts~Nu0v^&^F^vPF +P^&7tȃ~Hu9v^&^ތF^vPF +P^&S^&w{tr~Du4v^&^ڌF^vPF +P^&w&7\t8~Tu7v^&^֌F^vPF +P^&w&7tFhF^v&^v&FFFFF^S^ Sv FPjtF FFFFF^S^SvFPjt FFPFP,F u*Fs ~ v~sFr~ v ~ rFjFPjF t@~uA"*~s5vjFPjF uvjFPjF uvjPj F uv^ SvjjFP#F tu^Sv^SvvvF t=t~u FrFP^Sv^SvhmmF uvjFPj F u[vj ^ ShF uB^ &Glr&Gnrvvv F~uvj PhF t<^ &GV=&GWR&GlS&GmT&Gna{9F^ &F&F&F&v@vj ^ Sh F uq u tƆ^ &7 u &GCtƆsrvjRPjvjPP F~uCFP0F u29FvFFF F9FsPFP*F uTF FFFFFFFV;Vu;Fs\v^SvRPFP#F~tAF tu5v^SvvvFP$F uFFVFF9Fs^SP+F tFv FF^SvFPFPj{j}F uF;F vdP~ vE~^vNFY^vxF^&F F t~u5^&~u^S^Sv^ SvFFUFF F uZvvvjjFPj j{j}jF#t1F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~u~u v&<jF~uv&<tF~to~tEv&<u<^&?Tu5F=rmu-TQQjRQjPF t TTTFTtP FTTtP FTTFR t2P6RF uRУRR ~uFR t8~u2P6RF uRУRR ~uFFUFuR F%FR]^&FFRFFFFFFFF;6Ru;RuRRFF~u\^v@PPF+PFP F ui~u2 ^^v@P^Ssj^F&9Gu/N^&Nv& ^ &F;6Ru;Ru>CFr4 9FF^&F^&F^ &FsFsRP^v@P^&S^&wFPF u^v&^PUF~^&Y^PUNV;v :vFF^&F^&^ &FFF@FFFs"FsF^&F^&F^ &Fs$F;6Ru;RuTsR 3 F;6Ru;Ru^&Fu R&9wR RtF%R&;r5 TF;TtHTuTTFvRPhvPDRPFP#F u FTU^Svj]UTPT tNF t&v TFFTFsCT<TT&GltTwmȿTFTThrmJT t~uX>Tu(T&ltTThrmJT>Tt9RsPRPT uaR6TRShjjTP#T u9R&u1RTs9RrPRPT u R&uRR&uRR&u&G1@R;sRRvTR;s[+P6RTPT t=ud>Tu6TRPT uGTRT+RRRTRR6TRS6TjjTP#T u#R6TRShjjTP#T uR&uR$R&uRR&u RR&u&G1@R;sRRv͹TR;s[+P6RTPT t=ud>Tu6TRPT uGTRT+RRRTRR6TRS6TjjTP#T uT]UF$TTF"TRTTTPTPLUPTPT tF t&F FuF FuF F uF Ft"6TT u/F t R&F FtPTtR6T@T=5 tT6T@TTLU^&6T~^YF t RF tRRRF t R&F t ظR&&_T]"Uv< t~t. t:t\^t< tRt< tX tҀu92Ht, t:t&7t tt< u< t:u몰]^ &FPU<^&!GPU׆ĀRPjFPF t^wPUFUF FtF~t@^&;Fu3vN&;Fu ^G^&Z&WF^ &u]^&FF^&FFFFsR؊;NtE^v&:u/Q؍PvFP F uBF9Fv @F)FF뫸(F^ &^^&Z&WF^&UPFF F uvvvvv v vj j{j}jF#ue~u;v&<u2^&?{t)vvvvv v vj jj^jF#u$v&<uvvvj vv VF~uFFUXVPjF^ &^SPvFP F uFt^ &FFF~NuV~u ^&P ~u^&7VP^ S~u8^&w&7VP^ SVF^~Hu2Ft tuS^SvVP^ SVF^~Du_~uFPF~u^&&WFV, PRPvvvVPj ^ SFVF^^S^ &7^Svv^SFUXVPjVt'~tv &*V v &*V&4v &^&~tv &*Xu *XPF>+X r!vvv^Sv ^SvEOjjFP/F u^&G N;wukF=s5^_ ^F&HN&HN&HN&^&G F&G FܸFމFF;FsF;Fr@Fv9F u"F uFFfFPFfY;v ^&?tqjjFP/F uhjFP/F uҸFF^&GFԌF֚0t~svvv^&/^&?uFFPFڹY FFN^ԋFFFFHN;sFFF^&?u_F^غ#ډ^v^&^&~v^&0^&7TPFNX^&@CvF~^&^& ~vS^&^[&Av^&^&@FH;Fu 1FtF)FFFFFtFFFtNFtNFtNF>*Xu*XPFF>+X r&F=sPvvv v vv<FF~FF ;FveFF~uQN F;vG;sV F +FFvFFPFFPFPvFPjTFFFF듋FCharacter:2.Binary:2.CF ExecCmdFile:: '' '' Character:2.Binary:2.  : End of file, EOF - Error 1 : End of medium, EOM - Error 2 : Inconsistency - Error 3" : Operator intervention - Error 4 : Syntax error - Error 5 : Not implemented - Error7' : No free volume structure - Error 201 : Directory full - Error 202 : No such file - Error 203 : No such directory - Error 204% : Bad file specification - Error 205 : Bad user number - Error 206 : Bad request code - Error 207 : Duplicate volume - Error 208 : File is read only - Error 209 : Bad file handle - Error 210 : Bad buffer size - Error 211' : Bad logical file address - Error 212 : No free FAB - Error 213" : No free file number - Error 214/ : No such volume or no such device - Error 215! : Volume not mounted - Error 216 : Bad password - Error 217 : Bad mode - Error 218 : Access denied - Error 219 : File in use - Error 220' : File header bad checksum - Error 221* : File header bad page number - Error 222, : File header bad header number - Error 223" : File already exists - Error 224# : No free file headers - Error 225' : Free file headers broken - Error 226 : Device in use - Error 227% : Device already mounted - Error 228! : Device not mounted - Error 229 : Disk full - Error 230/ : Not a device that can be mounted - Error 231 : No valid VHB - Error 232( : File header bad file name - Error 233& : Odd byte buffer address - Error 234# : Wrong volume mounted - Error 235' : Bad device specification - Error 236% : Directory page invalid - Error 237+ : Request not valid for device - Error 238' : Wrong volume destination - Error 239' : Directory already exists - Error 240" : Directory not empty - Error 241 : Mfd is full - Error 242 : Verify error - Error 243& : System device not ready - Error 244$ : Run file bad checksum - Error 245 : Bad run file - Error 246" : Old format run file - Error 247! : Wrong pRq argument - Error 2484 : Invalid attributes for secondary task - Error 249 : Too many runs - Error 250" : Log buffer overflow - Error 290 : Device not ready - Error 300 : I/O error - Error 301 : Write protected - Error 302 : No free IOB - Error 303Invalid command file - SSyntax error in - S.3Too many categories specified in S. Only N allowed./Too many fields specified in S. Only N allowed.5Too many environments specified in S. Only N allowed.Command, S, not found in S.StdSoftMsg.bin \Error %0N - see documentation[sys]UserFileTemplate.sys[sys].user[sys]sys.cmds[sys] .Userh \-Oldt \[scr]<$>UF.tmp(Unnamed) Functions Current environment:Environment: Option category: Do you wish to save changes? (GO or CANCEL)+Configuration file does not exist, Create? (GO or CANCEL)9 is NOT a valid user file, REENTER filename.,: Reading ... A user name is required. Enter parameters and press GO.7Press any key to continue.Value must be a number.Invalid responseMake a selection and press GO.Select a category and press GO. Press CANCEL to return to main menu.DSelect an environment and press GO. Press CANCEL to return to main menu.HEdit option fields and press GO or CANCEL.*Edit environment parameters and press GO or CANCEL.3Warning: No such file - Warning: Unable to display all parameters for command5Press GO to confirm environment change to *Press GO to exit or Cancel to correct entry.,This file has been created by the User File Editor. 6Saving ... Undo Missing configuration file.Missing template file.User File EditorUser Name [Old Password][New Password][Template File][Command File]Character:2.Binary:2. Character:2.Binary:2.Binary  CharacterdFlagBABCDEFGHIJKLMNOPQRSTUVWXYZ\abcdefghijklmnopqrstuvwxyz0\YesP\NoZ\~[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][scr]<$>BsFilter.tmpVNVFError %0Np        ^{}MASTERSERVERLOCAL{}[][Sys]Sys.cmds[!Sys]Cluster.cmds{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^Press NEXT PAGE or SCROLL UP to continue\(Press NEXT PAGE to continue>\!a?!*a**2Q=\z",-./@ABCDEFGHIJKLMNOPn*Hd +Ji!=Ur 0T|*Fo4\*Fi 9Xs ; W ' F x TD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0      VersionEnvironmentEnvironmentValuePromptAuxillaryFileNameUserFileEditorParmFieldParamLabelOptions Category Field FileField MustField Description Default Environments Name Command SignOnChainFileSignOnExitFile   CategoryFieldValueFieldNameP-&1PPP&@@(@=@1EP@P@UserFileEditor EnvironmentEnvironmentValueFileNamePrompt AuxillaryPM\)NLN * * * * * * * * * * * * * * * * * * * *L@ @$*@ @$*@ @$*@ @$*@ @$*@ @$*@ @$ *@ @$ *@  @$ * @  @$ * @  @$ * @  @$* @  @$* @ @$*@ @$*@ @$*@ @$*@ @$*@ @$*@ @$*@Category FieldName FieldValueYP  NN * * *55NN<@K@ K@K@<@K@ K@K@<@K@ K@K@<@K@5K@K@<@K@5K@K@ ParamLabel ParmField  ^* [KBD][VID][Kbd]4[Vid] [Lpt]$[Nul]<[Debug]$[SysIn]t[SysOut]>t!#$>%)*|]7Du8\LllLL llL llLa4L]LyLLL4]LyLLB$.$\$$$B$L\$$LB$.$\$$$<Z<]LyLL L lOLy$]LyLL tL]LyLL L{ttyLL2;d4, > R\>&R\[Sys]ErcMsg.bin^*  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~       LIBRARY: forms.lib VERSION: s9.1.2 (Freitag Februar 2, 1990, 16:44) LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: userfileeditor.lib VERSION: R12.3.0 (monday november 15, 1993, 16:09) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 16:09)ROUGHTONEFMODEMLINEOPENVALIDATEANDSETTSRQ tagTapeReadCurrentTimeRaw"MSRINGTONEHIGHMIND tagDiskReadFXONXOFFTCBDTMFRXSTARTDDIALERRORIFERCNOTOKYFECHOTCBMODEMCARRIERUPPFRQMODEMWRITE;CANCELACTIVITY WTSVERSION; tagCommModify READTOUCHTONEDMin"RINGOFFRGPRINGINGDONE/* UserFileTemplate.sys This file contains the template used by the User File Editor. See the Utilities manual, section on User Configuration Files, for a more complete description of the entries. All entries in this file except comments are of the form :keyword:data. Although this looks like a comment delimited by /* */, it is not really so. In fact anything that isn't started :keyword: is ignored. You will notice that there are no :keyword: expression beginning a line in this text. There are two main sections to this file OPTIONS and ENVIRONMENTS. OPTIONS (not mandatory section) Keyword Description Options This keyword heads the option specification section. The data which follows is a string that will be displayed in the main function menu and will appear as the title of the option category menu. The following keyword descriptions are valid under the Options section. Category  This keyword heads an option subsection which is used to group options into a category. The data which follows is a string that will be displayed as a selection item in the option category menu. There must be at least one category keyword in the option section. The following keyword descriptions are valid under the category subsection. MAXIMUM OF 18 CATEGORIES. nnnnField This keyword identifies a user configuration file entry name. The data which follows is a string that will appear in the user configuration file as :data:. 'nnnn' may be one of 'BLANK' (ie. :Field:), MUST or FILE. The following keyword descriptions are valid after a :nnnnField: entry. MAXIMUM OF 20 FIELDS PER CATEGORY SUBJECT TO A MAXIMUM OF 324 FIELDS IN TOTAL. Description This keyword identifies a string to be used in the option edit form. If this entry is missing the prompt will be the same as the text for the field name above. Default This keyword specifies a default string to be used for the field, if the user does not edit the option field. This will be displayed in the option edit form. If this entry is missing the field will be blank in the option edit form. ENVIRONMENTS (mandatory section) Keyword Description Environments This keyword heads the environment specification section. The data which follows is a string that will be displayed in the main function menu and will appear as the title of the environment menu. The following keyword descriptions are valid under the Environments section. Name This keyword identifies an environment. The data which follows is the text that will appear in the environment menu. The following keyword descriptions are valid after a :Name: entry. MAXIMUM OF 18 ENVIRONMENTS. Command This keyword specifies a command (Executive style) that uniquely defines the environment. The data is the name or abbreviation of a valid command in a sys.cmds file. The chainfile and parameters will be derived by the User File Editor from the sys.cmds file automatically. SignonExitFile This keyword has the same meaning as in the user configuration file. SignonChainFile This keyword has the same meaning as in the user configuration file. Note that if a Command keyword is used that if this keyword is also specified, it will be ignored. Default The usage of this keyword here has no data following it. It should only appear in one environment and specifies that this environment will be the default for the user file. Note: This comment is very large and may make the initial processing of the file by the User File Editor slower. Remove the comments to improve performance if desired. Modifications : 120F.03 - 12/21/89 - Arif - Cleanup. (UCF 16175986,16187437,16195626) 120E.02 - 12/09/89 - Ball - Added background color for the Editor. 120E.01 - 10/10/89 - Arif - Added entries for RKVS and Install Mgr. 120E.00 - 10/04/89 - Arif - Added WPType, WPMacroFile, SignOnScreenTimeOut. */ :Options:Modify Options :Category:Executive :Field:ExecCmdFile :Description:Command file :Category:Document Designer :Field:DDFormatSet :Description:Format set file :Default:[sys]Dd.fmt :Field:WpDictionary :Description:Standard dictionary :Field:WpPersonalDictionary :Description:Personal dictionary :Field:WpStatistics :Description:Statistics file :Field:WpPhraseFile :Description:Phrases file :Field:WpMacroFile :Description:Macro file :Field:WpForceForegroundPrint :Description:Force foreground print? :Default:no :Field:DdDefaultPrinter :Description:Default Printer :Field:DdTemplateDocument :Description:Template Document :Field:DdTypescriptFile :Description:Typescript File :Field:DDConfigFile :Description:Configuration file :Default:[sys]DDConfig.sys :Field:DdAutopaginate :Description:Autopaginate? :Default:no :Category:Mouse :Field:LeftHanded :Description:Left handed user :Default:no :Field:MouseSpeed :Description:Setting for speed of the mouse :Field:MouseAcceleration :Description:Acceleration for mouse movement :Default:no :Category:Image Designer :Field:ScannerName :Description:Scanner name :Field:ScannerConfigFile :Description:Scanner Configuration file :Field:IDDefaultPrinter  :Description:Default printer :Field:IDDefaultOutputPaper :Description:Default output paper size :Default:Letter :Category:Mail :Field:MailUserName :Description:Mail user name :Field:MailCenterName :Description:Mail center name :Field:MailPassword :Description:Password :Field:MailPrinters :Description:Printers file :Field:MailDefaultPrinter :Description:Default printer :Field:MailNotification :Description:Minimum mail notification :Category:OFIS Document Des igner :Field:OFDDConfigFile :Description:Configuration file :Field:OFDDDictionary :Description:Standard dictionary :Field:OFDDForceForegroundPrint :Description:Force foreground print? :Field:OFDDMessageFile :Description:Help text file :Field:OFDDLineUnit :Description:Line unit :Field:OFDDMacroFile :Description:Macro file :Field:OFDDMeasurementUnit :Description:Measurement unit :Field:OFDDStatistics :Description:Statistics file :Field:OFDDPersonalDictionary :Description:Personal dictionary :Field:OFDDPhraseFile :Description:Phrases file :Field:OFDDDefaultPrinter :Description:Default printer :Field:OFDDAuthorName :Description:Redlining version name :Field:OFDDStyleBook :Description:Style book :Field:OFDDStyleNode :Description:Style book node :Field:OFDDStyleVol :Description:Style book volume :Field:OFDDStyleDir :Description:Style book directory :Field:OFDDTemplateDocument :Description:Template document :Field:OFDDTypescriptFile :Description:Typescript file :Field:OFDDFtntSeparation :Description:Lines from text to footnote :Category:OFIS Document Writer :Field:OFDWConfigFile :Description:Configuration file :Field:OFDWDictionary :Description:Standard dictionary :Field:OFDWForceForegroundPrint :Description:Force foreground print? :Field:OFDWMessageFile :Description:Help text file :Field:OFDWLineUnit :Description:Line unit :Field:OFDWMacroFile :Description:Macro file :Field:OFDWMeasurementUnit :Description:Measurement unit :Field:OFDWStatistics :Description:Statistics file :Field:OFDWPersonalDictionary :Description:Personal dictionary :Field:OFDWPhraseFile :Description:Phrases file :Field:OFDWDefaultPrinter :Description:Default printer :Field:OFDWAuthorName :Description:Redlining version name :Field:OFDWStyleBook :Description:Style book :Field:OFDWStyleNode :Description:Style book node :Field:OFDWStyleVol :Description:Style book volume :Field:OFDWStyleDir :Description:Style book directory :Field:OFDWTemplateDocument :Description:Template document :Field:OFDWTypescriptFile :Description:Typescript file :Field:OFDWFtntSeparation :Description:Lines from text to footnote :Category:Operator :Field:OperatorPhoneListDirectory :Description:Phone list directory :Default:[sys] :Field:OperatorPhoneCallDirectory :Description:Phone call directory :Default:[sys] :Field:OperatorConfig :Default:[sys]TmConfig.sys :Description:Configuration file :Field:OperatorPassword :Description:Password :Field:OperatorDataCmCommand :Default:ATE :Description:Data CM command name :Field:OperatorDataRunFile :Default:[sys]ATE.run :Description:Data run file name :Category:SignOn :MustField:SignonVolume :Description:Volume :Default:sys :MustField:SignonDirectory :Description:Directory :Default:sys :MustField:SignonFilePrefix  :Description:File prefix :MustField:SignonPassword :Description:Password :Field:SignonNode :Description:Node :Field:SignonTextFile :Description:Text file :Field:SignonUserName :Description:User name :Field:SignonScreenTimeOut :Description:Screen timeout :Category:Solution Designer :Field:SDConfigFile :Description:Configuration file :Default:[sys]SDConfig.Sys :Category:Word Processor :Field:WPType :Description:Type :Field:WPFormatSet :Description:Format set file :Default:[sys]Wp.fmt :Field:WPPrinters :Description:Printers file :Default:[sys]Sys.Printers :Field:WpPrintWheels :Description:Print wheels file :Default:[sys]Wp.whl :Field:WpDictionary :Description:Standard dictionary :Field:WpPersonalDictionary :Description:Personal dictionary :Field:WpStatistics :Description:Statistics file :Field:WpPhraseFile :Description:Phrases file :Field:WpMacroFile :Description:Macro file :Field:WpForceForegroundPrint :Description:Force foreground print? :Category:Generic Print System :Field:GpsUserClass :Description:User class (user, admin) :Field:GpsWorkstationPrefix :Description:Workstation prefix :Field:fLED :Description:Toggle LED? :Default:No :Field:GpsDefaultPrinter :Description:Application default printer :Category:Editor :Field:EditorOpenMode :Description:File open mode (Read, Modify) :Default:Modify :Field:EditorTabLength :Description:Display tab length :Default:4 :Field:EditorAutoIndent :Description:Auto-indention? (Yes, No) :Default:No :Field:EditorUseWildcards :Description:Use wildcards? (Yes, No) :Default:No :Field:EditorLineMapping :Description:Line Mapping Mode (Lf, CrLf) :Default:LF :Field:EditorNormalColor :Description:Normal Color (in hex) :Field:EditorHalfBrightColor :Description:Half Bright Color (in hex) :Field:EditorBackgroundColor :Description:Background Color (in hex) :Category:ClusterView :Field:ClusterViewProcessorName :Description:Processor Name :Field:ClusterViewRunFile :Description:Run File :Field:ClusterViewPartitionSizeInK :Description:Partition Size in KBytes :Field:ClusterViewPathNode :Description:Default Node :Field:ClusterViewPathVolume :Description:Default Volume :Field:ClusterViewPathDirectory :Description:Default Directory :Field:ClusterViewFilePrefix :Description:Default Prefix :Field:ClusterViewPathPassword :Description:Default Password :Category:Installation Manager :Field:InstallPublic :Description:Install Public (yes,no)? :Default:No :Field:InstallVerbose :Description:Install Verbose (yes,no)? :Default:No :Field:InstallBackup :Description:Install Backup (yes,no)? :Default:No :Field:InstallSaveBackup :Description:Save Backup (yes,no)? :Default:No :Field:InstallLogFile :Description:Use Log File (yes,no)? :Default:No :Field:InstallLogFileName :Description:Log File Name :Field:InstallArchivePath :Description:Archive Path (Private) :Field:InstallPublicArchivePath :Description:Archive Path (Public) :Field:InstallVolume :Description:Destination Volume (Private) :Field:InstallPublicVolume :Description:Destination Volume (Public) :Field:InstallCmFile :Description:CM Config File (Private) :Field:InstallPublicCmFile :Description:CM Config File (Public) :Environments:Select Environment :Name:Executive :SignonExitFile:[sys]Exec.run :SignonChainFile:[sys]Exec.run The following are commented out since these products may not exist on the target system. They are here for examples of other environments. /* :Name:Multi Context /* :Command:Install Context Manager /* :SignonExitFile:[sys]signon.run /* :Name:Document Designer /* :Command:Document Designer /* :SignonExitFile:[sys]exec.run GW"b@p 9` $8D<.w`Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1?pO  p ,,01_2_4?p556o `7C  /N3Fin( ( ,T,g,,'7M@8X4XAX]XvXXX X XS X XXXRX,/0+C+c++(,7@X+6;NtzI\?,,g7 XXpXX`XXIX`XXXQXXXQXXXX\ X X X X X X% X X X X9 X X XXXXXBXXXX,XyXXXXX+XYeq&   {  t  Q  !#+PP|PP(QPhnP*P(hrP*P(PjRPjnSPrSPCP(6xPj`uj(jjfP` t1hVøRPjPhvP`jP6v>jv1hWøRPjPhvP`jP6vbjHb;s.5?GOW_dd dddd'6jNb+f&0r >jO9v1hXøRPjPhvP`jP6v6jN+6bf&,0&dlbtD6l`!uhP?>`uhQ2>`uhR%>`uhS>`uhT >`u3hUøRPjPhvP`jP6v ` tP D <UF>t=t P D <]U~u] vFP,F uqv~N^Y~u ЉFVsjjj ^SvN\F,jjFP/TF uF^&G Z&W F&GF^SvFv DU+Zr tH]j&j^S/T u ^& +ZrHU3 &L&;Wt]U#tH3&GtH]  6r"^&&W&G&G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFڋF;Fr ,v@^&Z&WS&_[&GU|s]&G@] ar &G;FsGvX^F&F&GFFF;Fs&@FFFU>uP$ u>t&G>u]ð]U츚Pj<]~F^ &^S?PvFPF uFt^ &FFF~NuV~u ^&P ~u^&7P^ S~u8^&w&7P^ SF^~Hu2Ft tuS^SvP^ SF^~Du_~uFPF~u^&&WFV, PRPvvvPj ^ SFF^^S^ &7^Svv^SFU츚Pjt'~tv &* v &*&4v &^&~tv &StdServiceMsg.binError 2624: msg= %0N maxlen= %1N^!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: hwid.lib VERSION: R12.3.0 (monday november 15, 1993, 15:19) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 15:18)GWH(  X l{#w Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1  p?/@C pDQpV?W 0X?eu|}OЅ0?0pЏOPO`O P_/ OOP/?PPP?`0_0_ ? 0?o  0 //0`/0O p  !`(`)++,_-.01`5O 9pL0P0T TbpcdePf_pghik*h67-8'0(&/."  )#+7*3 8% +,"$d1/m 2,N!45)H o ~     [   L y  5 N {     @  n x         0   J ^ k - D c  G b           S ]  3 B O        # 0 K 9T4u4444}GGGGG G_ GQ GQYaiqy )g=ggggVgrg q { ]]]l]]]]v]]]]]]]+]B ]{ ] ]! ]T ] ] ]k ] ] ]1 ]g ] ] ] ]].&a Qw0| N_\-h))F)))0)) ){)))AP i   |  X }   10RanSq! G 0 =0 n0 0 0 0 0 w0 0 0 0 K0 Z0 ~0 0 0 70 w0 0 b0 v0 0 0 ;0 H0 m0 z0 0 0 0 0 0 0      ? ] q U U !U hU    * 6 '  j  /  M - - /- F- X- 5 )5 < D i y  %A _A A A A A AA hA A A A A       )   (F_QyQ3_r_7kHk0Cc TgH +Ff=mUV84A]v  S  R;=7P7,XYj2` 4Gg]QN]js) 0  9 U   - 5 A Q[_k@S[iVCN)7IXew  % w       5 G ] o             ) 1 : B S ^ h s }   P w     & v         9 ^ p     ) : C H Q  '  8       # 4 = N W h q            0 F                 ? l    ! & 7 ^ c t           % R          5 L       O j       $ * R X i {          ' 6 H N b w   H g x               0      q                # > \           7 P %l&JWuj4N4\4}4444 GG+GGGGG+G:GnGsGGGGG'G4GXGGGGG*G?GIGGGGGGGG GGFGGGGG GaGnG}GGGG6GUGvGGGGGGG GG'G4GAGIGlGGGGG G.G:GGGG$ G2 G= G G G G G G% GU G G G G Gn G G G G G G G* GL Gr G G G&2>KOW=_kgow#Q 7eKy1_"&*.27;?CGLPTX\aeimqvz~  "&*.37;?CHLPTX]aeimrvz~  $) g[5F$k$_         & t     ;]]]A ] ] ]QQ0|(jVjj#sQss s~ss}sssssss<fAmIl))*)P)t) )o)s)))6))))))Pz4^D=/ = a o   4 B g    % 4 B  J     ^AWh>% N   I T0 ;0 0 l0 0 0 0 d0 G u  {      X >     1 u   BU QU U U U 'U O  7 F " g 0J5 85 T5 r5 5 5 35 i5 n5 5 5 !5 5 5 5 5  9 Z & K _ w L g    "  F    ? q   A A A 7A A 9A A A A A A ~ a   % 8 1 y           ,    p   ( D `   ;   +       C \   Q`bQ#[a__?6N `<KRj{[t3Pds3@@@ @S[[3izii9ikiFLQ<@3n : KtiiK +[Fo4u<3zE'3zcRVVV!V p`I`QQ\      %    9   B,y+y,b: \ YNNNNNNeNNNNNNqNNN& N N N{ N Nt N NQ N N)IeeFFFHN;r.^ &FrњYPVѿtы6vчׇVY_Y &RѺףщ6*ѸPh66Ѹ>P#&њ>u6*њ &Ѡsh hǠǴPs v RPjPhFPl& u PvvvVU~'sԁ~sԃ~dsԃ~ sԸ+ԣԋN+ȉNhQVv']FVFVFF wUFV ǃ0~CFV FV uvr~tNFuh܌h ´PUFV  ѿ>>ыFV  ѿFV jѿ>2ыFV jѿFV nѿ>0ыFV nѿFV $ѿ>"ъFsNh݌h ´P6"њBhތh "´P60њBhߌh$ .´P62њB]UF PXvXFPXvX]UF PXvXFPXvX]UhjV6"j+hjV60j+hjV62j+hjV]UZтuٵٿiٷƇi<6ZъLDtEjًZGDhړƇi>÷hڋLtihڋZGhڋiھ,PiPhڴPPڴPhmmP(6,ѸiPhPPڴPP(6,њ P(]i]U>it_,PiPhPPڴPhmmP(6,ѸiPhڴPPڴPP(6,њ P(]U@P6P5ڴPPڴPhrmP(ѣѡ& tt6@Sh66Ѹ>P#&уv(hh0 @Ph6ڠ5ڴPV6&њ $wFY4>4v&?tW&G&Wщ&GHы>ףщыы6;u;r;u;w6@њ &Ѱ]w#FY4tt6@њ &Ѱ]UDPPڴPPڴPhrmP(6DѸZPhjj>P#&44уv؊Zu㋗ZӉ"ы؊Ҵ0ɵ2ѿpы6rы׋YP0ѿtы6vчׇVY_Y &2Ѻףԉ9u9u6Dњ &Ѱ]4t]6Dњ &Ѱ]UDPPڴPPڴPhrmP(6DѸZPhjj>P#P(6DѸPڴPhmmP(44уwZ؂ZuKTщZӋؠVшҡR@Z6DѸZPhjj>P$P(6Dњ &Ѱ]4uhhB \´P6Dњ &Ѱ]U졨ыѹԉԹ|щ~ѡԋ>Թ׋>ԉ6ԋǹ֋ѡԋԹ>ѡыѣщѡ|ы>~ѹ׋Yѣщ6*ShRP>P#&ѸѣыSы6&[:t]˰]U<FH<;sы0ZыF  ѣыZтuUtPhT& tZуwu4ZыGwH4;s@yP{щыщ>щ>ы6ы;u;r#;u;6wnu@ڡ4ѣѸ<64Zыщ4tY6P#& t@=-tP $]hh^ l´PP6њ66h ]Uh>JuLL>JuJs>u>uhhn ´Pj.q 6Jњ< ;u]ˡJыLѣщI&J6ы\ыGR;u;w]ˡLѹ&JѺU]U^ѺщѹYѣщѸУщѣњq Zы6ѹFPhT& tZуwu4ZыGwH4;s@yP{щы>ѣыƒ>ѣѡы>;u;r<;>u;w0щыщѡыѣщѡ4ѣfѸ]ы64Zыщ4t;ZуSu]ˋZыGSщѹYѣщU졬ыѣщѡыѣщ4tыvуыtы>vњ6*ѸPڴPhmm&hh ´P4;sz6*S6t66Ѹ>P#& t =-tP $6*S6>66Ѹ>P$&j.tыv4}j ]6*эPhZыGQ\GNWPRP>P#&ъZэ򤊎DDZэDUZыGQ^ыG`ъGUbњ ;&Ѱt@P(hh ´PZтDu<ZэGEPGDPVj>ZэGPGPVhh ´P6`њhh ´P6^њhh ´P6bњZтnt hh *ihh,à>ôP6j+hh@àRôP66њ66j hjV6"j+j/60j+j/62j+ы+ѣщhhTàfôPыRPѣы64ZыщP<P(6PѸP<P(&G tP $ыѣщhhhàzôP66њ66j hjV6"j+j/60j+j/62j+; ыѣщы64Zыщ>ыы>+щ>щщ>)> t6P<P(6PѸP<P(&G tP $ыѹףщѣщѡы+ףщѣщ tCP<P(6PѸP<P(& tP $&G tP $PhT&ы6f桰ыыZщ@yP{PhT&ыZщ6*Sh66Ѹ>P$&ы\ыGTJъs1ѣщ6*ыZSQRP>P$&њYshh|àôP]U졨ы;u;u*hhàôPhhàôPhы;u;u*hhà ĴPhhàôP+ы;u;r6;u;w*hh Ġ8ĴPhhàôPWshh:ĠhĴPs=hhjĠĴPэGP&PVhhàôPz졨ыѣщP<P(6PѸP<& tP $&u6hhĠĴPYshh|àôP u]˚Yshh|àôP],v~܋N Fv zܾ F FNQNQP^SvhrmP(vj FPjP(8FuNQQP4FF~t5h RPjPhPl& u h6ԚVv P( j ujj4PP(4Ұ[&8t(ً8ҿًF8Ƈ]8ҿ64F8ҢٸPٴPfPjP|P(<s<uDFPP(~ s>u~ r!h hƠ hhĠŴP Uj t/jj4PP(8ҿ64F8ҢڸPٴPPڴPr ]Uj tGjj4PP(8ҿ64F8ҢٹQP!P(]Uj t@jj4PP(4S68ҸTPdr(hhŠŴPhh Š<ŴP]Uj tEjj4PP(4S68ҸVPdr(hh>ŠVŴPhhXŠpŴPx]Uj tfjj4PP(4S68ҸRPdrhhrŠŴP(蠊<t<u/>Ru(hhrŠŴPhhŠŴP]h@P*F tP $hP*F tP $hP*F tP $hP*F tP $PjRPjSPSPClF tP $PFs> rr> shhĠĴP hhŠŴPhѠѴPVUشP t!jj4PP(4&G,0Ԛ a.>vhhŠŴP ]UPP(&ѸP&ҢщҋPщҴ ѣ(Ҍ*,P<P(6PѸP<P(ңj PjP(ыPщѴ ѣ Ҍ &Jъٵي6ٷNO6ٵ7ٿ6ٴپٿ6ڋٴ5ڋ6ھ 5 ٵٿٴڋھ:PٴPPh&ы\ыGNWPщѣщыG`WbщыOlnщ>ыOTJ ɱuA؋O.0щ>ыO24щ>ѣщыGdущы ыjыnы6$tщvыnѿYpщr\сrNעڂ>th hƠǴP *PPٴPPڴPhrm&ы*щ tP $6*ѸPh66Ѹ>P#& tP $P\эG!PP4&уt@]UhhŠŴP\эGPGPVhhŠŴP6$j+hhŠ ƴP6nj+hh Ơ ƴP6jj+hh"Ơ6ƴP6 j+hh8ƠJƴP$H;TshhLƠrƴPanH;VshhtƠƴPCjHR;s%;jw <t<thhƠƴPh hƠƴP6Tj+j/6Vj+hjV6Rj+]vRPjPhFPlF u ^FGF^vNFѵы^ѴFhߚPlPLPFPZ F u PF~thhLv $L>;vgLFlߋL< tr9Fv^SQP4tO~tIP^SvRPjhamlPhLF uLcj 9Fv^SQP4t~u?P^SvRPjhamlPhLF uLߣs>LtPFzPFPjFPFNQPVPj Fl߰ ߵlFPFzPPj#FPFMrBhMRPjNPjPlF tȵȿNȴM߾N߉FFFw*F 10+vlߋF1F tFuο߰ Lj r2PPj F tPPPj F tPs>LtȔh[RPjpPjPhPlF u pjlȣjlȴhPPFP(zPhmPj FPP({PzPnPmPvvjFPPjS6hFPZ F tP $RPPQnQPFPlPodF tƆlAl<t< t< uv묚4FUvj ]UFRPj PP1]^F ws FF F FV~PvFFFOw FBFuOFB0FF V tLF VN~~vF VN^F V^^vJ tFN몋F9FsFPF+JQP rPPvF tPsv~ usL>rEFh6ǚVF< t4F~ u6ǚF~tVr&^SvlF tuFvs"FFHN;r^&0Fu~tTr$PP^SvFPZ F tPs"FFHN;r^&0FuFF;s&;FtFߋFs;vcF;s*&X^FGP^&Pvs t vvDs5vRPjPhPlF uP6vs>FF^FvFPjPhPl uP6v vBU^GPP]U^GPP]U^Sv]hP*P(hP*P(PjRPjShShClF ur˸PjRPjShShClF urjPNQPF tP^&!t@hPFP/F tP^& s@FFPFPF tPFs ~ srsFBRPPQQPF tPPFPodF tFAFRPjPPjFPFPodF tFA~uFˁ~ZuvFVFVFF w B FuF F~ w`FV ǃ0~CFV FV uFF werFuTNFus4hPRPjPhFPlF uPv h6ǚV~'r h^hJ\vvh'Fvvh'F t.P'~sj0~dsj0~ sj0vBUFs hi6lhn6pȚV]Fs.hhRPjPhFPlF t.hi6lHhiRPjPhFPlF uPPPvFPZ F hn6pȚVF^t#uOQȴPFv^^v ;N sM< r<r^t=t P $ ]U~u]^&GFĴ.GFF'FFFF&5^ćFFğ^Fv &F^&NFFu-#ȋ^H^&Z&Wv#^& F^&Z&W ^&G^&t  $^&t  ^SPPhFPv ^SvPF u^&G :uShhv ^Svh,aTF uF^&G8 @F^&srF F~u'~th FN^SF~t,UFPvQPQe]U^&G :eu:zu :t^S\]^&G :&u:;u:u ]^&G$&G ^&G,^&G(^&G2^&G3^&G0]^&G :zu:eu :t^Sh<^&G :uF:;u=:&u4:u+:Pu":eu:zu:u ^Sh F u^&v#&wxh^&wx&GpPK^&u t1^&FFv&|^^F&7^&Gn@Ph F^&v&wxh^&wx&wp,^&u t^&7^&wnFU^ &G :Pu:zu:eu :t^ S^S\]^ &G :uF:;u=:&u4:u+:Pu":eu:zu:u ]^ &G|^&^ &G|]Ȇ^&^&G :t W^&G<t':t!&OFP4sFr^&G^&u2F ^&~ t^ &?utPPP^ Sv D_>u!FPF u ~ r ujjP/F t^&GF&8G wFX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r > >%]?U.>><Ŀ&UB>"u$&U>tt u Ƈ3LJ@@H ; w3ǁFıV&t&u#&t&DŽ&DŽBřN tƇ23Uw(>Ƈ0Urx> uË ;$t6ķ&&,&FA +;$r3,z>ULJ@Hu H~U ;$t2uLJ@LJ@U"!#!!!!!.!?!!!!!*!+!!!!!.!?!!!!!U&.>>>ȋz>рp "t 2.9twx0>t ."t,<t<u$t\UƇ2@uLJ@td+w"+fw u, t>Ft;wtt x>u3Ut2 2t'Ƈ2;$t@uLJ@0uS-Ƈ|UUpu51u.<t&<t".t5u < u Ƈ5 Ƈ5< t[苗d;r";wlpt@t9t0,ht :iuĿ&E&&&d;w;vLJ>:Ŀ&C;drXdrQჿ`u`+^"Ŀ&S&C+t&E3퉯^&FtLJF4LJ>:U`u`+^^&Ŀ&S&cFtLJFUd;t&r";v ;drdrLJ>1ttĿV&&UƇ4tBRP.x>p$p>Ŀ&U >XZtLJ@40uS-U>ȋ=w>=wZ=wTĿ&U>t6t t3t'Ƈ3Ƈ0LJ@Ƈ3Ƈ0LJ@3tJz>Ƈ|"t5&d;w&";w;^s^ZFu33˥'^&vvvvv&<^ Pv ^SF-u~FN ;sNFF~u\FsUvvvvv&4^ PvFPF^F&~uFFV^&;F rF랋F^&^ &&W^&G :t ^&Gs^&G&G&WFV&w&wRP&S^&wFPFV~NV~=]=u# t^&GF^&G^&GFF up^&GFV^&G&WF^&G^&G&W;Vu;Fw4&G^&G&W&+G&WFVF&G^&uFF^&G &w8 F^&G:t P)FFɣɣX~eF =wmtAN=smt=pmu'^S^Sv^Svv ^Sv0F =rmt=tmuFrmF =wmt =mmt=amuFmm iFP^Sv^SvvlF=t=uB^S^Sv^Svv ^SvFt !t= uFFa~uv~mmuo^Sv^Sv^&w&&w$F=u^Sv^SvjhF~u FP^Sv^SvvlFFF t^G:P(F uM^&w:FP uF FuF^&G8#;u8V TuhjTP/F tfT& r 9FvFF1F1F1F;s ^Sh %F^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&FYs߸&G&G<~ tmuv^S^GPvj^GPjFF usF =rmt=tmu?^&G &G 5^&G&G~ mmui&O FVT^&G FF^SvvF t ^SPmF^&G"s&G :tF ^&u&uF{FNs^&G$FP&O&xWF&wFPF u6^&Gt<uF ^&uSF u^&G~uFs ^&G#^&G#FF^&G :tF 1^&G$r&G&F uF FF^F ^G'FF^SvP^OQP=F^&t&G"s^&wFP<F u*^&G"s2&w;^&G#sF^&G"rN^GEPF u-^&G&GG&G&GM&G5&G9GAP<F t1^&G"^&G5&G9&G t&G5^&wFP<F uJ^&G9&G5G5;vu;FuF^&G"&GIF^&wFPF u;^G5N^;u;t&^GA;u;u^&G"&GIFF~uiFFs-^&wFP t@F~u؃~uF^G5P2F^&w)F~u u^&G ~uFF^&G$FUVnjޱ;u$:u ^&G(~F =rmt =tmt ~^&G ]^&^ &&W^&G :~t WFP5F uC~uF1~uF$^G^ &Z&W^&F^&GFU쾦~F =amt=wmt=rmt=tmt =mmt&^&G F^&Z&WF^&G]U^&^&G :t ^&GN ^&]U^&^ &&W^&G :t ]U^S^Sv^Svv ^Svj]U^S^Sv^Svv ^Svj]UFPjv^ S^SQFPQ]^&G :itSv^ S^Sg <^SFPF u'^Sv^ S^Sg Fi^&G F^ &&W^&^&O :"v^&zVnjޱ;u$:u0r)PPjRPQhrmRPQLF u(^&G :u FF^S u ^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G FFN F;vP~uJ^S+QFPFP F t tu.^ v8vNFYFF릋F^&F^&G :itRS^ Sv ^S FlsmPVnjޱ;u$:uH^SF9^SFPF u'^S^ Sv ^S Fi^&G F ^&^&O :"v ^&PVnjޱ;u$:u7jr0lr)PPPjRPQhwmRPQLF u(^&G : u FF^S u FFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&FU^&G :"v ]U^&G :"v ^&G ]U^&]U^&]U]U^& t^&G :?u &G& u]Uv&D FFv^"&@Fv^"&x"ti&Gwub@JP(F u,vZ^F&^&G ^S1F tvF^"&@VZ&PX^&GFth~%^"&Gwt^FFFFFFFFFFFFF^"&OsN&OqN^&OcNNNNN&tFFFFFPFP tFF s u~r ЈFQ~ u?~uЈFF>ЈFF$~r)FFsF~ u~ r F$F~^SvFPvFPvF tlFƒwu{F^"&GF^"&GxF^"&GzF^"&^"&tu|FV^;u$:uF^"&Z&WF^"&G+؍^"&&_^"&G@%^"&G^"&G^"&tuB^"&FFv"&t^^FF&F^&GF^&GF^&GFsZFƒtu^"S^SPRQP^"S^Sv^Sv͚$F t^"S TFF^"&G}^"&s &_ ^"&_ɴF^"&wɴF&_v˷ɴF^"&vF&wxj^"&wxjF@F^"&Go^"&wx&wo^"&wxj^"&G :&t:u^"&G tu ^"&wxj ^"&wxj^"&wxj^"&G :t@^"&G :;u&G tu1Fֹ@@2^"&u&Gn(^"&u Fֹ@@Fֹ@@ ^"&Gn^"&wx&wn^"&wxjFֹ  ^"&Gp^"&wx&wp^"&tu^"&G# F&s&G&Ov ^"&G+&Wv"Ѷ &Gn^"&u&On^"&u&On^"&wxj`^&7^"&wn^&wj^&wj ^&wv^"&GpsjFPhFFsvv$jF$PPF uc^"&GFF^"&G& GtvjFPPF u3^"&GFF^"&G& GtvjFPPF u F^&u2&9w&wxP^&wxj6^&tu)^&FFv&t^^F&wj^&Ltb&GZ tXFF&G^&wLFP t^&^&GL^&G^&G^&wLFP<F^&w &gp}^&wxj^&wx&wp^&tu^&wj^&Gwu&wF tF^&G FF;w|^&x"tf&Owu?&HJ tQ)F tFv^&@V t4P2F t&F!v^&XV^F&^&GFtzs}jFPhFFsgvjQF uY^&GFF^&G& GtvjQF u.^&GFF^&G& GtvjQF uFU^&G :t/:;t):&t#:t:Pt:et:zt :t ^S T]hjFP/F^&G F~TF< t< u F =wmt =amty^S^SvFPc,F ug~ u^&r^& w>~ u=^&s$S^Sv^Svv ^Sv.^&t< ~s F^&GZ&WF^&G$~u^&G@]FPPPjFP^v@PFF+PRPjhrmF~uF&w扜錄^S^ڌFv&\FډꌇFFFFPF u{^&w拄FFF0FNN&ONF&GHFFP<F uNv^&w=SjtvFP<F^ƇF utFFFFPF uFFF0FNN^&ONFFP<F tv)n^&_LJF4vFP<Fv)n^&_LJF uF0FFFFPF uq^ &w拄FډFF0FNN&ONFF&O?NFN NF^^F&^ &GHF֍FP<F t^ &;u vڸPSPv^ &w;SjtvڍFP<F܋^Ƈ^&GF^&F=Ct=cuFZ^ &G?FҌF^&?t.F^&HN;r^ &_^& Fu׋F^ &GEF ^ &G^ &G^&G^ &G^&G^ &G^&8Gt/^&u ^ &G"^&u ^ &G^&G^ &G^&G<t<u^ &G^ &G^&Gf^ &G FF w"؋T^&;Gu F@^ & Fu^ & &FFFFPF uo^ &w拄F܉FF0FNN&ONFFF<uF FFF~uF FFFFP<F uv܍FP<F uFF FF w8؋ t#ćFF t& t PdFFuP(F tPNFNF^FFFN^NNNFFNFFPF tPP1F tP6P<Fpnjޱ;u$:u>z0t.tF tPt^&GHF~ t9F ^㉇  F^F錇F^Ƈ FF w+؊s㋏I u ƇPntFu^ćprstPF tPvz0x|}&O~^upP<F tP^&F^&&W^&G :Pt:zu^Sv^S^S^&G :t :;t g^&FtSjTF u^&Gb;FsFF^&O*&Od^&`tN&9Os-SP^&+Qv ^SvhZaTF uF^^&G^&Z&W^&G*^&^F&9Gw^&G^&^&^&)G^&^&G*^&G*&G^j^&G^&Z&W^&G*^&^&GFF^&G`F^&FN;s#&)^F&)G^F&G*F^&^F&)GF^&^&_㋇rʉF u^&G*~uF ^&^&G*^&G^F&G`^&GFF^F&9G*tC u&G"FvN^&8uvv^FF^&w`^&)FFs^&G4sSFPF u8s,jFPhFFs^&wvGPdFU^ &G :t :;t Q^ &G^&^ &G^ &G&^ &G*^ &Gd^ &G^^ &G`^ &G4sS]^&G"&;Gw&4t^&Gte&w &wxj^&Op^&wx&wp8^&tu+^&&G&OFN؎&WRR P^&Gt j^&G@^&G0rS-^&G4U*PFP t> u ~r > s#^Sv^Sv ^SvPe> s vN F F^FFFFFFFFFFFF FFFFFFFPd]U(> sF uv vvP'FڈFFF FFFFFFP ]U(> sFuvP FڈFFFFFP]U> sF uv v ^S$8> rv v ^S7FFv v ^S^S]UQQ> sF uv vv01> rv vv8LFFv vvP]U^&&GFPF uFF^&G&GS<F u(vFP<F uF;Ft ^&G]^&^&G :Pt:ztSv^ S^S\V^&G?^ &Z&W^&G?FFF9FvF^Sv^StF^&?t=ZuZ>F u^&.t&G9s!^&? u^&^G^ &Z&W^&G9FF^&HF~u^vPPF+PFPFFt͉F^& F;Fu ^&G9^v&x u^&F@N;sF+A^vp^~y^Y^&GE uE^&GGs7v &S^GHP^&7FPFFt @^&^ &G :Pt:zt :et:u^ &G :t-:;t':&t!:t:Pt:et:zt :t~ wc^ .p+A\e}^ &G~^ &Gu^ &G :;u$&Gs&;Gqt'^ &su$^ &qu^ &G :uFFv^ &@q3^ &Gv@^ &G :tB^ &G8^ &G :&t,^ &G6v^ &G :&t^ &G.^^ &G :u ]^ &G/C^ &G<^ &Gh&Oi$^ &Gq^ &Gs^ &Gl^ &GjFF^& F ^&G :udFv&^&_.2:I|^SF1^SF u^&ud&G܁~t^&G}^&G1VS&xWvF&pF uB^SF u^SF t ^&G~u^&GFFFP&O&xWF&wF uI^&G1&WR&@F&Z&W_^&@&G&G&GF~t_^ GSPF uP^ &G&GU&G&G[FF&G]Z&W_F&GaG3F&GcZ&WeGOP<FYFF ^&G5&G9&G t&G5^&wFP<F u}^&G9&G5G5;vu;FuF ^&GWF^&wFPF u6^G5N^;u;t!^GO;u;u ^&GWFFFUv&D ~&] ~&] Y]&FFF=F\FzFFFFFF2FQF 1F1FF1Vu FFmFm1FF1VF1F ;vNvB;FvNFF^&F 1^&W^&8Os&vF+B@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&GU^ &G 33&=?:t :."t$C@^Y tt &^&] ]U^&G :"w):u&G t&G uF&G &G 3  ]U^&G ]UV>] vjFPjF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W ^Sv^ SjFPF u_^ &G &W ^&&W~u~t\FuUFVFV)F^vvvv^ SPFPF u^ &?Gu&G &W^&&WU u. t!;v 33@33.P $3 ҃+@sH]U؋]UN~F V u. t!;v 33@33.P $3 ҃+@sH]UN~F V ؋] 6r"^&&W&G>&G;F s Wv >X^F&F&GFFF;FsN ;Nv>&@FFڋF;Fr ,>v@^&Z&WS>&_[&GU|s]>&G@] ar >&G;FsGv>X^F&F&GFFF;Fs>&@FFFU><u:P u><t:&G>@>@u]ð]UQQHPH\VP< uJF6HP< u8^=u0BP< u!F6HP< uJ=t=!t3]^ &G :uSvv^ &G :itWSvvnT^ &G ^ SvvFNs=u8^ SFP\~u#i^ &G ^ &dt@Fs?률i^ &G F,^ &G :"r^ &G :?tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sS F u^ &G-sG<PFP<F^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFP F u4F^ &G^ &G :Tt :t^ Sj$F t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$tF u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: <F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$tF u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjtF u/v&|*&L+^9 ^&G*&G^&G,^ &G :uS^SzO^ &G :it S^S<6^ &du?T^ &G ^ S^SFi^ &G FU^&G :"r^&G :Tt:u^&G&G &W"^&&Wc^&G :?uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]^&^ &&W^&G :?t ^S F uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:<F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFP<F^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFFp~6F =wmt =mmt=amu dF =rmt=tmuF smhFPjFt;v ^Sv^S  vFPF t=c=u ~W=tp~6FV^&G&WFF&Z&WF1&G&G;YsF^Sv^GPjFPF ui^&G(&W*&G&W~ tmu)&w&w^Sv^S^GPF uA^&G &G SjjF u^&G &w&wFFU^&G(F&G F&1t SvLL^&/ut~ u@&G:r8S PLLF u^S PLLF th^SvPU^SvLLF uD~ u ^&G:1^&G:'^&/u ~ uS P^SvLLFF]UQQ^&OBN&GE1+ʉN&GE&OD;sF]UF^ &G(^ F&)G ]UQ^&/tS PLLF u&^&/tS PLLF u ^&GE]U ^&G(F&GEF&GBF uP&GEY1+ʉN&GE&OD;s S6lFF;Fr\^&GE&:GDuS6F uD^S PLLF t!^SvFHPF^&GEF^&GEFu]U^ &wĄpFF^ &_ćFF~ ~t u PF ^&NFFt(#^H^&Z&Wv#^&^&:F t v&Z&T] U^&G(F&G F&1t SvLL^&GQrFF^SvFPHFw^&:FuFFHN;s[^&F^&OE&:ODu< t< tS6F u{^SvLLF u~^&/u~ t^&/t ~ u&GEF< t< t < t^&GEFtk~ uS^&/t)S PLLF u\^&GE^&/u^S PLLF u^&/uz`^&GE&:GDuF< t< tS6F uUF< t:^SPLLF uFF;FsF~ t ~r^F指~v@PFN ^㉇牏C渦縦渦 "砦s渦$&FP^GP^&GPRPjhrmF t?^&OwQ荿F^&GQQvQPv^ĿWhjjFP#F u3FFv^ĿWPvvFP#F tv F) v F u ^&G}hjFP/F^&G F A:r u ~rF^&G]Un^ SPv ^SF^&tF P^ Sv PNQNQNQNQNQNQNQNQNQNQPP$F u~u^SvК,F t]U PPP/F uA&G ~I< t< tY^S^SvFPc,F u^> u ^&r> u.^&s$S^Sv^Svv ^Sv~ wmu~~s ~ mmuIF^&G?Z&WA^^&GZ&W^&G$^,^&GZ&WF-,`F =wmt=amuF^&GZ&WF^&G$>F =rmt=tmuTF^&G?Z&WA^^&GZ&WF-^&G"~u"^&GAHFPPuFP^v@PFF+PRPPrmPF~u>v^SPPPFP#F t v Fv F t( ^&?t' ^&G^&G^&G^&G^&G^&G^&G^&G;^&G ^&G=^&G ^&G.^&G ^&G/^&G^&GG^&G^&GHF =wmt=amue~ mmuzF =rmt=tmu P^&G ^&G ^&G(^&G,^SCtF u/F^P^StP^S^StF t^&G F]^ &G :Pt:zt :et:u^ Svv^ &G :t-:;t':&t!:t:Pt:et:zt :t~ wg^ Sj  u^ &FFv &t^FF^.5\8X0YnFse;v[;u ^ &rJF^ &G^ &v&s5&On?&w+ʲ@ &Gn^ &Op៵&w6^ &On?&w+ʲ@ &Gn^ &Op៵&wʲ &Gp^ &t38Fvr ^ &u~F^ &G^ &v&Go$&w &Go^ &s5&On?&w+ʲ@ &Gn^ &Op៵&w6^ &On?&w+ʲ@ &Gn^ &Op៵&wʲ &Gp^ &wxj^ &wx&wo^ &wxj^ &wx&wn^ &wxj^ &wx&wpd^ &tt^&7F%F^ &s+&O F&uN^ &uN ^ &G F~Kw-F^ &GqF^ &Gs^ &wj%F uvF^ &Gv^ &w>&Go$&_v˷ʵ ^ &Go^ &wxj^ &wx&woA^ &tub^&7F^ &vufN^&7v#^ &G :tRF^ &G86^ &G :&t9F^ &G6^ &G :&t ~w8F^ &G.Z^ &G :u K~wF^ &G/)~vF^ &G^ &G :&u&Gt tFF^ &G :t&Gtt ^ &gn^ &On ^ &9we&wxP^ &wxF$P^ &wxj^ &wx&wn'Ft jF~uv&<tF~to~tEv&<u<^&?F w0 F A^v&FFVFV눋F *~t)vvFPFFPFP0F t^ Sv FPFִP *~t)vvFPFFPFPF t^ Sv FPFִP F FF t9F t~u ~uNF 1Vº1VF1VF1VF1FFPF1ZЋFR1ZЋFFR1YFF0^ v&aF tN +^ 0FY~u~t *~ N F +F UF ;FsFv~N^YF] *^&FFFFF^&G;FwFF9F vNu*^vPFP8dF~v#^v&8%t^&;wrh^v@PFP8dF~vh^v&@F0r9vhF0F^v@PFP8dF~vh^v&@FF;Fw^v&  ?F]~Sucv^&^F&S*P^&wFPF~u ^&GF^vPF +P^&Svs~Nu0v^&^F^vPF +P^&7ȃ~Hu9v^&^ތF^vPF +P^&S^&w{r~Du4v^&^ڌF^vPF +P^&w&7\8~Tu7v^&^֌F^vPF +P^&w&7FhF^v&^v&FFFFF^S^ Sv FPjF FFFFF^S^SvFPj FFPFPF u*Fs ~ v~sFr~ v ~ rFjFPjF t@~uA"UF FtF~t@^&;Fu3vN&;Fu ^G^&Z&WF^ &u]^&FF^&FFFFsR؊,˵;NtE^v&:u/Q؍-PvFPF uBF9Fv @F)FF뫸(F^ &^^&Z&WF^&ȂFF2sv:Pj_F t{_^6Sv4FPFѴP^.S^*Sv4F F^6Sv4FPFP^&S^"SvF FFsVF$ F"tNF* t &FF^.Sv^&S^"&7FPFPFPFPF t F6F tȍv~.F^*&F tȍv~&F^"&^6Sv4FPFP^S^SvF F^6Sv4RPj^S^SvDF F^6Sv4FPFP^S^ SvTF FF6^&?^u GFF NF@;F vd<~ v12~^vNFYF@^&F F t~u5^&~u^S^Sv^ Sv,FFUPFF F uvvvvv v vj j{j}jF#ue~u;v&<u2^&?{t)vvvvv v vj jj^jF#u$v&<uvvvj vv VF~uFF ^SvFPFPjF u5FPF PFPjXF uF;F vdS~ vH4~^vNFY^vx5˹FF^&F F t~u5^&~u^S^Sv^ Sv<FFUFF F u4vvvjjFPj j{j}jF#t F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~t~u v&<jF#ukF#t)Fv^@‰FVvvvvv v vj2jj^jF#u$v&<uvvvj2vv VF~uFF F FuFFPFPFPjj^XF uF F;FvdbF F2vRF t$N t~^Y^vFFv~N ^YFFF ^&F Ft~uF F t~u=^&~u'^S^Sv^Sv^ SvLFFUFF F uRvvvjjFPj j{j}jF#t)F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FVvvvjjFPj jjF#tF#t)Fv^@‰FVvvvjjFPj2jj^jF#uWF;Fs v&8^uFF#t)FF~tv~vvvj vv v vF~uFF^SMPvFPF uJ~u ^Sv^SvRPjFPFPjF~t ~s ~u6^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvF u\t'~tv &*b v &*^&4v &^&~tv &F^ &^SoPvFPF uFt^ &FFF~NuV~u ^&P ~u^&7P^ Sl~u8^&w&7P^ SlF^~Hu2Ft tuS^SvP^ SlF^~Du_~uFPF~u^&&WFV, PRPvvvPj ^ SFF^^S^ &7^Svv^SlFUPj@^Sj FPF=4t=4uFF~u0^&G:O68^&H@@<>FVFHUF Ful;C^&F F uc;.F Fui;!^ &~N u+J^&]UF Ful;B^&F F uc;-F Fui; ^ &~N OtI^&]Ujj^ S^S4]Uj j ^ S^S]Ujj^ S^S]^SFPF u:RPvvv^GPF HPFPF u F^& ~ u!^SjFPF=4t=4uFFF t @̉F^~uOF~uD^SjjFPjFPF u~u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9FrHF^&wFFv&0^^F^Svv^GP^&P^ Sv ^Sn^SjFPF=4t=4u}~t @̉F^^&G F s4\^&w FFFFFF FFFF9Fvz^&FF~u+FPFP8dF uFvF;F rN!8FtN9Nv+^&:uFr^ ~&G~9~ wFrFFrJvv^ vPFPvv^SF +Pv^SF tW^&FF s^ v&!FF9FvV N;v^&^ &FAN;wFFNNFF9NvI^&<1r=<9w9,0FF-FrF<*t<0uFFBF<*utF|^SFPFPFPFFV;t't"FBAµ1^&F FBaF~ uFF%F:FtFF ;FvF^ v&FF^&F~ u^SjFPF=4t=4uFFF t @̉F^~uOF~uD^SjjFPjFPF u~u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9FrHF^&wFFv&0^^F&;F sF ^w~ N ^YF ^&.~Ծ̹F^ SjFPF=4t=4u`~t @̉F^^&w FFvvFPF t(^&^&:FuB~u ~uF"~ u ~uF~ rFF^ SvF^&G:Fu^S^SvFO^&G:Fu'~uFF :w^S^Sv*^&G:Fu^S^SvFu^&G:Fu^ SvFx^&G :Fu^S^SvF:^&G :Fu^S^SvF^&G:Fu^S^SvFPu^&G:FuM^ SvFPFPj^SF uN^& tD^ S^S^SvNQP^&G:Fu^S^Svv^Sv 7f^&G:Fu/^ S^S^SvFPvv^Sv F+FF^ S^SPhFPv^Sv F^&~u<Fs^&N;v&^&PȴFY^&~ u ^&0=F t9Nt1 10^&F 1F N^v& NFu^0&8@u^&݃~ u=F0F+FF^GPP^&PFPF~u-9FF t 10vRF 1F NڋF9Fw&^&^S^Sjv ^Sv7FF;FsFF^&F tHvJ^&NFFsFF9F vM^&;vA9Fv<&xAu^S^ &0^PhF^ v&^&F^&;Fv^&N;v9Nw^& F^GPP^&PFPF~u^S^S^Sj^ Sv 'N F;w5^&^S^S^Sj^ SQ^SvF^&FNF;sD9Fv?^&xAu^S^ &0^PhF^ v&^&F벋F@^&;rv&xAu1F9F v49Fv/^S^ &0^PhFFϋF9F v9FwE^ &^&F.^SjFPF t^&8vFF^v&xat@F^GFF^G6F܌FF^F&9GwNNN ^&NF&HɈN&@FFPFPF= u;FFF V;Vu;Fs&Fs"Fڹ ^܋S^&p F tFڹ ^܋S^&p_[ǍFԌF^&FN;vN^ԍw~N^YFڹ ^&PJ~&+ډ^uXVrQ^S^&p_[Ǎ^ԌF&t2^S^vQ^Sv^ԍOQPFPF+P^%^vP^SvvFPF+P7FF^& Fc4^SjFPF=4t=4uFY~t PωF^FHF^&9GsF^&wFFv&x^FF^&;Fw Kv^S^&0_[Ǎ^F&;F sF ^w~ N ^YF ^&UPF F uk;+v&;Vu ;F uj;{F<w*Pvv 6~uvv 5F#uv&F?~t6~u0F Fui;&~tv&v &v&+h;UF Fuk;\+v&;Vu ;Fui;CF F uj;6F#t,V;r#u`;v^&@v &v&+h;F V;u;t^ SF uvF &9Gr u4`FF&|؍ NFv N&0^F&F~^YFs ^& ^SjPF t `ΣF=4t=4uFFV^&&WF F uStdSoftMsg.bin-BAD Mfd.syslocalMFD.SYSBadBlk.SYS/#Division Error. Cyl =  Hd =  Sector = UNABLE TO READ Bad sector list overflow. Disk Error @ Searching Fileheaders.sys  Copying Row Target address is in the file < FHI:  Orig FHI:  FH Seq #: This is a system file therefore cannot be reserved. 4 Extent:  RowLfa:  Offset:  Moving Row to: Address is marked as a bad sector. #Target address is the Initial VHB "This address cannot be reserved Target Address is the Working VHB "Targ  et address is in the Bit Allocation Map ,Target address is already marked a bad sector .Target address is in scramble table for directory 2Target address is a free sector Must run on BTOS II 2.0 or greater.$ Device must be specified. Invalid Cylinder specified. Cylinder must be specified. Invalid head specified. Head must be specified. Invalid sector specified Sector must be specified.Invalid case valueBad Sector Volume name is:  This disk was formatted with  Cylinders Heads per Cylinder  Sectors per track  Bytes per sector Cylinder exceeds drive specifications& Head exceeds drive specifications" Sector exceeds drive specifications$ Reserving Badspot:  This utility cannot be used on SCSI, Memory, or SMD devices.= BAD SECTOR ON A SYSTEM FILE CAN ONLY BE ENTERED VIA THE 'FORMAT DISK' COMMAND. VOLUME RE-INITIALIZATION SUGGESTED.s**OVFL**:CPU Division ErrorYESNOPress NEXT PAGE to continue: Error writing to log file.PageB **** Cannot load Exit Run File, please reinsert system diskette.**OVFL**:YesNoYyNn%0D %0T[VID][VID]0123456789ABCDEF[sys]FileUtilMsg.bin DeviceNameDe;9         ~\\[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][PTR]0123456789abcdef[scr]<$>BsFilter.tmpVNVF2Knn,X` %K& $ % * - II021B02 II120A00SYSSYS8251Config.sysCommPtr&&II120A00p0123456789ABCDEF{}MASTERSERVERLOCAL{}[] []^{}[]<>^<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxyPress NEXT PAGE or SCROLL UP to continue(Press NEXT PAGE to continue!a?!*a**2Q=\zTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0K  @ @[D0]{Local}SYS c0123456789ABCDEF[Kbd][Vid] l[Lpt][Ptr].[Nul][Comm][8251],[Debug][SysIn],[SysOut]>,\\\!\#>\%D\)\*]\7u\8,$TT3; e"tCT$T&tP+\,l4-$ . /|0\|142{44P 5  6   $$  t$$  t$$ a ] y   ] y   .\B \ B.\ ~VZ] y  \ ~V  ~V \~V <[< <[<<[< <[<  t$ODD d ] D  y] y   , ] y    {,,y  2t; 4D zz Error opening translation file:  ![Sys]PtrAConfig.sys @?[KBD][VID]>T>n[sys]CommXconfig.sys ? @? @   0123456789ABCDEF      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: util.lib VERSION: R12.3.0 (monday november 15, 1993, 14:28) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. %' %' Submit %' File list [sys]CreateBackupFloppy.Sub %' [Parameters] Tape? HiCap? driveName? %' %' Param0 Yes/Blank Make floppy for use with QIC tape %' Param1 Yes/Blank Use High Capacity Floppy. %' Param2 Blank Drive name default f0 - do not use [] %' %' %' 08/09/91 0013B.00 DHG / Created for High Capacity Floppies %' 08/11/91 0013B.01 DHG / Overhauled and combined for HiCap Floppies %' 08/23/91 0013B.02 DHG / corrected Loading of Tape for HiCap Floppies. %'  / Submit stops of one of the *.font file are not %' / present on the source disk. %' 07/22/92 0122J.03 DHG / HiCap will not load all files IFF os is bigger %' / than 900 sectors. %' 04/19/92 0123F.04 DHG / Add different drive support besides [f0] %' %' Comments: %' HiCap? must be used for 3 1/2" diskettes. %' can be used for 5 1/4" diskettes that support PC-AT diskettes. %' %' HiCap? allows the tape utilities to be written to disk but not %' installed. %' %' Device - used for floppy drives other than f0 - do not use [] %' Type [KBD]PF Create Backup Floppy is only meant to be used to restore a completely installed system. It is not designed for any other purposes. This submit file is not supported with V-Series. Due to space problems on the first diskette, a small custom message file, [Sys]CBF>ExecMsg.bin must be present. Use List Message File with the Binary file being [sys]ExecMsg.bin to create ExecMsg.mtxt. Create a file called [Sys]CBF>ExecMsg.txt by copying messages 32907 through 32957 (inclusive) from [Sys]ExecMsg.mtxt. Create the binary file by executing the command "Create Message File". The file will be approximately 5 sectors long. If you have not done this yet, press ACTION-FINISH, create the file, then restart this submit file. If you have selected the Tape option you MUST have the tape utilities installed otherwise this submit file will abort. If you get an erc 219 when copying Sys Image.sys to the floppy, increase :SystemImageSize: in :FormatTemplate:CreateBackupFloppySys of [sys]FormatDiskConfig.sys. Press GO when ready1%' %' %#1\%' IF NOT HiCap THEN Type [KBD]PF This submit file creates five floppy disks from which you can boot, initialize a disk, backup, and restore. You will need the Boot diskette that you orginally brought up your system with. Continuation diskette 1 contains: Optional Tape Service installation Continuation diskette 2 contains: Volume Archive and Change Volume Name Continuation diskette 3 contains: Format Disk Continuation diskette 4 contains: Restore Archive Note: After creating these diskettes, do not put write protect tabs on them. Please insert you orginal boot disk which is from your installation media. Have a blank diskette ready. Label this blank diskette as Boot diskette. You will need to press the FINISH key after the blank Boot diskette has been floppy copied. Press GO when ready 1%' \%?1\%' IF HiCap THEN Type [KBD]PF This submit file creates three floppy disks from which you can boot, initialize a disk, backup, and restore. Boot from the first diskette - pMode Character or bitmap (GC-003) video Boot from the second diskette - pMode VGA (GC-004) video Continuation diskette 1 %?0|contains: Optional Tape Service installation Continuation diskette 2| contains: Change Volume Name, Volume Archive, Restore Archive, Format Disk Note: After creating these diskettes, do not put write protect tabs on them. Insert the first blank floppy in drive %#2f0%?2%2. Label this diskette as boot diskette for character and bitmap (GC-003) video Press GO when ready 1%' \%' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>Request.txt-Initial %'[Overwrite ok?] ' yes %'[Confirm each?] '%' ; Sequential Access Service Request Codes :WsAbortRq:1056h :WsAbortRq:9044h :TerminationRq:1055h :TerminationRq:9044h :ChgUserNumRq:1057h :SwappingRq:1058h :SwappingRq:9044h :RequestCode:1055h :RequestName:XBifTerminateUser :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:1056h :RequestName:XBifAbortUser :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:1057h :RequestName:XBifChangeUser :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:1058h :RequestName:XBifSwapUser :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Ah :RequestName:LockXBis :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:0 :nReqPbCb:0 :nRespPbcb:1 :Params:p(12),c(4 ,16) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Bh :RequestName:UnLockXBis :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:0 :nReqPbCb:0 :nRespPbcb:0 :Params:none :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Ch :RequestName:SetXBisMISR :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:1 :Params:p(18),w(14),w(12),w(16),c(2 ,22) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Dh :RequestName:ReSetXBisMISR :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Eh :RequestName:QueryXBusTimer :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:1 :Params:w(12),p(14),c(2 ,18) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:200Fh :RequestName:ModifyXBusTimer :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:3 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12),b(14) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:2019h :RequestName:XbifVersion :Version:2 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:2 :Params:w(20),w(18),w(22),p(24),c(2 ,28) :NetRouting:NoRouting :SrpRouting:rLocal :RequestCode:801Dh :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:0 :nReqPbCb:0 :nRespPbcb:1 :Params:p(12),c(4 ,16) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:801Eh :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:0 :nReqPbCb:0 :nRespPbcb:0 :Params:none :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:801Fh :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:1 :Params:p(18),w(14),w(12),w(16),c(2 ,22) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:8020h :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:81C9h :RequestName:SeqAccessVersion :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:1 :nRespPbcb:1 :Params:w(20),w(18),w(22),w(26),w(24),w(28) :NetRouting:devSpec :SrpRouting:rDevice :RequestCode:81CAh :RequestName:SeqAccessOpen :Version:1 :LclSvcCode:0100h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:3 :nRespPbcb:1 :Params:p(36),w(20),w(18),w(22),w(26),w(24),w(28),w(12),w(32),w(30),w(34),c(2 ,40) :NetRouting:openFh,devSpec,CloseAtTermination :SrpRouting:rDevice :RequestCode:81CBh :RequestName:SeqAccessClose :Version:2 :LclSvcCode:0202h :ServiceExch:exchInstalledMastr :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12) :NetRouting:closeFh,rFH :SrpRouting:rDevice :RequestCode:81CCh :RequestName:SeqAccessModeQuery :Version:2 :LclSvcCode:0303h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:1 :Params:w(12),w(20),w(18),w(22) :NetRouting:rFH :SrpRouting:rDevice :RequestCode:81CDh :RequestName:SeqAccessModeSet :Version:1 :LclSvcCode:0302h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:1 :nRespPbcb:0 :Params:w(12),w(20),w(18),w(22) :NetRouting:rFH :SrpRouting:rDevice :RequestCode:81CEh :RequestName:SeqAccessControl :Version:1 :LclSvcCode:0412h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:2 :Params:w(12),w(14),w(16),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:rDevice :RequestCode:81CFh :RequestName:SeqAccessStatus :Version:1 :LclSvcCode:0512h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:2 :Params:w(12),w(20),w(18),w(22),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:rDevice :RequestCode:81D0h :RequestName:SeqAccessWrite :Version:2 :LclSvcCode:0616h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:1 :nRespPbcb:1 :Params:w(12),w(20),w(18),w(22),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:dmaRemote,rDevice :RequestCode:81D1h :RequestName:SeqAccessRead :Version:2 :LclSvcCode:0617h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:2 :Params:w(12),w(20),w(18),w(22),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:dmaRemote,rDevice :RequestCode:81D2h :RequestName:SeqAccessCheckpoint :Version:1 :LclSvcCode:0712h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:1 :nRespPbcb:1 :Params:w(12),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:rDevice :RequestCode:81D3h :RequestName:SeqAccessRecoverBufferedData :Version:2 :LclSvcCode:0817h :ServiceExch:exchInstalledMastr :sCntInfo:6 :nReqPbCb:0 :nRespPbcb:2 :Params:w(12),w(20),w(18),w(22),p(24),c(4 ,28) :NetRouting:rFH :SrpRouting:dmaRemote,rDevice :RequestCode:81D4h :RequestName:SeqAccessDiscardBufferedData :Version:1 :LclSvcCode:0902h :ServiceExch:exchInstalledMastr :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12) :NetRouting:rFh :SrpRouting:rDevice :RequestCode:9043h :RequestName:SeqAccessDeinstall :Version:2 :LclSvcCode:0A00h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:9044h :RequestName:SeqAccessTermination :Version:2 :LclSvcCode:0B00h :ServiceExch:exchInstalledLocal :NetRouting:NoRouting :SrpRouting:rDevice :RequestCode:C029h :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:2 :nReqPbCb:0 :nRespPbcb:1 :Params:w(12),p(14),c(2 ,18) :NetRouting:NoRouting :SrpRouting:NoRouting :RequestCode:C02Ah :RequestName: :Version:1 :LclSvcCode:0000h :ServiceExch:exchInstalledLocal :sCntInfo:3 :nReqPbCb:0 :nRespPbcb:0 :Params:w(12),b(14) :NetRouting:NoRouting :SrpRouting:NoRouting %' %' %' Make Request Set %'Text file(s) ' [Scr]<$>Request.txt-Initial %'Binary request file' [Scr]<$>Request.sys-Initial %'[Error file] ' %'[Version] ' %' %' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>.User %'[Overwrite ok?] ' yes %'[Confirm each?] ' :SignOnVolume:Sys :SignOnDirectory:Sys :SignOnFilePrefix: :SignOnPassword: :SignOnChainFile:[Sys] %#0|Exec.Run|%?0|Submit.run Submit [sys]InstallTape.sub | :SignOnExitFile:[Sys]Exec.Run %' %' Copy %'File from* ' [Sys]Sys.cmds-Initial %'File to* ' [Scr]<$>Sys.cmds %'[Overwrite ok?] ' y %'[Confirm each?] '%' %' Copy %'File from* ' [Kbd] %'File to* ' [Scr]<$>.tmp %'[Overwrite ok?] ' y %'[Confirm each?] '%' 'Expand File' 'Floppy Install' 'Installation Manager' 'LCopy' 'List Request Set' 'Make Request Set' 'Merge Command Files' 'Selective Archive' %#1%' IF NOT HiCap THEN' 'Submit' 'Tape Install' 'Update Request Set' %' %' Remove Command %'Command list ' @[scr]<$>.tmp %'[Command file] ' [Scr]<$>Sys.cmds %'[Public command?]'%' %' Copy [KBD] [Scr]<$>args.Tmp Yes '[Device(s) ([QIC])]' '[Buffer pool size (in Kb, default 64)]' '[QIC interface slot (SRP/XE 530 only, default 77)]' Copy [KBD] [Scr]<$>desc.Tmp Yes 'Install the Sequential Access (QIC, 1/2" Tape, DDS, etc.) service.' New Command 'Install Sequential Access Service' [Sys]NGenSeqService.Run @[Scr]<$>args.Tmp @[Scr]<$>desc.Tmp Yes 'IN' [Scr]<$>Sys.cmds%' %' %?1%' IF HiCap THEN %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>args.Tmp %'[Overwrite ok?] ' Yes %'[Confirm each?] '  '[Device name(s) ([QIC])]'%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>desc.Tmp %'[Overwrite ok?] ' Yes %'[Confirm each?] '  'Retension the medium on a sequential access device.'%' %' New Command %'Command name ' 'Tape Retension' %'Run file ' [Sys]SeqAccessUtility.Run %'[Field names] ' @[Scr]<$>args.Tmp %'[Description] ' @[Scr]<$>desc.Tmp %'[Overwrite ok?] ' Yes %'[Case (00)] ' 'RT' %'[Command file] ' [Scr]<$>Sys.cmds %'[Public command?]' %' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>args.Tmp %'[Overwrite ok?] ' Yes %'[Confirm each?] '  '[Device name(s) ([QIC])]' '[Suppress user interaction?] ' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>desc.Tmp %'[Overwrite ok?] ' Yes %'[Confirm each?] '  'Erase the medium on a sequential access device.'%' %' New Command %'Command name ' 'Tape Erase' %'Run file ' [Sys]SeqAccessUtility.Run %'[Field names] ' @[Scr]<$>args.Tmp %'[Description] ' @[Scr]<$>desc.Tmp %'[Overwrite ok?] ' Yes %'[Case (00)] ' 'ER' %'[Command file] ' [Scr]<$>Sys.cmds %'[Public command?]' %' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>SignOn.txt %'[Overwrite ok?] ' yes %'[Confirm each?] '%' Boot from the first diskette - pMode Character or bitmap (GC-003) video Boot from the second diskette - pMode VGA (GC-004) video AF AA AF Insert the AEContinuationAF diskette to continue.AA AF AA The Continuation diskette contains Change Volume Name, Volume Archive, Restore Archive, and Format Disk. %' %' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' pBoot-NonVGA %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppySys %'[Device template]* ' FloppyTypeHiCap %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' Create Directory %'New directory name(s) ' [%#2f0%?2%2]<$> %'[Default protection level (15)]' %'[Maximum number of files (75)] ' %'[Password for new directory] ' %'[Volume password]^ '%' %' LCopy %'File list ' ExecMsg.bin %'[File prefix(s) from] ' [Sys]CBF> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' SignOn.run SignOnBe.run t1Sys.font NLS.sys NLSKbd.sys InstallVDM.run VDM_Ch.run 720X348_80Sys.font VDM_Bm.run 1024X768_80Sys.font 1024X768_146Sys.font %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' LCopy %'File list ' Sys.cmds SignOn.Txt %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [Sys]SysImage.sys %'File to* ' [%#2f0%?2%2]SysImage.sys %'[Overwrite ok?] ' y %'[Confirm each?] '%' %' LCopy %'File list ' %'[File prefix(s) from] ' [Scr]<$>Request.sys-Initial %'[File prefix(s) to] ' [%#2f0%?2%2]Request.sys %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' %' Type [KBD]PF Remove the first diskette and insert the second blank floppy in drive %#2f0%?2%2. Label this diskette as boot diskette for VGA (GC-004) video. Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' pBoot-VGA %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppySys %'[Device template]* ' FloppyTypeHiCap %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] ' %' Create Directory %'New directory name(s) ' [%#2f0%?2%2]<$> %'[Default protection level (15)]' %'[Maximum number of files (75)] ' %'[Password for new directory] ' %'[Volume password]^ '%' %' %' LCopy %'File list ' ExecMsg.bin %'[File prefix(s) from] ' [Sys]CBF> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' SignOn.run SignOnBe.run t1Sys.font NLS.sys NLSKbd.sys InstallVDM.run VDM_Vga.run 720X348_80Sys.font 1024X768_80Sys.font 1024X768_146Sys.font %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' LCopy %'File list ' %'[File prefix(s) from] ' [Scr]<$>Request.sys-Initial %'[File prefix(s) to] ' [%#2f0%?2%2]Request.sys %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' LCopy %'File list ' Sys.cmds SignOn.Txt %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [Sys]SysImage.sys %'File to* ' [%#2f0%?2%2]SysImage.sys %'[Overwrite ok?] ' y %'[Confirm each?] '%' %' %?0/%' IF Tape Type [KBD]PF Remove the second diskette and insert the third blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation diskette 1 Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continuation %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinue %'[Device template]* ' FloppyTypeHiCap %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' LCopy %'File list  ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' SignOn.run SignOnBe.run Submit.run XBif.run NGenSeqService.run Exec.run ExecMsg.bin SeqAccessUtility.run VolUtilMsg.Bin FileUtilMsg.bin SeqServiceMsg.Bin %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>InstallTape.sub %'[Overwrite ok?] ' yes %'[Confirm each?] 'Run [Sys]XBif.runInstall Seq Acc Service%' %' LCopy %'File list ' [scr]<$>I nstallTape.sub %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' / %' Type [KBD]PF Remove the %?0|third|%#0|second| diskette and insert the %?0|forth|%#0|third| blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation diskette %?0|2|%#0|1| Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continuation %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinue %'[Device template]* ' FloppyTypeHiCap %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>.User %'[Overwrite ok?] ' yes %'[Confirm each?] ' :SignOnVolume:Sys :SignOnDirectory:Sys :SignOnFilePrefix: :SignOnPassword: :SignOnExitFile:[Sys]Exec.Run %' %' LCopy %'File list ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' Submit.run FormatDiskConfig.sys FormatDisk.run ChgVolName.run VolumeArchive.run RestoreArchive.run Exec.run ExecMsg.bin SeqAccessUtility.run SignOnBe.Run VolUtilMsg.Bin FileUtilMsg.Bin QicConfig.sys %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y %' %#1%' IF NOT HiCap THEN Copy %'File from* ' [KBD] %'File to* ' [scr]<$>SignOn.txt %'[Overwrite ok?] ' yes %'[Confirm each?] '%' Boot diskette. Insert the diskettes titled Continuation 1 to continue. Continuation diskette 1 contains: Optional Tape Service installation Continuation diskette 2 contains: Volume Archive and Change Volume Name Continuation diskette 3 contains: Format Disk Continuation diskette 4 contains: Restore Archive %' Floppy Copy %'[Number of copies] ' 1 %'[Overwrite ok?] ' y %'[Dual floppy?] ' n %'[Suppress verify?] ' n %'[Device name(s)] ' %#2f0%?2%2 %'[Volume 1 password]^' %'[Volume 2 password]^'%' 11%' %' Copy %'File from* ' [KBD] %'File to* ' [%#2f0%?2%2]Continue1.Txt %'[Overwrite ok?] ' yes %'[Confirm each?] ' Please insert Continuation 1 Diskette%' %' %?0/%' IF Tape THEN LCopy %'File list ' %'[File prefix(s) from] ' [Scr]<$>Request.sys-Initial %'[File prefix(s) to] ' [%#2f0%?2%2]Request.sys %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' /%' %' Type [KBD]PF Remove the first diskette and insert the second blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation 1 diskette Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continue1 %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinueLow %'[Device template]* ' FloppyType %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' Create Directory %'New directory name(s) ' [%#2f0%?2%2]<$> %'[Default protection level (15)]' %'[Maximum number of files (75)] ' %'[Password for new directory] ' %'[Volume password]^ '%' %' Copy [kbd] [scr]<$>.tmp y'[%#2f0%?2%2]Boot Continuation Diskette 1 (B25CBD-1)'%' %' Create File %'File name' @[scr]<$>.tmp %'[Volume or directory password]^' %'[File password]' %'[File protection level]' 15 %'[Size in sectors (0)]' 0 %'[Overwrite ok?] '%' %' LCopy %'File list ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?]  ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' Signon.Run SignonBe.Run Submit.run Exec.Run ExecMsg.Bin %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' %' Copy %'File from* ' [KBD] %'File to*  ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' 1024x768_146Sys.font 1024x768_80Sys.font 720x348_80Sys.font BawsSys.font t1Sys.font %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' y %'[Verify copy?] ' y%' %' %?0/%' IF Tape THEN %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] '%' XBif.run NGenSeqService.run %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [scr]<$>InstallTape.sub %'[Overwrite ok?] ' yes %'[Confirm each?] 'Run [Sys]XBif.runInstall Seq Acc Service%' %' LCopy %'File list ' [scr]<$>InstallTape.sub %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' / %' Type [KBD]PF Remove the second diskette and insert the third blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation 2 diskette Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continue2 %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinue %'[Device template]* ' FloppyType %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' LCopy %'File list ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' ChgVolName.run FileUtilMsg.bin VolumeArchive.run VolUtilMsg.Bin Exec.run ExecMsg.bin %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Type [KBD]PF Remove the third diskette and insert the fourth blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation 3 diskette Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continue3 %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinue %'[Device template]* ' FloppyType %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' LCopy %'File list ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?]  ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' FormatDiskConfig.sys FormatDisk.run FileUtilMsg.bin Exec.run ExecMsg.bin %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Veri fy copy?] ' y%' %' Type [KBD]PF Remove the fourth diskette and insert the fifth blank diskette in drive %#2f0%?2%2. Label this diskette as Continuation 4 diskette Press GO when ready 1%' Format Disk %'Device name ' %#2f0%?2%2 %'[Device password]^ ' %'[Current volume password]^' %'[New volume name] ' Continue4 %'[New volume password]^ ' %'[Configuration file] ' %'[Format template]* ' CreateBackupFloppyContinue %'[Device template]* ' FloppyType %'[Print file] ' %'[Overwrite ok?] ' Yes %'[Bad spot file] ' %'[Recalculate defaults?] '%' %' LCopy %'File list ' Sys.cmds SignOn.Txt .user %'[File prefix(s) from] ' [Scr]<$> %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' Copy %'File from* ' [KBD] %'File to* ' [Scr]<$>Temp.Fls %'[Overwrite ok?] ' y %'[Confirm each?] ' RestoreArchive.run VolUtilMsg.Bin Exec.run ExecMsg.bin %' %' LCopy %'File list ' @[Scr]<$>Temp.Fls %'[File prefix(s) from] ' [Sys] %'[File prefix(s) to] ' [%#2f0%?2%2] %'[File suffix(s)] ' %'[Overwrite ok?] ' y %'[Confirm each?] ' n %'[Continue on error?] ' n %'[Verify copy?] ' y%' %' %' Type [KBD] AFCreateBackupFloppy.sub is completed.AA GW X\\  '4vx ry7w\ Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.127?9 @9?F V]_Obefg@h?@mmnprrOs{|`OpO 0Т`_/0O/?Я? `__ P?P`pP?0o`p/@Op// _@@PO@@@!"@$%%&(_)+,-Op1DHL@PPQR S Tabcd_ efPg?pgjXlP*h67-8'0(&/."  )#+7*3 8% +-,".$d1/m2N,!45)/BUhL  # < 9n5U7\| QYaiqy )=Vr q { lv+B {  ! T   k   1 g    .&a QJwJJJJ0J|JJ JJ_.\....@-@h@IIIZZFZZZ0ZZ Z{ZZZAP i   |  X }   10RanSq!<G<a=anaaaaawaaaaKaZa~aaa7awaabavaaa;aHamazaaaaaaa##?#]#q#!h   * 6 '  j   /1 1 MA Y Y /Y FY XY a )a < D i  y  %m _m m m m m Am hm m m m m       )   0FW W W _ y 3 r 7 H 0 C c T g H  (b b b b b b $7 uas+dFdfddd=wU8747A7]7v777 7 7S 7 777R7l;$=@P@,<Yj 2`IJ.@IZ<a#Mj    1 A Y a   m %  5 V W  $ ' , O b $5=Kd9Idp|7l$5@Ra<I[iru "&*.26:>BFJNRVZ^bfjnrvz~$7J]p#8Zv%6<R_ &,@Frx ?FVo*1Jkr<PWjs . 5 H U \ c l  + M S a   ) 0 7 M e l s z   ' . D \ c j *>ESh|.B^n} KW`'RG]ls$+8BNy&2>KOIW=I_kIgIoIwI#IQIIII I7IeIIIIIKIyIIII1I_II"&*.27;?CGLPTX\aeimqvz~  "&*.37;?CHLPTX]aeimrvz~  $) [5F$k$_         & t     ;A   0|JJ(V#Q ~}s<fAmIIlZZ*ZPZtZ ZoZsZZZ6ZZZZZZz4^D=/ = a o   4 B g    % 4 B  J     ^AWh>%<N<<<I<Ta;aalaaaadaGu{#X##>#####1MuM MMBQ'O7 F  g 0 J a 8a Ta ra a a 3a ia na a a !a a a a 5  9 Z & K _ w   L g    "  F    ? q   m m m 7m m 9m m m m m  m ~ a   % 8 1% % y% % % % % % % % % % % ,% % % % p% % % (% D% `% % % ;% % % % +       C \ E `      ' l 5 5 W QW `W W W bW  # a  ? 6 N      "' , `, 3O O O O 0b b b b b b b b b 9b b gb b  b b W b b . b h b b b 7 b 6 b b b b Rb vb b b b Fb b b b 3b b b >|,S9YPp[g}]Ji$$5==3KzKK9KkKFddLQ<<KRj{[t3Pds@3n :9I[IIIFIoIId4pupp|Z||||m<3zE'3zcR 77p77`77I7`777Q777Q7777\ 7 7 7 7 7 7% 7 7 7 79 7 7 77777B7777,7y77777+7lll!ly,b$ ,RYaaaaaaeaaaaaaqaaa& a a a{ a at a aQ a aII[ j \h^ P*P(hb P*P(h@ P*P(hD P*P(hH P*P(n PjRPjD ShH ShCtFj@1 P0 Pj j jjN PP(N S6R FPDs~vh o~uFd~tFWFjjN PF u=>R t6jvF RPN P PFF tP-vjN PF ue>R t^vv h hT P*P( PN S6R RPjhwmT Sh,P(^. "L!jhhj&s PP(vFPFPe^SvF PRPj@ Sh^StF u@ ^G4^ ć^Gu+J^u^SvlPLs P^SvFPZP(UpPvPLs PvP(]~tz~uFs` Pj P(jFPFP P^SvFPZP( Pj P( PP(v(U@ ^Gv Ph^Sj<P(]vFPFP^Sv~ Nu+JtPj hpmF t(N S6\ \ #;s+ȉN j F# >@ N@ SvX F u6Z j FPjFF tPrvFuuj@FtF$:u&Qj@F uj F$ <uj@j  >@ #@ Sj#F@uuj' Fu@uj&@j >X u 6Z F>L t˚YZl RQUj t.rprir,j6L N P t ]L >R u@_N &?@uOGPR HP^ ShFX u>sCb SN Pn X ttKqsr_>X u]ˠr*^ SN P-X tt]˃>X tss]U>N *\ u+J;u>N ?\ u+Ju]N S6R b Sh;X u]UZ PN S6R RPj6l X ]UR >N ^u+J\ uR \ ]UFt=u j@]<j)jFP/F tj^&GFōFPp u ^Svʚj@ j j hjFP/P(j@s ^&&W ^&RP PPj j ^&G& u j@j@Fs*^&w&7FPj$FPzFڃ'u9F2^&w&7FP$F u$vҍ~FF tPvvܸ PPj Fr$vv^&&WRPe :Pjj@^&GPFP ^Svʚj)j FP h Pj Pf P@ Sh^GP-F tt@ ^G_jjj P,,F u$j u+JVuF~tj ^^PGPeFFPP(RPjvv@ ShFPP(@ SvF Fu FFSF V v%FVd;u;rȋF ~ F V dYN~FVPjvvj jj Pj,@ ^GFFFv~tFPj$FP.F u΍~ԊFNu+JVt=^@ &&GP¹ 10&GF10&W^G5Fl^@ &^@ &G^G rj@^GRPj jj j j@^GRPj jj j j @^GRPj jj ^GRPGRPe j j j @^G RPj jj ^G RPGRPe j j @^G RPj jj ^G RPGRPe j j @^GRPj jj ^GRPGRPe j j(@^GRPj jj ^GRPGRPe j j @^GRPj jj ^GRPGRPe j j j@^ww PPj j j!@^GWGWFVRP PPj vv^wwe j j@^ww PPj ^wwvve j  s>j @^w"w PPj ^w"w wwe j j  v FPFPe^S^Sjdt^S^GPjduFF~tj u j)@ j u j*@ jvN PF u9j+N Ss L hj,N SsL Pej-N Ss L hj.N SsL P]*j/N Ss L  j%@ F FF$FhmmF uyFv@N S6\ j@X F u6Z j FPj FF tPrvj@>X u6Z Fx~ uFr j)@ FFs FF FFhmmF uyFv@N S6\ j@X F u6Z j FPj FF tPrvj@>X u6Z Fx~ uFr j)@ FFs F"F F#F@hmmF uyFv@N S6\ j@X F u6Z j FPj FF tPrvj@>X u6Z Fx~ uFr j)@ FFsFFhrmF tFv@N S6\ j@X F u6Z j FPjF~u6Z jFPjF~tuЉFVFVFVNVF~;u;r~t+F t=vFFs6Z vvvFPu6Z vvvFPvFNVF׉NVF~Fsy~urFVFVFV;Vu;FsD~u=6Z RPhFPuFNV=uN뺃~uFV묁~uFF Ft j(vvj PP j@F Ft j(vvj PP j@~u j@vrv>X u 6Z F~ uFr j)@ U^SP\ u]. s].]U^SP\ u]. s].]U^S!P\ u]. s].]U^S#P\ u]. s].]U^S%P\ u]. s].]U^ S)P\ u]. s].] U^ S*P\ u]. s].]U^S7P\ u]. s].]U^ S8P\ u]. s].] U^SP\ u]. s].]U^"S3P\ u]. s].] U^S P\ u]. s].]U^S"P\ u]. s].]U^S$P\ u]. s].]U^S&P\ u]. s].]U^S+P\ u].  s].]U^ S,P\ u]. s]. ] U^ S-P\ u]. s].]U^ S.P\ u].! s].]U^S/P\ u].) s].%]U^S0P\ u].1 s].-]U^ S1P\ u].9 s].5]U^ S2P\ u].A s].=] U^ S4P\ u].I s].E]U^S5P\ u].Q s].M]U^S6P\ u].Y s].U]U].CU].GU].KU].OU].SU].W ~i^GP^Sv^SvHF t&FPDF uW ^w@iF^&w PhMF^GP(F t^&G&G;G5P1F uT9FvFF1^&G;Fu&G^&G@&G^&G&G;FvSrFFGF^&GZ&W&Ov~ &w&&&W&O&G ^&w;FFU^&wvO]UF>t=t P \ ]U~u]^&GFĴ.GFF'FFFF&5^ćFFğ<^Fv &F^&NFFu-#ȋ^H^&Z&Wv#^& F^&Z&W ^&G^&t  $^&t  ^SPPhFPv ^SvPF u^&G :1uShhv ^Svh,a,F uF^&G8 @F^&srF F~u'~thDFN^SF~t,UFPvQPQe]U^&G :u:u :t^S<]^&G :Fu:[u:u ]^&G$&G ^&G,^&G(^&G2^&G3^&G0]^&G :u:u :t^Sh^&G :1uF:[u=:Fu4:u+:pu":u:u:u ^Sh F u^&v#&wxh^&wx&GpPK^&u t1^&FFv&|^^F&7^&Gn@PhDF^&v&wxh^&wx&wp,^&u t^&7^&wnFU^ &G :pu:u:u :t^ S^S<]^ &G :1uF:[u=:Fu4:u+:pu":u:u:u ]^ &G|^&^ &G|]Ȇ^&^&G :t W^&G<t':t!&OFPsFr^&G^&u2F ^&~ t^ &?utPPP^ Sv t_>u!FPF u ~ r ujjP/F t^&GF&8G wFX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r > >%]?U.>><Ŀ&UB>"u$&U>tt u Ƈ3LJ@@H ; w3ǁFıV&t&u#&t&DŽ&DŽBřN tƇ23Uw(>Ƈ0Urx> uË ;$t6ķ&&,&FA +;$r3,z>ULJ@Hu H~U ;$t2uLJ@LJ@U"!#!!!!!.!?!!!!!*!+!!!!!.!?!!!!!U&.>>>ȋz>рp "t 2.9twx0>t ."t,<t<u$t\UƇ2@uLJ@td+w"+fw u, t>Ft;wtt x>u3Ut2 2t'Ƈ2;$t@uLJ@0uS-Ƈ|UUpu51u.<t&<t".t5u < u Ƈ5 Ƈ5< t[苗d;r";wlpt@t9t0,ht :iuĿ&E&&&d;w;vLJ>:Ŀ&C;drXdrQჿ`u`+^"Ŀ&S&C+t&E3퉯^&FtLJF4LJ>:U`u`+^^&Ŀ&S&cFtLJFUd;t&r";v ;drdrLJ>1ttĿV&&UƇ4tBRP.x>p$p>Ŀ&U >XZtLJ@40uS-U>ȋ=w>=wZ=wTĿ&U>t6t t3t'Ƈ3Ƈ0LJ@Ƈ3Ƈ0LJ@3tJz>Ƈ|"t5&d;w&";w;^s^ZFu33˥'^&vvvvv&<^ Pv ^SF-u~FN ;sNFF~u\FsUvvvvv&4^ PvFPF^F&~uFFV^&;F rF랋F^&^ &&W^&G :t ^&Gs^&G&G&WFV&w&wRP&S^&wFPFV~NV~=]=u# t^&GF^&G^&GFF up^&GFV^&G&WF^&G^&G&W;Vu;Fw4&G^&G&W&+G&WFVF&G^&uFF^&G &w8 F^&G:t P)FF x~eF =wmtAN=smt=pmu'^S^Sv^Svv ^Sv0F =rmt=tmuFrmF =wmt =mmt=amuFmm iFP^Sv^SvvLF=t=uB^S^Sv^Svv ^SvFt !t= uFFa~uv~mmuo^Sv^Sv^&w&&w$F=u^Sv^SvjhF~u FP^Sv^SvvLFFF t^G:P(F uM^&w:FP uF FuF^&G8#;u8v tuhjtP/F tft& r 9FvFF1F1F1F;s ^Sh %F^&GZ&WvF&MX&E&uF+ƹ1&EFF&Z&U&E$<&E&FYs߸&G&G<~ tmuv^S^GPvj^GPjFF usF =rmt=tmu_^&G &G 5^&G&G~ mmu&O FVt^&G FF^SvvF t ^SPmF^&G"s&G :tF ^&u&uF{FNs^&G$FP&O&xWF&wFP|F u6^&Gt<uF ^&uS|F u^&G~uFs ^&G#^&G#FF^&G :tF 1^&G$r&G&F uF FF^F ^G'FF^SvP^OQP=F^&t&G"s^&wFPtF u*^&G"s2&w;^&G#sF^&G"rN^GEPF u-^&G&GG&G&GM&G5&G9GAPlF t1^&G"^&G5&G9&G t&G5^&wFPtF uJ^&G9&G5G5;vu;FuF^&G"&GIF^&wFPF u;^G5N^;u;t&^GA;u;u^&G"&GIFF~uiFFs-^&wFP t@F~u؃~uF^G5P2F^&w)F~u u^&G ~uFF^&G$FUVnjޱ ;u$:u ^&G(~F =rmt =tmt ^&G ]^&^ &&W^&G :t WFP5F uC~uF1~uF$^G^ &Z&W^&F^&GFU쾰~F =amt=wmt=rmt=tmt =mmt&^&G F^&Z&WF^&G]U^&^&G :t ^&GN ^&]U^&^ &&W^&G :t ]U^S^Sv^Svv ^Svj]U^S^Sv^Svv ^Svj]UFPjv^ S^SQFPQ]^&G :tSv^ S^Sg<^SFPF u'^Sv^ S^SgF^&G F^ &&W^&^&O :Bv^&zVnjޱ;u$:u0r)PPjRPQhrmRPQ,F u(^&G :u FF^Su ^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G FFN F;vP~uJ^S+QFPFPF t tu.^ v8vNFYFF릋F^&F^&G :tRS^ Sv ^SFsmpVnjޱ;u$:uH^SF9^SFPF u'^S^ Sv ^SF^&G F ^&^&O :Bv ^&pVnjޱ;u$:u7r0r)pPPjRPQhwmRPQ,F u(^&G :-u FF^Su FFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&FU^&G :Bv ]U^&G :Bv ^&G ]U^&]U^&]U]U^& t^&G :_u &G& u]Uv&D FFv^"&@Fv^"&x"ti&Gwub@JP(F u,vZ^F&^&G ^S1F tvF^"&@VZ&PX^&GFth~%^"&Gwt^FFFFFFFFFFFFF^"&OsN&OqN^&OcNNNNN&tFFFFFPFP| tFF s u~r ЈFQ~ u?~uЈFF>ЈFF$~r)FFsF~ u~ r F$F~^SvFPvFPvdF tlFƒwu{F^"&GF^"&GxF^"&GzF^"&^"&tu|FV^;u$:uF^"&Z&WF^"&G+؍^"&&_^"&G@%^"&G^"&G^"&tuB^"&FFv"&t^^FF&F^&GF^&GF^&GFsZFƒtu^"S^SPRQP^"S^Sv^Sv͚F t^"S 4FF^"&G}^"&s &_ ^"&_F^"&wF&_v˷F^"&vF&wxj^"&wxjF@F^"&Go^"&wx&wo^"&wxj^"&G :Ft:u^"&G tu ^"&wxj ^"&wxj^"&wxj^"&G :1t@^"&G :[u&G tu1Fֹ@@2^"&u&Gn(^"&u Fֹ@@Fֹ@@ ^"&Gn^"&wx&wn^"&wxjFֹ  ^"&Gp^"&wx&wp^"&tu^"&G# F&s&G&Ov ^"&G+&Wv"Ѷ &Gn^"&u&On^"&u&On^"&wxj`^&7^"&wn^&wj^&wj ^&wv^"&GpsjFPh,FFsvv$jF$PPF uc^"&GFF^"&G& GtvjFPPF u3^"&GFF^"&G& GtvjFPPF u F^&u2&9w&wxP^&wxj6^&tu)^&FFv&t^^F&wj^&Ltb&GZ tXFF&G^&wLFP t^&^&GL^&G^&G^&wLFPtF^&w &gp}^&wxj^&wx&wp^&tu^&wj^&Gwu&wdF tF^&G F F;w|^&x"tf&Owu?&HJ tQ)F tFv^&@V t4P2F t&F!v^&XV^F&^&GFtzs}jFPh,FFsgvjQF uY^&GFF^&G& GtvjQF u.^&GFF^&G& GtvjQF uFU^&G :1t/:[t):Ft#:t:pt:t:t :t ^S 4]hjFP/F^&G F~TF< t< u F =wmt =amty^S^SvFPcF ug~ u^&r^& w>~ u=^&s$S^Sv^Svv ^Sv.^&t< ~s F^&GZ&WF^&G$~u^&G@}FPpPjFP^v@PFF+PRPjhrmF~uF&w扜^S^ڌFv&\Fډ.0FFFFPF u{^&w拄FFF0FNN&ONF&GHFFPlF uNv^&w=SjTvFPtF^ƇF utFFFFPF uFFF0FNN^&ONFFPlF tv)^&_LJF4vFPtFv)^&_LJF uF0FFFFPF uq^ &w拄FډFF0FNN&ONFF&O?NFN NF^^F&^ &GHF֍FPlF t^ &;u vڸPSPv^ &w;SjTvڍFPtF܋^Ƈ^&GF^&F=Ct=cuFZ^ &G?FҌF^&?t.F^&HN;r^ &_^& Fu׋F^ &GEF ^ &G^ &G^&G^ &G^&G^ &G^&8Gt/^&u ^ &G"^&u ^ &G^&G^ &G^&G<t<u^ &G^ &G^&Gf^ &G FF w"؋^^&;Gu F@^ & Fu^ & &FFFFPF uo^ &w拄F܉FF0FNN&ONFFF<uF FFF~uF FFFFPlF uv܍FPtF uFF FF w8؋0 .t#ćFF t& t PDFFuP(F tPTNFNF^FFFN^NNNFFNFFP4F tPTP1F tPT6PtFnjޱ;u$:u>0t.TF tPTT^&GHF~ t9F ^㉇F^FF^Ƈ FF w+؊s㋏I u ƇPnTFu^ćPF tPT0&O^uPlF tPT^&F^&&W^&G :pt:u^Sv^S^Sl^&G :1t :[t g^&FtSj,F u^&Gb;FsFF^&O*&Od^&`tN&9Os-SP^&+Qv ^SvhZa,F uF^^&G^&Z&W^&G*^&^F&9Gw^&G^&^&^&)G^&^&G*^&G*&G^j^&G^&Z&W^&G*^&^&GFF^&G`F^&FN;s#&)^F&)G^F&G*F^&^F&)GF^&^&_㋇|F u^&G*~uF ^&^&G*^&G^F&G`^&GFF^F&9G*tC u&G"FvN^&8uvv^FF^&w`^&)FFs^&G4sSFPF u8s,jFPh,FFs^&wvGPdFU^ &G :1t :[t Q^ &G^&^ &G^ &G&^ &G*^ &Gd^ &G^^ &G`^ &G4sS]^&G"&;Gw&4t^&Gte&w &wxj^&Op^&wx&wp8^&tu+^&&G&OFN؎&WRR P^&Gt j^&G@^&G0rS-^&G4U* PFP| t >  u ~r  >  s#^Sv^Sv ^SvPe>  s*vN F*F^FFFFFFFFFFFF FFFFFFFPd]U(>  sF uv vvP'FڈFFF FFFFFFP ]U(>  sFuvP FڈFFFFFP]U>  sF uv v ^S$8>  rv v ^S7L"FFv v ^S^Sd]UQQ>  sF uv vv01>  rv vv8|&FFv vvPd]U^&&GFPDF uFF^&G&GSlF u(vFPtF uF;Ft ^&G]^&^&G :pt:tSv^ S^S\V^&G?^ &Z&W^&G?FFF9FvF^Sv^STF^&?t=ZuZ>F u^&.t&G9s!^&? u^&^G^ &Z&W^&G9FF^&HF~u^vPPF+PFPFFt͉F^& F;Fu ^&G9^v&x u^&F@N;sF+A^vp^~y^Y^&GE uE^&GGs7v &S^GHP^&7FPFFt @^&^ &G :pt:t :t:u^ &G :1t-:[t':Ft!:t:pt:t:t :t~ wc^ .p+A\e}^ &G~^ &Gu^ &G :[u$&Gs&;Gqt'^ &su$^ &qu^ &G :1uFFv^ &@q3^ &Gv@^ &G :1tB^ &G8^ &G :Ft,^ &G6v^ &G :Ft^ &G.^^ &G :1u ]^ &G/C^ &G<^ &Gh&Oi$^ &Gq^ &Gs^ &Gl^ &GjFF^& F ^&G :udFv&^&_.2:I|^S|F1^S|F u^&ud&G܁~t^&G}^&G1VS&xWvF&p|F uB^S|F u^S|F t ^&G~u^&GFFFP&O&xWF&w|F uI^&G1&WR&@F&Z&W_^&@&G&G&GF~t_^ GSPF uP^ &G&GU&G&G[FF&G]Z&W_F&GaG3F&GcZ&WeGOPlFYFF ^&G5&G9&G t&G5^&wFPtF u}^&G9&G5G5;vu;FuF ^&GWF^&wFPF u6^G5N^;u;t!^GO;u;u ^&GWFFFUv&D ~&] ~&] Y]&FFF=F\FzFFFFFF2FQF 1F1FF1Vu FFmFm1FF1VF1F ;vNvB;FvNFF^&F 1^&W^&8Os&vF+B@^&GF1^&WF <1^&WF 1F1^&WF 1º PF1Y^&GU^ &G 33&]_:t :.Bt$C`^Y tt &^&] ]U^&G :Bw):u&G t&G uF&G &G 3  ]U^&G ]UV>] vjFPjF uxFV^&&W~u~tYFuRFVFV)F^v^ SPvvFP#F u^ &?Gu&G &W^&&W ^Sv^ SjFPF u_^ &G &W ^&&W~u~t\FuUFVFV)F^vvvv^ SPFPF u^ &?Gu&G &W^&&WU u. t!;v 33@33.P \3 ҃+@sH]U؋]UN~F V u. t!;v 33@33.P \3 ҃+@sH]UN~F V ؋] 6r"^&&W&G^&G;F s Wv ^X^F&F&GFFF;FsN ;Nv^&@FFڋF;Fr ,^v@^&Z&WS^&_[&GU|s]^&G@] ar ^&G;FsGv^X^F&F&GFFF;Fs^&@FFFU>\uZPD u>\tZ&G^`>`u]ð]UQQhPDh|vPl uJF6hPt u8~=u0bPl u!F6hPt uj=t=!t3]^ &G :uSvv^ &G :tWSvvnt^ &G ^ SvvFNs=u8^ SFP4~u#^ &G ^ &dt@Fs_률^ &G F,^ &G :Br^ &G :_tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u4F^ &G^ &G :tt :t^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$TF u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$TF u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjTF u/v&|*&L+^9 ^&G*&G^&G,^ &G :uS^SzO^ &G :t S^S<6^ &du_t^ &G ^ S^SF^ &G FU^&G :Br^&G :tt:u^&G&G &W"^&&Wc^&G :_uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]^&^ &&W^&G :_t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF~6F =wmt =mmt=amu dF =rmt=tmuF smhFPjFt;v ^Sv^SvFPF t=c=u ~W=t~6FV^&G&WFF&Z&WF1&G&G;YsF^Sv^GPjFPF ui^&G(&W*&G&W~ tmu)&w&w^Sv^S^GPF uA^&G &G SjjF u^&G &w&wFFU^&G(F&G F&1t SvL$^&/ut~ u@&G:r8S PL$F u^S PL$F th^SvPU^SvL$F uD~ u ^&G:1^&G:'^&/u ~ uS P^SvL$FF]UQQ^&OBN&GE1+ʉN&GE&OD;sF]UF^ &G(^ F&)G ]UQ^&/tS PL$F u&^&/tS PL$F u ^&GE]U ^&G(F&GEF&GBF uP&GEY1+ʉN&GE&OD;s S6lFF;Fr\^&GE&:GDuS6F uD^S PL$F t!^SvFHPF^&GEF^&GEFu]U^ &wĄFF^ &_ćFF~ ~t u PTF ^&NFFt(#^H^&Z&Wv#^&^&:F t v&Z&T] U^&G(F&G F&1t SvL$^&GQrFF^SvFPHFw^&:FuFFHN;s[^&F^&OE&:ODu< t< tS6F u{^SvL$F u~^&/u~ t^&/t ~ u&GEF< t< t < t^&GEFtk~ uS^&/t)S PL$F u\^&GE^&/u^S PL$F u^&/uz`^&GE&:GDuF< t< tS6F uUF< t:^SPL$F uFF;FsF~ t ~r^F~v@PFN ^㉇<>C<> @B$s"DFFP^GP^&GPRPjhrmF t?^&OwqF^&GqqvQPv^ĿWhjjFP#F u3FFv^Ŀ<WPvvFP#F tv F) v F u ^&G}hjFP/F^&G F A:r9% u ~rF^&G]Un^ SPv ^SF^&tF P^ Sv PNQNQNQNQNQNQNQNQNQNQPP$F u~u^SvКF t]U PP$P/F uA$&G 9%$~I9%< t< tY^S^SvFPcF u^>9% u ^&r>9% u.^&s$S^Sv^Svv ^Sv~ wmu~~s ~ mmuIF^&G?Z&WA^^&GZ&W^&G$^,^&GZ&WF-,`F =wmt=amuF^&GZ&WF^&G$>F =rmt=tmuTF^&G?Z&WA^^&GZ&WF-^&G"~u"^&GAH#%FP%PuFP^v@PFF+PRPPrmPF~u>v^SPPPFP#F t v Fv F t( ^&?t' ^&G^&G^&G^&G^&G^&G^&G^&G;^&G ^&G=^&G ^&G.^&G ^&G/^&G^&GG^&G^&GHF =wmt=amu~ mmuF =rmt=tmu p^&G ^&G ^&G(^&G,^SCTF u/.%F^P^STP^S^STF t^&G F]^ &G :pt:t :t:u^ Svv^ &G :1t-:[t':Ft!:t:pt:t:t :t~ wg^ Sj :% u^ &FFv &t^FF^.5\8X0YnFse;v[;u ^ &rJF^ &G^ &v&s5&On?&w+@ &Gn^ &Op៵&w6^ &On?&w+@ &Gn^ &Op៵&w &Gp^ &t38Fv r ^ &u~F^ &G^ &v&Go$&w &Go^ &s5&On?&w+@ &Gn^ &Op៵&w6^ &On?&w+@ &Gn^ &Op៵&w &Gp^ &wxj^ &wx&wo^ &wxj^ &wx&wn^ &wxj^ &wx&wpd^ &tt^&7F%F^ &s+&O F&uN^ &uN ^ &G F~Kw-F^ &GqF^ &Gs^ &wj%F uvF^ &Gv^ &w>&Go$&_v˷ ^ &Go^ &wxj^ &wx&woA^ &tub^&7F^ &vufN^&7v#^ &G :1tRF^ &G86^ &G :Ft9F^ &G6^ &G :Ft ~w8F^ &G.Z^ &G :1u K~wF^ &G/)~vF^ &G^ &G :Fu&Gt tFF^ &G :1t&Gtt ^ &gn^ &On ^ &9we&wxP^ &wxF$P^ &wxj^ &wx&wn'Ft % F^Sv$v^&XV^F&t4^&u ^&?u!v^&@F^&^&GFF, Fv^F&9@su7~u~t^&G &;G$s&G0r&G2r &G3r^v^&x6u FFKv^&@VFF u/~uv^&@J vF^&@Bv^&x6u ^&GTv^&@6 F^&GF^&v^&@B^&G^&GF^&GF^&G vF^&@FvF ^&@NZ&PP~uav^&pBFPtP(F V ;Vu;Ft<svFPmF^&GF^Sv,F F+ FF^ &dtZSFP^& uV^ &du&G-sG<P^S^&^ Shwmvv^& ut^ &G ^&^ &Gd<tN<uSh^& uH^ SFP^& u/^ Shrmvv^& u_^ &G ^&ȲFMsNMF^NPF%PjRPjhrm^Sv, uCNPFPjFP uFډF~uNPFPjFP ueF;FuWF^&N ;v&NPvvԚ u5NP^S^&7FP uNPNwNPF^F F t(PNPhFPt uNF^FFFF^FFPj^Sv^Sv ^Sj<^&GFFF ;F r^& u&G,&;G(r &O$+ȉN ^&G FN F +;NsN^v&t,0^~ 9N^Y^F&^F&)G ^F&G,^&G,&;G$u&G,^& tFF Q^& u) ^&_ğ.^F&GF^&GF^&GF^&F^&GF^&GF^&GF^&GFFHN;tFH;uF;Fu* FNF;rE;Fu^S^SQF@^S^SvvFPDF u.^S^Sv ^S^SvFHPFPDFNFȋV;r +V+FFFFF^&GF^&GU].p%] ^&^SP$TF t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :tt :t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvTF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^ShTF u^&G :tt :t ^&G&WFV&O&O &"N~;u;wN~Fs FF%%u %&G%%&G%%&G%(%]U>%u %&G%%&G%%&GR%S6(%]U>%u %&G%%&G%%&G%B(%]U>%u%&G%&G%&G%%&G%N(%%GPP%&GP%P%%GPP%&GP%P%9%u9%t %&G %&G]UZ(PP6%%P%Z(PP6%%P%9%u9%t %&G %&G%&O)t+w*%Z^Y%&G)%&G %&G%&wZZ(%%%&G]UF%\v^Sv4]U^ &GF^ &Z&W^ S^Sj\]%'%%%&OR%wS6(F%&O%wB(F%&Gs%%6%%&O%wN(F%&Gs%%6%%&O%ZZ(F%&Gr%%&Gr%%&Gr%P'Q%Q%Qj\P6(Q6%B(Q6%N(Q6%Z(Q6%P(Q6%PP% t Fr>%uFs}^% t6('򤡺%F% tB(^'򤡼%F% tN(^'򤡾%FZ(^'%F%F%%&_)'%&&_%&Gs%%&O)+&O%%&O)+%&G F%%&Ƈ~s) ~N%&Ƈ%&%%%F%%N %%&GZ&WF %&G%&Ƈ%SF PPFP0SFP'S% t~uFFFA9F rD%'&8u98Nu4O%%)%%&OZ&W%%&O%&i%&_SP%&w%P% u[%&_SP%&w%P% u39%u9%u%&Ƈ%&%Sj_% tP%S6%P6(Q%QB(Q%QN(Q%QZ(Q%Q(Q%QPP$% tA>%t>%u %&GR>%tq>%uj>%uc%FsH^Sv %GP%&GP^Sv6F=c=t=V=t=W=t !tt%~t>%u>%u>%tF%&G)P(Q%Q%QjiP6(Q6%B(Q6%N(Q6%Z(Q6%P=P(Q%Q%QjiP6(Q6%B(Q6%N(Q6%Z(Q6%h(Q6%PP%>%t% u4% ui% u%&Gr&Gs&Gr >%ux% u&% u%&Gr%GP%&ws%GSP%&GRPGP%&GPGP%&GP%Ph&D% tGr^Sv %GP%&GP^Sv6F=c=u~t%&G%ZP%&ws( %GSP%&GRPGP%&GPGP%&GPGP%&GP%GPh<% tC s7^Sv %GP%&GP^Sv6F=c=t&~t%%&G%&u&Ƈ B^&GF %%؍%%F%%%GS%&GZ&W%&GR%&G%G%&G Z&W %&G%&G %&8u*%&u&Ƈ%&Gs&u%P%P(DF tI%&uS%&G%;t@Fs]RPGP%SQFP|SF t~u,F&%GP%&GP%S6%2FFsc%GSP%&GRPGP%&GP%S6%%GP%&GP%GPh<F uf%&G%&Gs]&u^ S^S%GP%P%P%GPEF t%&Gr%&Gr%&uH%&9GtANsYRQ&_S%SPFP)SF uB~u*F$%ZP%&w%S6%2FFrjFB^&GF %%؍%%F%%%GS%&GZ&W%&GR%&G%G%&G Z&W %&G%&G %&8u+%&u&Ƈ%&Gs&u%P%P(DF tI%&uS%&G%;t@Fs]RPGP%SQFPSF t~u,F&%GP%&GP%S6%2FFsc%GSP%&GRPGP%&GP%S6%%GP%&GP%GPh<F uf%&G%&Gs]&u^ S^S%GP%P%P%GPEF t%&Gr%&Gr%&uH%&9GtANsYRQ&_S%SPFPlSF uC~u*F$%ZP%&w%S6%2FFrvF U^&u && t&&%]9Fu^&?*u N^ &9^&~u ~t@~uF^&F<*tF9Fv^&8*u N^ &FFFHN;sr^vPF+P^PF+P^ PFPs^vPFP8|FFF뜀~?u}~u ^ &^SFP8|FFF^vQN+Q^ QN+Q^ PFPrvNF^ &FF^&F^PFP8|FFFFFF9Fv6^vPFP8|FFFu^v&F<*t)u ~'t@FFsFF<'u^>)tWPF u_FPaF uNF<'t2FPF u6F< vA<uB"<u@"FFr vF?F ;)w^&!^ - )^&F F))~ s) m~N^SPv FPF^SPv FPF9Fu9Ft$^Sv ^SvFP"F tFFFF F)&G)&G &W )&G*)S^SvWQPhrmF t:shhsm^SvRPj)GPF u?)&G)&G)&G)&u&7GP)GP1F)&w&w^Sv)GP)GPFF u)&u#&7GPh)&w &w FP#&)&w&w&w &w GPhFPFF;uB]=;ðu@"6)&DF;t;u ^Sv ^Sv-F t0)&u &7 )&u&w&wFF )^&&_^&GN )))FFFrS?F uJFPwF u9FsF t$^&Sh^GP'FF릋F*s_^ S^SF t'^ &u &7 ^ &w&wF~t@*s^&tFFFFt'N^QPFP!FFFF(FҀ~v^~tI^S^S8|F^?u5^&F<*u$^N;v^&8*u^G~?uO=v4^PFP8|FFF<u^v4&F<*t~?u^FF^;wU3~ u~u`~uZV u 3NFrD@3n u9^N V u^uK;ruA;w ^tr]^SvFPFPj{j}F uF;F vdP~ vE~^vNFY^vxF^&F F t~u5^&~u^S^Sv^ SvFFUFF F uZvvvjjFPj j{j}jF#t1F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~u~u v&<jF~uv&<tF~to~tEv&<u<^&?*t****~tRPj^SvSPjTPj^SvUPjxVPj n*P*S6*^Sv hrmF ul6*j^ShF tFJF**6*^ShPRPFP#F^**O**N*.* *uN*FF>*s *&?uJ*@*6**ShPRPFP#F t^FU*^G***G^ &Z&W*&^&*@*#@^**6* F* ^SvFPFPjF u5FPF PFPjXF uF;F vdS~ vHb~^vNFY^vxcFF^&F F t~u5^&~u^S^Sv^ SvLFFUFF F u4vvvjjFPj j{j}jF#t F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~t~u v&<jF#ukF#t)Fv^@‰FVvvvvv v vj2jj^jF#u$v&<uvvvj2vv VF~uFF F FuFFPFPFPjj^XF uF F;FvdbF F2vRF t$N t~^Y^vFFv~N ^YFFF ^&F Ft~uF F t~u=^&~u'^S^Sv^Sv^ Sv\FFUFF F uRvvvjjFPj j{j}jF#t)F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FVvvvjjFPj jjF#tF#t)Fv^@‰FVvvvjjFPj2jj^jF#uWF;Fs v&8^uFF#t)FF~tv~vvvj vv v vF~uFF^S{PvFPF uJ~u ^Sv^SvRPjFPFPjF~t ~s ~ud^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvF uF^ &^SPvFPF uFt^ &FFF~NuV~u ^&P ~u^&7 +P^ St~u8^&w&7 +P^ St +F^~Hu2Ft tuS^Sv +P^ St +F^~Du_~uFPF~u^&&WFV, PRPvvv +Pj ^ SF +F^^S^ &7^Svv^StFU*PjV+t'~tv &*\+ v &*X+&4v &^&~tv &+t^SsF teN+r@6+GFFFFF9Fw Nr^PFP8|FFuVN+;sVFFF;FvFsFs@^v&`*طS^ &*ط^[:uFF FF)FF^v&^ &:u~u ^PFFFFF)F^S^v&Z[&S^ &[&:uFFFs ^&F^S^ Svd^&N+^Sj6+PF=4t=4uF~t@N+FV>+@+U^&?u"^&G<`rFF@^&*^+vN FYF ^&7^&:^&8^S~<s 9Fw9Fw 9Fw9F vF~t:^&Ƈ{^v NFY^v&ƀ}FFF~tC^v&ƀ[^vvNFYvv^&ƀ]FFF^v&ƀFF@^&*^+vN FYF ^&7^&:^&8^S^&8&8uSoF tb^&8F&^ &^v@^&Z&WF^ &@F^0~^YF^&8^&8rM^P^&*P+P^&7P&:SF u^&LJ8^&:FU^SvP]ULFs+PPFP/F u,^&!t@FF^ &FPDF usFFFFFNNFF @FF^F FsFs PFP  FPlF~u[vFPtF tF;FtFF u$ 8FvFF^ &ȍvF!uFFFΈFψFбNѴFҋVVԉFF.F FڌF܋FFލFF^NFsFs PFP  FPlF~uGvFPtF u6F;Ft )F։F u F^ &~!t FtFF]8Ss3i<CJO+NTj5l  Cache Utility EnabledDisabled (system default) (volume default)OS does not support cache Processor Memory Size : File Cache Size : Block Size : Block Count (total) : Min Working Set Blocks : Current Blocks Valid : Available : Busy : Locked-in : Total Cache Probes : Blocks Obtained : Hits : Blocks Unavailable: File Cache is not installed Enabling Disabling done. ... Locking-in Unlocking bytes) bytes unlockable) System Cache Status on Remote Cache in CP-002CP-003286i386iEnabling WriteBehind Disabling WriteBehind Resetting CacheCtrl Valid Action Codes:E/e-Enable D/d-Disable W/w-WriteBehind N/n-NoWriteBehind R/r-ResetWriteBehind EnabledWriteBehind Disabled Dirty : Parameter on line 1 of the form is invalid or missing.Parameter on line 2 of the form is invalid or missing.0123456789ABCDEFGDSACTF ( (%)DeviceNameDe;9         ~44[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][PTR]0123456789abcdef[scr]<$>BsFilter.tmpVNVF2Knn,X` %K& $ % * - II021B02 II120A00SYSSYS8251Config.sysCommPtr&&II120A00Error %0Np*?*?*?...*?{}MASTERSERVERLOCAL{}[] []0123456789ABCDEF{}[]<>^{}[]mfd.sys<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxyPress NEXT PAGE or SCROLL UP to continue(Press NEXT PAGE to continue!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0[Sys]CacheUtilityMsg.Bin[Kbd][Vid] L[Lpt][Ptr].[Nul][Comm][8251][Debug]t[SysIn] [SysOut]> lll!<l#>l%|l)\l*$]l7,ul8d43L; e"C4$4&P+t, -T . /\0\1 2{ 4LP 5T 6<TTa]y]y.\B\B.\~VZ]y\~V ~V \~Vl[[l[[ TO$$|d]yt]y ]y {  y2l;l 4$ zz Error opening translation file: ![Sys]PtrAConfig.sys @?[KBD][VID]>t> [sys]CommXconfig.sys ? @[Sys]ErcMsg.bin? @   0123456789ABCDEF       LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: spa.lib VERSION: R12.3.0 (monday november 15, 1993, 15:57) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 15:57)Invalid path specification." STRING 677 "Invalid Device Specification." STRING 678 "No session name has been selected." GW091C xXL<p&wCopyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1__`/@I?@LLOM?PO?QX/`Z\p^0a0f0gPhil?tvOy  0@PO0 oP`?P? P_0O/?`/O`@@O0 p  _?`/9:*'("E )#+7* 8% /!) z)gt VVYVV V%V?VNV|B|e||k|}|||||K+D Duu:uuuu0u-a8    ! gg/ghgg/\M+J)J<_F0 {Z 0"FSGS_xyx3r7H0Cclv+B {  ! T   k   1 g    &a  < -< h< E AE '  j   / F X D i y . m + F f   U      8. 4. A. ]. v. . .  . . S .  . . . R. c ;      = P ,A2z`zzzzzzzV|DHPu &IgJSx  + 8 < E S i n  j x . c  , 7  2AN`vz,Xz)S'Q[u1N`oL",6@JT^hr|  $(,048<@DHLPTX\`dhlpx|xVVVVVVVV"V(VSVYVwV}VVV[VaVVVVVVVVV:V@V^VdVVVVVVV VVHVNVlVrVVVVVVVV VLVRVpVvVVVVVVVV!VOVUVsVyVVV V> VD Vb Vh V V V V V V V V V= VC Va Vg V V V V V VF Vm Vs V V V V V- V3 Vm Vs VVV:V@V\VbV~VVVVVVVVV V(V.VJVPVlVrVVVVVVVVVVVVVVVGVVV8BLV`jt~  $(,048<@DHLPX\`fl|)|;|]|c|||||||||<|B|||||#|5|W|]||||||||||S|Y|x|~|||||||%|D|J||||||||||6|<|[|a|||||||||#|\|b||| |! |T |Z | | | | | |? |E | | | | | | |Y |_ | | |6 |< |[ |a | | | | | | | | |||9|?|^|d|||||||,|2|O|s||||hr| "&*.2:>BHN >Dnt,sy 0N*0LRnt17V\&0:D}$3n*H<HfHPP>PJu|u*B{\ <a ?nO&&I=IkIII I #I QI I* . 2 6 : ? C G K O T X \ ` d i m q u y ~                               !!! !!!!!!!&!*!.!2!6!;!?!C!G!K!O!U!Z!gCgZggNg#Q ~}sLvJ8JTJrJJJ3JiJnJJJ!JJJJ5AmIl*Pt os6C\ZQ`b%SNSSSISxae;A     + E "i n `n g ""9 Z 0 3    K t      i       i    K      + j j 3x zx x 9x kx F   Z 4 u  R . . p. . `. . I. `. . . Q. . . Q. . . . \ . . . . . . % . . . . 9 . . . . . . . B. . . . ,. y. . . . . +. c c c !c  y    , b      Y7 7 7 7 7 7 e7 7 7 7 7 7 q7 7 7 & 7 7  7 { 7  7 t 7 7 Q 7 7 2NN#vzhP*P(hP*P((S6,RPjShShC\Bj JtjuPP j jjZP Pj JtjvPP j jj`P P`ShP6du@P`ShQ6du@Y"P`ShQ6du@Y"P`ShQ6d_u@Y"P`ShQ6d>u@Y"sjvPP j NPZS6^TS6X6P6NB=u B tPDPZS6^TS6XhmmPse6DPhjjLP#P`ShP6dZu >tf`ShP6d3t@P`ShQ6dt@Y s 8tf`ShP6dt@P`ShQ6dt@Y s >tf>ftyjxPP fK.#0=hPhP hPP jyPP 6D Pj jwRPjhSjdlP\ tlhjjzRPjnSjdrP\ trnp`ShP6du 6 K`ShP6dt@P`ShQ6dlt@Y s 6K`ShP6d=t@P`ShQ6dt@Y s 6 j v RPjPhFP\ uRP`SPRP`S^S6dFP|P(F v RPjPhFP\ u`1PPv `1P^SvFPZU~tv ]U^ S5^&^&?u ^ &? u& ^ &?u^&]U4^ &hPPjPRPw^ &^&]U^&~wy^ &?`v&/ ^ &u+JtG^&~tP^ &`v&o ^ &Gu+Ju^&6&] UFWu+Jڊ^&F$_u+Jڊ^&G]nPPjPRPw^&^&^ &~uz^.{) ,3: H%d/' ^.Lj@4 # ~u ^&,0<r<v>j{RPjPhP\P(RP^SPvP|P(>uSj|RPjPhP\P(RP^SPvP|P(>usj}RPjPhP\P(RP^SPvP|P(>u~^&?0u{^&?1uxk^Sv~Ps+>~Kw.~drf+^Sv~Pr>~Kv>~u1~d$~u ^&<1t<2t^&,0lj~RPjPhP\P(RP^SPvP|P(9t^Sv~Psl~oj~RPjPhP\P(RP^SPvP|P(9t^Sv~Pr~SjRPjPhP\P(RP^SPvP|P(>uWhRPjPhP\P(RP^SPvP|P(>t]hRPjPhP\P(RP^SPvP|P(>uF;uThRPjPhP\P(RP^SPvP|P(>uVjRPjPhP\P(RP^SPvP|P(>tThRPjPhP\P(RP^SPvP|P(>uThRPjPhP\P(RP^SPvP|P(>uSj{RPjPhP\P(RP^SPvP|P(>uWhRPjPhP\P(RP^SPvP|P(>twj{RPjPhP\P(RP^SPvP|P(>u t^SvPsv tFFFFFRPFPPt^&^&?t@^Sv~Ps~t^Sv~Pr~SjWRPjPhP\P(RP^SPvP|P(>uSjXRPjPhP\P(RP^SPvP|P(>uSjYRPjPhP\P(RP^SPvP|P(>uSjZRPjPhP\P(RP^SPvP|P(>udj{RPjPhP\P(RP^SPvP|P(>u^S^ SUU^.  S a o }  ( 5 K ^Sv(.% R / 3 7 < j|hj}~^ &8^Sv6H^Sv6:^Sv6,>t^Sv6>uj~\^Sv6>t hm>ujb>uhVhQ>ut>uh;>uh/h*rM^Sv6"2shh,^Sv ^SvP:t9jWRPjPhP\P(~򤡶^ &t9jXRPjPhP\P(~򤡶^ &t9jYRPjPhP\P(~򤡶^ &t9jZRPjPhP\P(~򤡶^ &>u9j{RPjPhP\P(~򤡶^ &F^&Z&W^&]U%]dPRQjQPP\P(jeRPjPjdP\P(jlRPjPjdP\P(jmRPj PjdP\P(jfRPjPPjdP\P(joRPjpPjdP\P(jpRPjPjdP\P(jgRPjPjdP\P(jhRPjPjdP\P(jiRPj|PjdP\P(jjRPjPjdP\P(jkRPjDPjdP\P(jqRPj8PjdP\P(jrRPjPjdP\P(j[RPjPjdP\P(  *4>HR\fƢnΈvֈ~ވƢƢƢƢƢƢƢƢƢƢΡȈL+pL+xL+L+L+L+L+L+L+L+L+L+L+L+L+ȈFs zfhFsddFSj hRPjFS<P(FS^PePhFP t5Fs 6D 6D P>uj6 6DPhjjP$P6D PnPPhPRPw^&^&^ &~t~^.ia%XOF>6.&DLT]fow ^.~tb^&?5tK^&?6t7^&?7t#^&?8t^S^ SU^S^ SUh{RPhd PhP\P(RP^Sd P6P|P(>th|RPhd PhP\P(RP^Sd P6P|P(>th}RPhd PhP\P(RP^Sd P6P|P(>t7^&?0t#^&?1t^S^ SU4^Sv^ Pr(>^ Kw^S^ SU^ ^S^ SU~t:^&1u2t^&0^S^ SU^S^ SUh~RPhd PhP\P(RP^Sd P6P|P(9t3^Sv^ Pr ^ ^S^ SUhRPhd PhP\P(RP^Sd P6P|P(>tF;thRPhd PhP\P(RP^Sd P6P|P(>tlhRPhd PhP\P(RP^Sd P6P|P(>t^S^ SUhRPhd PhP\P(RP^Sd P6P|P(>t&hRPhd PhP\P(RP^Sd P6P|P(>th{RPhd PhP\P(RP^Sd P6P|P(>tlhRPhd PhP\P(RP^Sd P6P|P(>t^S^ SU=^Sv^ Pr ^ ^S^ SU^Sv^ Pr ^ ^S^ SUvNFF^SPvtx^SPvtU^SPvt2^SPvt^S^ SU@:U^. ^SvP^ &.h{RPhd PhP\P(d ~^ &h|RPhd PhP\P(d ~^ &wh}RPhd PhP\P(d ~^ &8~^ &!~^ & ?~^Sv6^ &^Sv6^ &>t?h~RPhd PhP\P(d ~^ &^Sv6^ &(>t?hRPhd PhP\P(d ~^ &>t?hRPhd PhP\P(d ~^ &<hRPhd PhP\P(d ~^ &W>t?h{RPhd PhP\P(d ~^ &>t?hRPhd PhP\P(d ~^ &>t?hRPhd PhP\P(d ~^ &<hRPhd PhP\P(d ~^ &=^SvP^ & ^SvP^ &u<;Fr~^ &~NF^ &^ &>t~^ &t>t~  ^ &P>t~^ &,>t~^ &^ & , a {  F^&Z&W^&]U%]dPRQhd!QP P\P(heRPh!Phd P\P(hnRPh,"PhdP\P(hfRPh"PhdP\P(hoRPh"PhdP\P(hhRPhX#PhdP\P(hiRPh#PhdP\P(hrRPh $PhdP\P(hqRPh$PhdP\P(htRPh$PhdP\P(hRPhL%PhdP\P( , 6@JT^hr|" ƈΈֈވƈƈƈƈƈƈ΋ȈL+ L+ L+L+L+L+L+L+L+L+L+ȈFr Z F H FSh ` hRPhFS<P(FS> P%PhFP` uJFr6DP6D P>` t h  6` 6DPhhhb P$P6D PUnPPjPRPw^&^&^ &~uH^.?OV]emu$ ^.=>_z^SPvuK^SPvu-^SPvu^S^ SUhF'Pj+PhL'P\P(RP^S+PvP'P|P(>P'uRhF'Pj+PhL'P\P(RP^S+PvP'P|P(>P'urjF'Pj+PhL'P\P(RP^S+PvP'P|P(>P't=^Sv@'Ps@'^Sv@'Pr@'o^SPv;uj~F'Pj+PhL'P\P(RP^S+PvP'P|P(>P'up^Sv@'Psp@'pj~F'Pj+PhL'P\P(RP^S+PvP'P|P(>P'uv^Sv@'Ps@'^Sv@'Pr@'뿿vNFF^SPvui^SPvuK^SPvu-^SPvu^S^ SU]U^."HUez>u~  w>t^Sv ^SvPH>t^Sv63>u~B^Sv6 ^Sv6ݠu;Fs~򤠜s~NFb>u~I>u~  0>u~򤡎>u~򤡘^ &^ &F^&Z&W^&]U]UjhRPjT'Pjd@&P\P(jrRPj'PjdB&P\P(jqRPj(PjdD&P\P(joRPj(PjdF&P\P(jpRPj(PjdH&P\P(jsRPjH)PjdJ&P\P(jtRPj)PjdL&P\P(hRPj*PjdN&P\P(@&\&B&f&D&p&F&z&H&&J&&L&&N&R&@&Ƣ&Έ&ֈ&ވ&H&Ƣ&J&Ƣ&L&Ƣ&ΡN&Ȉ&L+@&&L+B&&L+D&&L+F&&L+H&&L+J&&L+L&&L+Ȉ&Fs <'('*'FSj B'hF'Pj+PhL'P\P(FS+P6L'D'PZB'shF'Pj,PhL'P\P(hF'Pj-PhL'P\P(RP,P-P6P'P|P(>P'u ;t$' FS 'Pt*Ph.PB' t5Fs 6D 6D P>B'uj6B' 6DPhjjD'P$P6D P]UnPPjPRPw^&&^ &~u5^.<FKRY`.WS ~u:^Sv.Psc.1..=rM=@wH uDNvN..^&.uj6. 6DPhjj.P$P6D P]ȌF6.F=F.wT؋NwRPjuPhFP\ u$^GN;vO^OuFsUF>`/t=t P  t]U~u] ^&G :A0t5SvFF(2s`1Fތ;u;u PFF0^SFP1F u^SvFFA0^&O ^&FF t<w7F9F vY^ &0r"9wFu^ &85v^&?v(^& ^ v&0^&F런 ^&&WF~ tYF9F vO^ &0r9v;^&&W Y^ v&0^&&WF며 Fv N^ &$_~&] ~&] Y]U^ &G 33&00:t :.(1t$C0^Y tt &^&] ]U^&G :(1w):0u1&G t&G uF&G &G 3  ]U^&G 2u2P u>2t2&G2 2> 2u]ð] ^&G :k0t 2  2uhDj 2P/ FF~u^SFPF~u$^S^SvFPFPFP&F~u(vvF^&GPS^ Sv ^SDF^SvvvF~uFF ^ &FF^&F^ F&9Gv*^&^F&Gv&;v&Fʸ^&G^& 2X ^F&GFN^&ON;v a^&8G t^&^&7PPF t 8^&^&t1&G&:Gu^&7jPjP<F t ^&G^&G&O*FV;w I&O0F+FF^&7jQPQ<F u5^&G&G^&G&G&G+F@^ &^&G ^ &G 2X ^Fk0v &D Fs$&GP^&GP&GPFF~u^ Sj FF ^ &G :]1uSvv^ &G :A0tWSvvn,0^ &G ^ SvvFNs=u8^ SFP<~u#A0^ &G ^ &dt@Fs0률A0^ &G F,^ &G :(1r^ &G :0tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N ~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sS$F u^ &G-sG<PFPTF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFP$F u4F^ &G^ &G :,0t :0t^ Sj,F t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$\F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: TF t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :0t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$\F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^Sj\F u/v&|*&L+^9 ^&G*&G^&G,^ &G :]1uS^SzO^ &G :A0t S^S<6^ &du0,0^ &G ^ S^SFA0^ &G FU^&G :(1r^&G :,0t:0u^&G&G &W"^&&Wc^&G :0uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :0u^&&G ]^&^ &&W^&G :0t ^S$F uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:TF t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPTF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :A0t SvW,6^&du0,0^&G ^SvW,FA0^&G F^&G :,0t:0t :A0t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$\F u^&uSlF t^&w8&S^&w&w"&w G<P^&w: TF t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$\F Yu,^&w8jGPj ^&G :0u ^&G :,0t@&& tA"F&G :A0uC&du0 ^&du,0&G ^&G-sS&G :0u0G<PFPT1^&G :,0t:0t:0t ^G<PFPTFF^&w:FPl u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPLF u$F t^ SNQvNQPj$F~uVFF^SPvFPF u2~t,^SPvFPF u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFSPvFPF uoF sdt_NAv~^YF@^&^v&48 ^& ^SPvFPF u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPj4F u#FPvhjj^ShPj Ⱦ^&G F =wmt =amt^SvFPFPjF4F uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFP4F tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvF u 0^&G  s ^&G8^&G8Fvj^ Sj7F t^&F^GkPP^&PFPF uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx~ B^&G :0t ,0^&G ^SFPFPP4F u^SrF u}^&FFvN^S^Svm4F tJ^G8P^SvRPjhmmLF u"^&w8F t^&w8 FFU^&G :0t ~v F^&Gj]^ &dtZSFP^& uV^ &du&G-sG<P^ST^&^ Shwmvv^& u,0^ &G ^&^ &Gd<tN<uSh,^& uH^ SFP^& u/^ Shrmvv^& u0^ &G ^&Ff/h/Nb/d/VVVVV VFN N^SPvrF ug^SFP^SF uL^&t?F^&GHN;r+vjFFP&wFPF uFuƸ2 2uhDj2P/ F uj>2u!2FPF u ~ r2^ S^S9F u.^ S^Sv"F u^ S^SwF u ^&2@ FF^&G^&G^&NF^&uF^&GHN;s^&^F&Gt <t y^&Gv&:Dv&D^&u^&G^&G^&&Ov&:Dv&D^&G^&:Gw^&G^&:Gv FtU^&G^ &GFN;sDNFHN;r6^&Pj&GPv &t^&GPF uFu ^&FF^&u9F^&GHN;s"^&^F&G2 uG^&w8>2 u4^&G&G^&G-^S,>2^_]U: ~F =amt =wmtOJ F^PFPF u1~Ps &F^&G0^&G F^&Z&W]U ^&^&G :0t ^&FF^&GF u^&O;wINF FF)F v ~^Y~ Nu+JVFt)N+^p^9^ YN^&^v&FPFPFv u^F&L]f/&GFFj/D2f/&G1^@2B2H2f/&G1F2&O;sF2^Svk^SN PvFPFF@;FrNuF^SPk^vFF N+ΉNPO PQFPF~uFFFF;FrP PjkFu^vFF N+ΉNPQ PQXH2sND2;F2w$@28vNFYFD2D2F2;s5+@28vFY6F2+6D2^FF )vF2D2F2@+1@28.H2F2@+1@2P@2B2F2+ȉD2^Svk]FD2;s5+@20FY6D2F+@28vFvD2+^0>@2^Y^&G FFH2r@2FFD2+^&GFF^&G1^FFF2F^ S^SF u6^&P^&PS^&G_[&GP^Sv$FU^ S^S]FFFFFP4FFFFP\FFFF^FFPFuFF u)vFPFF^&F^ &Ȇ^&^&G :k0t W^&G<t':t!&OFPsFr^&G^&u2F ^&~ t^ &?utPPP^ Sv $_>N2u!N2FPF u ~ rN2L2 J2ujjJ2P/ F t^&GFJ2&8G wFJ2X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r F w0 F A^v&FFVFV눋F *~t)vvFPFFPFP0F t^ Sv FPFִP *~t)vvFPFFPFPF t^ Sv FPFִP F FF t9F t~u ~uNF 1Vº1VF1VF1VF1FFPF1ZЋFR1ZЋFFR1YFF0^ v&aF tN +^ 0FY~u~t *~ N F +F UF ;FsFv~N^YF] *^&FFFFF^&G;FwFF9F vNu*^vPFP8dF~v#^v&8%t^&;wrh^v@PFP8dF~vh^v&@F0r9vhF0F^v@PFP8dF~vh^v&@FF;Fw^v&?F]~Sucv^&^F&S P^&wFPF~u ^&GF^vPF +P^&Svs~Nu0v^&^F^vPF +P^&7ȃ~Hu9v^&^ތF^vPF +P^&S^&w{r~Du4v^&^ڌF^vPF +P^&w&7\8~Tu7v^&^֌F^vPF +P^&w&7FhF^v&^v&FFFFF^S^ Sv FPjF FFFFF^S^SvFPj FFPFPF u*Fs ~ v~sFr~ v ~ rFjFPjF t@~uA"^SvFPFPj{j}DF uF;F vdP~ vE ~^vNFY^vx F^&F F t~u5^&~u^S^Sv^ Sv$FFUFF F uZvvvjjFPj j{j}j4F#t1F#t)Fv^@‰FVvvvjjFPj j[j]j4F#tF#t)Fv^@‰FV~u~u v&<j4F~uv&<tF~to~tEv&<u<^&?F^ &^S5 PvFPF uFt^ &FFF~NuV~u ^&P ~u^&7`3P^ S\~u8^&w&7`3P^ S\`3F^~Hu2Ft tuS^Sv`3P^ S\`3F^~Du_~uFPF~u^&&WFV, PRPvvv`3Pj ^ SF`3F^^S^ &7^Svv^S\FU$3Pj3t'~tv &*3 v &*3&4v &^&~tv &StdSoftMsg.binparityoverrunframingbreak[Ignore error type (break, framing, overrun, parity)] @Tape Parameterstape[Record size (default=1K)] %[High Speed Tape?] %[High Density?] %[Rewind Tape on Close?] %[Variable length records?] %tape[Data bits (5, 6, 7, or 8; default = 7)] @[Parity (none, even, odd, 0, or 1; default = 0)] @[Stop bits (1 or 2; default = 1)] @[CR/LF mapping mode (binary or new line; default = new line)] @[New line mapping mode (binary, CR, or CR/LF; default = CR/LF)] @[Line control (none, XON/XOFF, CTS or both; default = XON/XOFF)]@[EOF byte (hex value or none; default = 04)] @[NRZI option? (XC002 channels A & B only)] @[Transmit Baud Rate ( default = 9600)] @[Receive Baud Rate ( if different than transmit baud rate) @[Baud Rate ( default = 9600)] @[Transmit time out (number of seconds; default = wait forever)] @[Receive time out (number of seconds; default = wait forever)] @[Number of characters per line (default = 132)] @[Tab expansion (default = 8)] @[Additional ACK delay (units of 100 micro seconds; default = 0)]@[Translation file (default = none)]#Invalid or missing parameter 1Invalid or missing parameter 2. Valid values are: 'comm' (for communication port) 'parallel' or 'lpt' (for parallel printer) 'serial' or 'ptr' (for serial printer) Invalid parameterThe specified file is not a  configuration file noneevenoddno time out binarynew linecrcr/lfXon/XoffCTSbothCommunications ParametersSerial Line Printer ParametersParallel Line Printer Parameters commparallelserialcommunicationsparallel printerserial printer0123456789ABCDEFYesNoYes[End of transmission character(None, CR, CR/LF, or FF; Def = CR)]A[End of transmission character(None, CR, CR/LF, or FF; Def = CR/LF)]DfflfNonelptptr0123456789abcdef \^ [KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][scr]<$>BsFilter.tmpVNVFp^ #^        ~<<^{}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxyPress NEXT PAGE or SCROLL UP to continue (Press NEXT PAGE to continue !a?!*a**2Q=\zTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0`1Q Pp |  D 8       nv~ (2<FPZdR   L%d!!,"""X## $$ $   *4>HR\fpz R<& *T''(((H))Z&&d&&n&&x&&&&&&&&P&&&R+$L.^._.`".a,.b     .J..R..Z.".b.,.j.r. V/BD][VID][Kbd][Vid] d[Lpt][Nul][Debug]|[SysIn][SysOut]>TTT!,T#>T%T)<T*]T7uT8$,,\,,$\,,a]y]yB.\B\B.\Z]y \,O44y|]y ]y {y2lt;t44 >2>2      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: createconfig.lib VERSION: R12.3.0 (monday november 15, 1993, 14:45) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 14:45) Xc]T l& 6> PP6> ˾%A  GF _]T f PPA  GF X[]T `  PPA  GF XW]T Z ) PPҜA  GF XR]T R ? PPA  GF XN]T GWch| o8D @w|Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1o ?p0/!&_'0(0)*0+?@35O`8@AABOFIIo`JK?L[`_P` a?a0b_bO d/pdf?0gphj/k mpq?0sOpw_z | }}pPO` 0 pP?p_?Pc@*'(" )#+7* 8%  /!)-_M^ A? ? !? )? 1? 9? A? I? Q? k\kkkk/M /FX)<4X_XXXXF0 {A F---kGk_y3r7H0Cclv+B {  ! T   k   1 g    &a #-#h#'jsjsssDiy.+wFwfwwwmGUGGGGGG84A]v  S  R;2 =7 P7 ,X w w 2 `    k}4X -k#,BGjs 3wG2 C N ) 7 I X e w { L=Ugmz(/Efl)_o 1 7 i u   . 4 > D U [    : V p            $ , 6 P j |    X      0 R     ' Y     t <f> > > > > > ? ? ? =? k'? /? 7? ?? #G? QO? Z? ^? b? f? j? o? s? w? {? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @ @ @ @ @ @ @ @ #@ '@ ,@ 0@ 4@ 8@ <@ A@ E@ I@ M@ Q@ V@ Z@ ^@ b@ f@ k@ o@ s@ w@ {@ @ @ @ O#Q ~}s}A}hA A 8Tr3in!5444XAXXXXmXXIXl*Pt os6 C \    -Q-`---b-%kNkkkIka;A     "BG`Ggj9Z03 <KRj{[t3Pds  3z9k3)3A3U3i333333(3B3V3u333333K3a3333+3333313FwwR"HN4u KtiiK +GRG! p`I`QQ\      %    9   B,y+y,b2 YN N N N N N eN N N N N N qN N N & N N  N { N  N t N N Q N N ) I e e #  ArU~tp~uhUF=4sP t~4uh~4uh, ~4u hN6&0 ~4uh~4uh6$0B ,]U^Svhv t] ,0P6<0FPF t+=u,0P:0PF u:0Fv <0NNF:0<0ً$0&O,0&L20Q60QQ^<,0(0^ &G& u#v&&T^&7Z&W^ &7D^&FF^&GFv & NFNF&9Grv& Z&T^ &7Z&Wl^&G;Fs^&FF^&G;Fs^F&FF^&^&Z&Wv&Z&T~Y&9Mu&95u&&U v PhFP$ uv6<0FPF t.=u!^&P:0PF u:0Fv <0NNF:0<0NF^&Z&WF^&v S6RPj4PP8QPC$ tFF w؋^7GPGPFuٚ$ j:0PP PPFPP ^SvPjPPPjjjP*0 u>uh tjj0P*0 u>0u{P:0PP 6>:0^Y:0SP6FPW<*0~uF:0v8:000F0PS6RPjhtmPh*0 tPS6P0S60RPjhwm Ph*0 tP0S60jj4P*0 uy>0P4S64RPjhwm0Ph*0 tP4S64M^Svjp"PjjdPPjT#PjjHhS6h2%Pjh%h0S60h&PjhMs>0P^SvFPZP Fs ^SvvFPFP$FPvhF;s(R+Qh^WwMs >0P^WwFPZP hP$0P<Ph,0P*0uՁ>*04tFPFPF t 6*0 F<:tvBFv v6*0 F u>RQNQ-QPFP4F t 6*0 ~uDMM?F u9RQNQ:QPFP4F t 6*0 ~umM?F u?RQNQDQPFP4F t 6*0 ~u,M*06*0 6*0 $0&0*~h5>(0uh4 F20FFOPjhF tB&N֌F، t#^&G&;Du;Ft FPh#^&FF뵃~t QPjh,hFmJ(0FFPFPjFPZP 20FF(0YFVFFF u&ON&GF^^܌^ދFGGGFPSjFPZP FFVFVMsFVMsvj SPj^&FFd20FFF tDQ؍OQ^&wFPZP MsPjP ^&뭸PjjP FMF+FFPFPjFPZP h PP PP Ms>0PP ,U> Flu+Jt㋇ ] ^&G :Nt5SvFFPsOFތ;u;u PFF0^SFPCPF u^SvFFN^&O UFPFP" V^&?{t@&?[uT6M:Ot. FPQSVSVQ^[Y=Xt ],N~] t&<~&] ~&] Y]U^ &G 33&eNgN:t :.xOt$ChN^Y tt &^&] ]U^&G :xOw):NOuZP&G t&G uF&G &G 3  ]U^&G dPubPP u>dPtbP&GfPhP>hPu]ð]UQQpPPpPP~PP uJF6pPP u8P=u0jPP u!F6pPP urP=t=!t3]^ &G :OuSvv^ &G :NtWSvvn|N^ &G ^ SvvFNs=u8^ SFP ~u#N^ &G ^ &dt@FsgN률N^ &G F,^ &G :xOr^ &G :gNtw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u4F^ &G^ &G :|Nt :$Ot^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$$F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :Ot ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^Sj$F u/v&|*&L+^9 ^&G*&G^&G,^ &G :OuS^SzO^ &G :Nt S^S<6^ &dugN|N^ &G ^ S^SFN^ &G FU^&G :xOr^&G :|Nt:$Ou^&G&G &W"^&&Wc^&G :gNuX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :Ou^&&G ]^&^ &&W^&G :gNt ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :Nt SvW6^&dugN|N^&G ^SvWFN^&G F^&G :|Nt:$Ot :Nt^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$$F u^&uSlF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$$F Yu,^&w8jGPj ^&G :gNu ^&G :|Nt@&& tA"F&G :NuC&dugN ^&du|N&G ^&G-sS&G :gNu0G<PFP1^&G :|Nt:gNt:$Ot ^G<PFPFF^&w:FP$ u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPjF~uVFF^SPvFP<F u2~t,^SPvFP<F u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFSPvFP<F uoF sdt_NAv~^YF@^&^v&48 ^& ^SPvFP<F u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^Sh Pj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvF u $O^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkP P^&PFP<F uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx~ B^&G :$Ot |N^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmF u"^&w8F t^&w8 FFU^&G :$Ot ~v F^&Gj]^ &dtZSFP^& uV^ &du&G-sG<P^S^&^ Shwmvvt^& u|N^ &G ^&^ &Gd<tN<uSh^& uH^ SFP^& u/^ Shrmvvt^& ugN^ &G ^&U].P]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP<[#uMG~&wr/^ F%;u^ ^ FF;tX F ;FuX] ^&^SP$$F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :|Nt :$Ot F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSv$F tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^Sh$F u^&G :|Nt :$Ot ^&G&WFV&O&O &"N~;u;wN~Fs FF%Pu!PFPF u ~ rPP PujjPP/F t^&GFP&8G wFPX ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r jF~uv&<tF~to~tEv&<u<^&?F w0 F A^v&FFVFV눋F *~t)vvFPFFPFP0DF t^ Sv FPFִP  *~t)vvFPFFPFPDF t^ Sv FPFִP  F FF t9F t~u ~uNF 1Vº1VF1VF1VF1FFPF1ZЋFR1ZЋFFR1YFF0^ v&aF tN +^ 0FY~u~t *~ N F +F UF ;FsFv~N^YF] *^&FFFFF^&G;FwFF9F vNu*^vPFP8F~v#^v&8%t^&;wrht^v@PFP8F~vht^v&@F0r9vhtF0F^v@PFP8F~vht^v&@FF;Fw^v&?F]~Sucv^&^F&S< P^&wFP<F~u ^&GF^vPF +P^&Sv s~Nu0v^&^F^vPF +P^&7 ȃ~Hu9v^&^ތF^vPF +P^&S^&w{ r~Du4v^&^ڌF^vPF +P^&w&7\ 8~Tu7v^&^֌F^vPF +P^&w&7 FhtF^v&^v&FFFFF^S^ Sv FPj F FFFFF^S^SvFPj  FFPFPLF u*Fs ~ v~sFr~ v ~ rFjFPjF t@~uA"^SU PvFP<F uJ~u ^Sv^SvRPjFPFPjF~t ~s ~u> ^&GM&_O^&GL&^v@^&GMZ&WOF@N+^&OL^S^Sv^Svv ^SvF uTRt'~tv &*ZR v &*VR&4v &^&~tv &F^ &^Sw PvFP<F uFt^ &FFF~NuV~u ^&P ~u^&7.RP^ S$~u8^&w&7.RP^ S$.RF^~Hu2Ft tuS^Sv.RP^ S$.RF^~Du_~uFPF~u^&&WFV, PRPvvv.RPj ^ SDF.RF^^S^ &7^Svv^S$FUQPjSt=t P t ,]U~u] v ~FF=s=r~sF-F-F~to~ v Ft ^8 s~u~uF1 t ZFPF%mY^ NHF=v ĊFExec.runn]fileHeaders.sys () Copyright 1989 Unisys Corporation, All rights reserved. >/SysSys[Sys]Sys.Font [Sys]T1Sys.Font$[Sys]BAWSSys.Font>[Sys]V1Sys.FontZ[Sys]Signon.runtVFVFCmfd.sys DiskPartitions.sysEX (OS ) VFPF [VID][VID]1[SPL]C(C0[Scr]<$>submit0.tmp:[Scr]<$>submit1.tmpTsubmit0.tmpn submit1.tmp [sys]ExecMsg.binMessage not found Log file: Disk is formatted in ECC mode.Disk is formatted in CRC mode. CYLINDERS=TRACKS=SECTORS=BYTES=STEP=PRECOMP=SPIRAL= REMOVABLE=YESNO)This is an ST-506 device (FP-controlled).&This is an SMD device (DP-controlled).+When performing MIVolume on an ST-506 Disk,CDO NOT enter bad spots with sector #16 when using 16 sectors/track.5(Reference -- 16 sectors are labeled #0 through #15).\2Unable to access or use message file: Error 剖Reading text file ...扳Writing binary file ... done.  cannot be accessed.4/ An error number does not follow a colon near: 44 Invalid error code near: 4V2 Message too long or message number invalid near: 4. The text file does not contain any messages. 4' Invalid delimiter for message number: Text File Name : Binary File Name : +* : ** WARNING ** Multiply defined message ]J **** Available memory not enough to perform the requested operation **** + The text file contains too many messages. Creating text file ...Reading old text files ..."Creating new text file ...%%(){}[]<>?#^- '"0Uu9dD#erc = , .   ... Cl  LH8$xd?*j<(|h OJ KF;&{f2!ra.nY+kV3"sb:%ze0 p`[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][scr]<$>BsFilter.tmpVNVFp        ~  0123456789ABCDEF{}"MASTERSERVERLOCAL{}[]II120A00 {}[]<>^[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^Press NEXT PAGE or SCROLL UP to continue (Press NEXT PAGE to continue !a?!*a**2Q=\z`gTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0  [Kbd]d[Vid] ,[Lpt][Nul]l[Debug]D[SysIn][SysOut]>!#D>%)*]7du8|$$ad]yT]yB.\B\B.\lZl]y $OyD]y ]y {y2,<;<|4\ [KBD][VID]>|P>P   0123456789ABCDEF      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: exec.lib VERSION: R12.3.0 (monday november 15, 1993, 14:14) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november  15, 1993, 14:12)FPLFF^&F^ &JCMCR ServerMCR Serverx12.3.0/Beta2-I=l l * , ab BM+ $ , *GW;D^lD ')L8vDD@\q6wlCopyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1op OP_ &O'; << =pK@LP Q_R_`S?TUt  K/N ~)(V,^tb5`M`f`r`~``>`l`P``C`e``` TgG}'/M05C5c55`@5N84A]v  S  R1,7D`5@1BM\7DNGYv;Qf|#4E?Y````1`` ``DELETE\EdElEtE|E?gg>5@@@@@"@m@@@@@,@x@@@2@p@/aMu0PWZ p`I`QQ\      %    9   B,y+1MY\\\\\\e\\\\\\q\\\& \ \ \{ \ \t \ \Q \ \DDD!D#^ u`^ u^ u^^`6bP^ u6`bS6f 6`  FFFFPFP,F uIFFPFP,F uq^SvRPjFPNQ؋PQCF uBFFF؃t FFF%FPFPF uhFFF؋ uR^SvFPF u{NFȋV;v)+V+ƒ%FPvFPF uTFFNFȉNv+F^؉F扇ĿvFYFPFFFFs#^Sv-F^SFP-FF%FN;v^S+QFF 6FPFj^SvFF(PjfFFRQPFPjFP'F u~ s 7FF4~uQFPP(FFh;RPjF uFFw6PcF uvFuFbF uaj@ F6FPF uj^Sv t6FPF uj^SvFFFFNs; t7FF;FrjcFFR t h;PcFFljjFPF u#^SvFPs FVTVjjFPF t$FPj_F uFFF^FFiXZFh\ tviFiFFȾ6PFPF t~v ^&G FFFu+JVuF~w@FF^.'8F!E^SFP1^SFP[ ^SFP^SFPFFsF^&GS~u6R^SF uFF tnFFF^F6FPF u'FPj^SvCPhFPjF~uCPv}Fj2|F FPFPF tF F^㋇ tPjcFFR t h;PcF~ r^ &GSF u,K FPlF tFF^ &G FF^&^ &GF&uAN;Ds.FF^&^ & ;u*&u#&uЉFV>RtF!FrF^ &G$FF^ &GFFFF^ &GFF t3^&?{u*Ȱ}Qu+JVX;vNF+‰F^ &G$FFRPjPhF t=ue^^ &_S^ &w^SvFPFOF~u0^ &_S^ &w^SvvPhFFF t؋F&F^&F TVFVFF^ &GF;vN^ &vN^ &_^FF&^&6~ ts V TuFS6XS6\jhF tAN=uF~uTFPS6XS6\hmmF u,FFs FFvjFPjF usF#FV+#щV^FF~ u~ uFFFڌF܋FFFFFFFvҍFPF u(FPj ^Sv^SvFPjF tFFFЈF̊FrFv^SvvvFP#FvAV ҳwC"ˈNss tVN+N^v8vFYv^SvvvFP$F tvF+^0~^YFFV ~v9NVFסT6VQ֋VY_Y;u;wON~FV;u;v9vRP F u v^ShvvFP$F ueF~ NOtINЋF;v+N~+N~ FVFVvjFPj F uFFs v F΋FFFFr&F؋ t;V t@FrFӊFs)Fďv& Z&T&DFF4FU] vFP,F uqv~N^Y~u ЉFVsjjj ^SvNF,jjFP/F uF^&G Z&W F&GF^SvFv  ~ v$N~ uFPlF tF F~u.^SvFPF uF;Fua"\sj vj^SvNF7vPNQPF uF^&GvFYFU+Zr tH]j&j^S/ u ^& +ZrHU3 &L&;Wt]U#tH3&GtH]U u. t!;v 33@33.P 3 ҃+@sH]U؋]UN~F V u. t!;v 33@33.P 3 ҃+@sH]UN~F V ؋] 6r"^&&W&G&G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFڋF;Fr ,v@^&Z&WS&_[&GU|s]&G@] ar &G;FsGvX^F&F&GFFF;Fs&@FFFU>uPT u>t&G>u]ð]^&FF t<w7F9F vY^ &0r"9wFu^ &85v^&?v(^& ^ v&0^&F런 ^&&WF~ tYF9F vO^ &0r9v;^&&W Y^ v&0^&&WF며 Fv N^ &$_u>t ~sF%FN+ȉ^F^N  tD&?{uF&{v &@}FFF Fv8vFYv8FFSP^SvF u-FУ>~tOFF] UFFFs:Nr3^S؍`R`P\Ft@FF뾊FrFFH]UFFFrFsS6 PPP^F un&N ;u!RPGP^ SQFPFF~t@FFP9F uF~u ~:uFa~uFF^&F] U F66VFFFFrFsPFS6:PPP^FuF~u6S&F uS6PFuF ~t&;u"RPGPSQFPFF~t@F3FrFFFrS6:PPP^FuF~uZS&Ftu2^ Sv FPF u)Fs9Fu FNF{~uFF^&F] UQFF^ Sv ^SWF]UQ>>F]>th~s\P^Sv^Sv hrmF u56jPjF uFF%FU^Sv RPj^Sv] U^Sv ^Sv|]  t P FFFU욽]ut uFRPVFF; u;sN~ u;6S666 FP#Fw~u ~u&FFv&^&F^Sv v vvjF ui~ uPFFs?FP9FFu+JV~t@uA"F뺃~~uFFF U^Sv v vv] ^ Sv vvhjF FF~ uZFFs?FP9FFu+JV~t@uA"F뺃~uqFgF ~ u@FFsPFFFP9FFsF :Ft@~ tA" F :Fu@F~t@ F멃~uTFFFFrFP9F u-~ u0~s*FP9F u~ tF tF ~ u ~sF<'t<"u$Ft8FuFЈFsFFFFr_F :t u)8N u$FNu+JVt@&~ uF< uAu@" F :Fu@FFrF<'t<"u^v&@FvF;vs~u ~tF~tFF^&FFsF F^ Svvj j^FFU^ Svv]U>u^&&W]U^S]>uFV; u;vHFЉFV^~6;u;s##+NvFV##N~+N~9Vu9FrL^Nv## t86SP#N#vVQFP#Fw~u ~u FFFVFUvvV]U PjF^ &^S5PvFPF uFt^ &FFF~NuV~u ^&P ~u^&7HP^ S~u8^&w&7HP^ SHF^~Hu2Ft tuS^SvHP^ SHF^~Du_~uFPF~u^&&WFV, PRPvvvHPj ^ SFHF^^S^ &7^Svv^SFU PjP^&PFPF~u^S^S^Sj^ Sv 'N F;w5^&^S^S^Sj^ SQ^SvF^&FNF;sD9Fv?^&xAu^S^ &0^PhF^ v&^&F벋F@^&;rv&xAu1F9F v49Fv/^S^ &0^PhFFϋF9F v9FwE^ &^&F.^SjFP F t^&8vFF^v&xat@F^GFF^G6F܌FF^F&9GwNNN ^&NF&HɈN&@FFPFP,F= u;FFF V;Vu;Fs&Fs"Fڹ ^܋S^&p F tFڹ ^܋S^&p_[ǍFԌF^&FN;vN^ԍw~N^YFڹ ^&PJ~&+ډ^uXVrQ^S^&p_[Ǎ^ԌF&t2^S^vQ^Sv^ԍOQPFPF+P^%^vP^SvvFPF+P7FF^& Fc4^&&WF F u<rjjzP/~~ u | zu{zF F^ &?TNt4bF FF&GF^ &O~F u+JVu4*^ &GFv^&FF^&Z&W UF Fuk;$+v&;Vu ;F ui; F v&+ UF Ful;#+v&;V u ;F uc; v&+UF Ful;'+v&;V u ;F uc;v &v&+U F F uj;F Fuk;jjFP/vvjFP F#t~sv&\*wc.p7pPF*^&v &9F*^&v & F*^&&v &&Tv&D*v&Fv &v&+ UF Ful;F f v&+U vvjFP F=4t=4uFavvjFP F=4t=4uF=~u+~u%vF6vF6F+UPF Fuc;F F uj;F;u;tvv4F#tj>t'~tv &* v &*&4v &^&~tv &Logins.sys[sys]StdServiceMsg.bin%0S %D0: %1S - Access ALLOWED %0S %D0: %1S - Access RESTRICTED %0S %D0: %1S - Name only found AccessServerError %0N encountered in Access Service.The Access Service is now installed.The Access Service is already installed.Cannot install the Access Service.0123456789abcdefSignOnUserName AllowedCommands RestrictedCommands CommandName AllowedUsers RestrictedUsers [!sys]UserCmdsConfig.sys Error 2624: msg= %0N maxlen= %1N^!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0 PDnD!ꀏD뀮D 쀺D(D$D(.D"        LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: init.lib VERSION: R12.3.0 (monday november 15, 1993, 15:51) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. GW 6$x  sX$Hp;wx Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1 $o`%?-.4O57`9/:;O@=_@_APCDOD@X/@\p_ ` anoPspt_Puv_@w?xxpyp~P0O@0o`O`P? ?O?0?/pppP60*'(" )#+7* 8% /!)ANk* O z  @ N   7 E \  @ X u         . C l     1 < l (  @ n      | Xk~ 3sFw3dh6666(6i66666h666666F6^6l66+6]6d66-6 C5 G/))M^av+FfX38/4/A/]/v/// / /S / ///R/d;Tj*:_&E,K-KhK'nQ!X Y!X a!X i!X q!X y!X !X !X !X F###4G4_YyY3crc7oHo0CcF0 {2`NNNlNNNNvNNNNNNN+NB N{ N N! NT N N Nk N N N1 Ng N N N NNB &B aB B B B B B |  _     \   A  j    / F X  ) < D i y $X . G UG G G G G G ;    = P (6)9^v!/d'5KTjnw#4Yco5NB |  ) 7 G ??,`2 W  ' : H V   ? M d u z             H ` }      3     6 K ^ f t     $ Q   P  $ h v     0 5 G +C|l %@Yioy%+AG`s;I[a{ !:d|0aN( ($(;([(o(u(((((p66606U666666D6J6X6^66666N6f6t6y6666:6n6666:6l666!6G6s6x666R6j666'6d6X %=(99>9 3 3z9kF3zE4u!Z!!!! //p//`//I/`///Q///Q////\ / / / / / /% / / / /9 / / /////B////,/y/////+/ddddYeq&   {  t  Q  !'#jgn#wQww w~ww}wwwswww!X !X !X &!X 2!X >!X K!X O!X W!X =_!X kg!X o!X w!X !X #!X Q!X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X !X "X "X "X "X "X "X "X "X $"X ("X -"X 1"X 5"X 9"X ="X B"X F"X J"X N"X R"X W"X ["X _"X c"X g"X l"X p"X t"X x"X |"X "X "X "X "X "X "X "X "X "X "X "X "X "X "X "X "X "X "X Q`b#%4N444I4Yaccl*Pt os6;NNNA N N N  B B B B B B  A  m  I " 6$X P$X  8 T r   3 i n   !    5  9 Z  C \  ` 0 ) ) 7 G RG  y    , b J l 0'sjz rjjr Px tv PP;x tP RPjjx tP >v ur t v jr Px tP PjRPPjPPPx L  uˍFP`P6\P6ZhmmP(FPP6VP6ZhmmP(ЉFVFvQhRPFP#FF twR~uLvPvvvFP$FFt&t!FV׉FVvSQ듡bdY;hu;fsjRPjh vj^Pj P(j#! RPPP v P(v P(v "PP"2PNQ"QPP6ZhmmF=uv(ЉFVvQhRPFP#P(>03sYFFF6'FFFFvPhvvFP$P(v P(hCP(6h6f6} ~ZP(} s.6{ | shx|hx6{ # 6{ jxj RPPP jCFv `PP` RPR\NQ`QPP6ZhmmP(vjj PhP( ~ vjfPjP(fhfhvj^PjP(vj FPj P(8FuNQEQPFF~t v F^PFjFPjh v P(bdYFV`\\KwJ\\+ٍM\VP6VP6ZvvF t$=tFF^FjFPjh FPP6VP6ZhmmP(~u&vjj P(vvv P(vjjPhP(>v)vP(j RPPP h(v P(hFs FVWFPP6VP6ZhmmP(vjjPhP(FVv P(FP P6TP6ZhmmF t4jRPPP F tv Fv 릋FVYFVvQhRPFP#F tFF^FjFPjh Fs4]  z|FV A>FVz|~ 4 3 2#  PhvPhvvFP$F tFF^FjFPjh > u FVFVvSQRPFP#F tFF^FjFPjh Fs4]  z|FV A>FVz|~ 4 3 2#  PhvPhvvFP$F tFF^FjFPjh v P(FP`P6\P6ZhmmP(vP(FPP6VP6ZhmmP(v`P6\P6ZP(v P(`\\V ~t 9bdYFV`\\VNQQPP6ZhmmP(vjFPjP(vvv P(FV;Vu;FsvjFPj P(v P(\^&S^&wRPjw PPPjF tj^Sjh v [PƇw ]P>w !uv F^^jFPjh v P6PFPjP|P(w PFPFPFtj&RPjh FPP(~ rF<t< uj%RPjh v P6P PhP(Pw PXv PP PT jFvj RPjh ~ugF^FjjFPP(FPjFuTjjFPP(FZ ;vv F^PFQFPjh vZFjFvjRPjh ~uj$RPjh jjFPP(FPFRvȿ FjF ujRPjh ~vjRPjh jjFPP(^SvbPsjFPjh jFu0jjFPP(RPFP| PP(h#PP(h#PP(hn PP(PjRPPP$F tFF^Fj!FPjh AF^@Fj'FPjj FFPv P6PP6XhrmF=u%FPv P6PP6ZhrmP(F=tP(vFPFPP(F FtFv P(F^^&S^&wRPPNQNQPF tj^Sjh ~tjRPjh ^&S^&wRPPNQNQPF tj^Sjh ~tjRPjh ^&S^&wRPPNQNQPF tj^Sjh ~uP^SPh ^&S^&wRPPNQNQPF u~uj^Sjh ~uFPPvFtFu)NQQPFuj^Sjh Fu)NQ|QPFuj^Sjh F uNQPQPFu{ F u9NQZQPFu!sj"RPjh { FuNQQPFu{ F uNQQPFu{ rFu)NQQPFuj"^Sjh Fu)NQQPFuj"^Sjh Fu)NQQPFuj"^Sjh cbd;hu;fupsjRPPP ˡbd;hu;fs@} TjjFPP(^& u+JVujRPjh Fl UK_l .z ]F9|FF1HN;r^&)FFu܋F&~ڹ~v PPF6j P(FPvRPj F=uFPvP6X F~u} s%~tFF^FjFPjh vz s >P(~~v PPFNQPFPjP|P(~tv F^PFj FPjj FPvP6X F=uFPvP6Z Fv(j PFPvP6XhmmF=u!j PFPvP6ZhmmF~uFPvP6X P(v(vFPl$P(^ Sv^Svn ShFPj P(n SvP(Fs L FP`P6\P6ZhmmP(vjj PhP(v P(> t@jRPPP jFP6F u ~uFF tˀ~u˚4F~uOFPP6VP6ZhmmP(vj#PhP(v P(##FV>#uF$$F족  FV6j %QhRPFP#F tP^˷.W| r#` ^t} sjRPPP } | FP&P&P&PF&FV&%(%F*%2FP &P&P&PF &FV,%.%F0%xFVb%d%Ff%h%j%Z| s!` ^ujRPPP | FP%P%P%PF%FV %"%F$%%Ph%6j %PhvvFP$F tP  FV6j %QhRPFP#F tP^˷.| FP&P&P&PF&FV&%(%F*%2FP &P&P&PF &FV,%.%F0%PFVb%d%Ff%h%j%2FP%P%P%PF%FV %"%F$%%Ph%6j %PhvvFP$F tP9"v F^PF F^RF6d6bFPj F~߰0 t+JVuF vB߉F^ +ƉFFsFFvFPjj ^&^&^ &Fp &n F t/^P&&WYF^&&WN~r t4>n t-ȋF1^&F16r ^ &F16n ^&FF^FjFPjj 9FPP6VP6ZhmmF t.FF^FF^VFj FPj h vF t.FF^FF^VFj FPj h UF>0't=t P  L]U~u] :'>8'u>6'u6'PP(~u<6'&G& GujF P,F u|F6'&_^ F &FF #t+ȉNF V F V )NF 6'&GZ&WF^ &F FN;s^ S+P F uHF^ &GF^ &GFF9Fr$^ X^F&^&GFuԸ:'>8'u>6'u6'PP(6'&_^F&G;F s FP^Sv ؎F@P>8'u>6'u6'PP(6'&_^F&G;Fs 2:'v^@2'4'^&O&2'&GU:'r 6'&_S^S2'S]^&v ^ &Gv&L@^ &;vS&O+P0F ud^&O&7^ &y^Y^&G^ &w&^ &G^&^&G@^&G^ &Gv&D@^ &G ^&v ^&&G^ &;Gthj ^ &G@v&L^ &;vS&wF+PiF u^^&O&7^ &y^Y^&G^ &w&^&G@v&D^&G^ &G@v&D^ &G 9FsF^&&+GFSv+FF9Fw^SF+FPF%FPvFPF=t5v(^&%FN;tFPQvP( FF^&F^&OANFF;Fs"^&@&PFVFFFFFFF;FwFFF;Fs;^&@&PFVF9Fv9Fw~t FFFFF뽋v^&@&PFVFN;s7N0^~9^YFFvFV^&@&PFFFF@F^&GFF;Fs@^&@&PFV~uFFvFV^&@&PF^&+FFN@;vjvFPF=tCv(vF#^;Vu&#+ЉVFNPQjFLNFȃ#ʉN^QN+#QF uFP+F%Y+ȉNFF^&FU u. t!;v 33@33.P 3 ҃+@sH]U؋]UN~F V u. t!;v 33@33.P 3 ҃+@sH]UN~F V ؋]^&FF t<w7F9F vY^ &0r"9wFu^ &85v^&?v(^& ^ v&0^&F런 ^&&WF~ tYF9F vO^ &0r9v;^&&W Y^ v&0^&&WF며 Fv N^ &$_>'u<'P u>>'t<'&G@'B'>B'u]ð]Uv F #u#t &&DvF#u#t&&D F F uv6.6.hjjFP#F#t6.&UtFF=||.&uf~ F #u#t&&ފ*ӎ&&]vF#u#t1~.&&ފ*ӎ&&\Fy+ UFF F uvvvjjFPj j{j}jF#tF#t)Fv^@‰FV~u~~u v&<[uovvvvv v vj j[j]jF#to~tEv&<u<^&?[t3vvvvv v vj jj^jF#t ,v&v&<uvvvj vv VF~uFFUFF F uZvvvjjFPj j{j}jF#t1F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~u~u v&<jF~uv&<tF~to~tEv&<u<^&?^&Fvzؾ?vzvNFFF@F{ؾ@FPF@PFPj.F tNv~ F^&UF t0;Fv2F tN tvNFYF^&]UFF F u4vvvjjFPj j{j}jF#t F#t)Fv^@‰FVvvvjjFPj j[j]jF#tF#t)Fv^@‰FV~t~u v&<jF#ukF#t)Fv^@‰FVvvvvv v vj2jj^jF#u$v&<uvvvj2vv VF~uFF~uL'r F uPFFHN;s^&FM'sN'rPPPFPj ~ u _F tIRD'&G&:Gu EF u:jD'&GP&GPFPjF uD'&GFtdD'&G&:Gs&GD'&GøPPPjPF t N'PlM'sM's,N's%jjH'P/F tH'G D'F'L'UPFF F uvvvvv v vj j{j}jF#ue~u;v&<u2^&?{t)vvvvv v vj jj^jF#u$v&<uvvvj vv VF~uFFUP'PjF^ &^ScPvFP,F uFt^ &FFF~NuV~u ^&P ~u^&7'P^ S~u8^&w&7'P^ S'F^~Hu2Ft tuS^Sv'P^ S'F^~Du_~uFPF~u^&&WFV, PRPvvv'Pj ^ S<F'F^^S^ &7^Svv^SFUP'Pj'&M&U&;Pu&;Hs4DF^&p4v&Z&TF^&A&DF끸4F'F'F^UF Ful;C^&F F uc;.F Fui;!^ &~N u+J^&]UF Ful;B^&F F uc;-F Fui; ^ &~N OtI^&]F V;'u;'t^ SF uv'F &9Gr u4`'FF&|؍ NFv N&0'^F&F~^YFs ^& ^Sj'PDF t p''F=4t=4uFFV''Ujj^ S^S4]Uj j ^ S^S]Ujj^ S^S]^SFPdF u:RPvvv^GPF HPFP<F u F^& ~ u!^SjFPDF=4t=4uFFF t `F^~uOF~uD^SjjFPjFP\F u~u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9FrHF^&wFFv&0^^F^Svv^GP^&P^ Sv ^S<n^SjFPDF=4t=4u}~t `F^^&G F s4\^&w FFFFFF FFFF9Fvz^&FF~u+FPFP8LF uFvF;F rN!8FtN9Nv+^&:uFr^ ~&G~9~ wFrFFrJvv^ vPFPvv^SF +Pv^SF tW^&FF s^ v&!FF9FvV N;v^&^ &FAN;wFFNNFF9NvI^&<1r=<9w9,0FF-FrF<*t<0uFFBF<*utF|^SFPFPFP,FFV;t't"FBAµ1^&F FBaF~ uFF%F:FtFF ;FvF^ v&FF^&F~ u^SjFPDF=4t=4uFFF t `F^~uOF~uD^SjjFPjFP\F u~u~uF0* V*Ѷ‰F^&GF&ONVrЉV;wF9FrHF^&wFFv&0^^F&;F sF ^w~ N ^YF ^&.~ԾF^ SjFPDF=4t=4u`~t `F^^&w FFvvFPtF t(^&^&:FuB~u ~uF"~ u ~uF~ rFF^ SvF^&G:Fu^S^SvFO^&G:Fu'~uFF :w^S^Sv*^&G:Fu^S^SvFu^&G:Fu^ SvFx^&G :Fu^S^SvF:^&G :Fu^S^SvF^&G:Fu^S^SvFPu^&G:FuM^ SvFPFPj^S\F uN^& tD^ S^S^SvNQP^&G:Fu^S^Svv^Sv 7<f^&G:Fu/^ S^S^SvFPvv^Sv <F+FF^ S^SPhFPv^Sv F^&~u<Fs^&N;v&^&PȴFY^&~ u ^&0=F t9Nt1 10^&F 1F N^v& NFu^0&8@u^&~ u=F0F+FF^GPP^&PFP,F~u-9FF t 10vRF 1F NڋF9Fw&^&^S^Sjv ^Sv7<FF;FsFF^&F tHvJ^&NFFsFF9F vM^&;vA9Fv<&xAu^S^ &0^PhTF^ v&^&F^&;Fv^&N;v9Nw^& F^GPP^&PFP,F~u^S^S^Sj^ Sv 'N F;w5^&^S^S^Sj^ SQ^SvF^&FNF;sD9Fv?^&xAu^S^ &0^PhTF^ v&^&F벋F@^&;rv&xAu1F9F v49Fv/^S^ &0^PhTFFϋF9F v9FwE^ &^&F.^SjFPDF t^&8vFF^v&xat@F^GFF^G6F܌FF^F&9GwNNN ^&NF&HɈN&@FFPFPdF= u;FFF V;Vu;Fs&Fs"Fڹ ^܋S^&p F tFڹ ^܋S^&p_[ǍFԌF^&FN;vN^ԍw~N^YF ^&PJ~&+ډ^uXVrQ^S^&p_[Ǎ^ԌF&t2^S^vQ^Sv^ԍOQPFPF+P^%^vP^SvvFPF+P7<FF^& Fc4^&&WF F u<'rjj'P/''' u ' 'u{'F F^ &?TNt4bF FF&GF^ &O~F u+JVu4*^ &GFv^&FF^&Z&W UF Fuk;$+v&;Vu ;F ui; F v&+ UF Ful;#+v&;V u ;F uc; v&+UF Ful;'+v&;V u ;F uc;v &v&+U F F uj;F Fuk;jjFP/vvjFPDF#t~sv&\*wc.p7pPF*^&v &9F*^&v & F*^&&v &&Tv&D*v&Fv &v&+ UF Ful;F f v&+U 'vvjFPDF=4t=4uFavvjFPDF=4t=4uF=~u+~u%'vF6((vF6'(F ) )+UPF Fuc;F F uj;F; )u; )tvv4F#tj>'t'~tv &*( v &*'&4v &^&~tv &PvFP,F u2~t,^S?PvFP,F u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFS@PvFP,F uoF sdt_NAv~^YF@^&^v&48A ^& ^SLPvFP,F u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48M^&v&4^P^&wg&we^&^v&48O^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^ShSPj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv Pv$F u *^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkPWP^&PFP,F uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vxXc~ B^&G :*t )^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmdF u"^&w8F t^&w8 FFU^&G :*t ~v F^&Gj]U^SvP]ULFs+PPFP/F u,^&!t@FF^ &FP F usFFFFFNNFF @FF^F FsFs PFP  FPF~u[vFPF tF;FtFF u$ 8FvFF^ &ȍvF!uFFFΈFψFбNѴFҋVVԉFF.F FڌF܋FFލFF^NFsFs PFP  FPF~uGvFPF u6F;Ft )F։F u F^ &~!t FtFF]Uv&D ~&] ~&] Y]Ȇ^&^&G :;*t W^&G<t':t!&OFPlsFr^&G^&u2F ^&~ t^ &?utPPP^ Sv _>+u!+FPF u ~ r++ +ujj+P/F t^&GF+&8G wF+X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r WsUpdateContinue.sub[Sys]Submit.runBootRecord.syslocal-EF-EFBadBlk.sysCrashDump.sys[D0]Sysimage.sysFileHeaders.sysLog.sysMfd.sysSysSysimage.sysMasterBootRecord.sysBootRecord.sysDiskPartitions.sysFileheaders.sys[Sys]ExpanderMsg.bin1011{Local}{Local}0123456789abcdefMASTERSERVERLOCAL{}[]Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxy!a?!*a**2Q=\z[KBD][VID][scr]<$>BsFilter.tmpVNVFp[]}[!Scr]]$$.Tmp}[!Scr][!Scr]        ~\\{}{}[]<>[sys]LptConfig.Sys&Press NEXT PAGE or SCROLL UP to continue (Press NEXT PAGE to continueNCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0$      [Kbd][Vid] [Lpt][Nul][Debug][SysIn][SysOut]>!#d>%)*]7u8LLa]y]yB.\B\B.\Z]y Oy]y ]y {y2DD; 4 >,>,,FGGHOLNpOo0PQ?PRa0e ff?gh_hO@j/j?lnnp$ q/s0tuOvyz{|Op@ _? ?P*'(}" )#+7* 8% -/N,!)Rb %8I_qK` D t   at 9[{`<Io1=j3 3 7T7g77J-JhJ         '\M0)0<_F0 { FG_ y 3r7#H#0:C:c::EEElEEEEvEEEEEEE+EB E{ E E! ET E E Ek E E E1 Eg E E E EE9&9a99999 9sAj /FXDiy/!!.11+FfU8'4'A']'v''' ' 'S ' '''R'\;=P, 2" `" " " " " " " 237BJSl0 #:E9s!1Pcq'\   " A wES/ Hqa  * a hr ?77B<BfBOllH R \ f r ~    = k    # Q                  ! % ) . 2 6 : > C G K O S X \ ` d h m q u y }                                  g#Q ~}s080T0r00030i0n000!00005AmIl*Pt os6C\Q`b%NI a:;EEEA E E EA A 999999"`~  9Z013PPP Pcc3qzqq9qkqFZ4uR ''p''`''I'`'''Q'''Q''''\ ' ' ' ' ' '% ' ' ' '9 ' ' '''''B'''','y'''''+'\\\!\y,b:A \A Y    e      q   &  {  t Q  # " U젞 Т s Pt]U~t- >tt-9FuPPPv]U~t r sv(]UQvr,FFF0PPPhP l]Uy "x  r#]U전 rhy ]U FF^&GFF^&G$^&G^&G(zRPFPPv PPFW^SPPPEP]UarPS6zPPEP]UQ s PPPU PaP`PFPZPs)&]UFFF s PPPFV  PPPF s-FV   PPP]U6vv@PP}PFF`FN^&F&GFU&^&G^&&WNV&&W^&N:Ȱt@FsF&F^&GF]U66s>̀tЀ`tˀatƀ tt@ur]U PPFP2P r ;u;w>FPFPLPeF s u'Frt69u9Ɉ FVFPPP]UQPP*PPP*P PPRPPSPSPC F tA rP`P6]UPPPPPFPJPIPPPPSSPPPPPKP0RPvLPPPMP PPFP/PFPPP^&Gre~s_FPPPRPPrmPP"PFP*Pv^S"PP^S"P+Pt]UQ s, [  P P}F]UQQFF~s1 PvtPsF@vt@FFɸ]UQQx vth6|SP66FP#F uAv>x;u;s)vx ]U 6&<:t<#tF696uUr]á@9u ?r]6&<:t7<#t3 È sgPPPzFPFP6F u ~u z sPPsgPPFP/P:^&GF&G z <`tz u p p'򤠝 r'rA* 򤠛 sP]UF^pN~RPQRPP-mPF t6~PFPPPENV>;u;s^SvSRQWP sS rL rZ6~66 tE6~vv F^SvPvv66]FV;u; r* F^rNRPQRPP-mPF t^=uT^SvRPPPPF u) P^SvRPP-mPF~t6PFPPP9Vu9Fs=6RP t.6vv F^SvPvv66C~+tFF sPPP!FFPPPv8]UFFFV;u;sR6~SWRPFP#P#6SPvvFP$P#wFV6~ P~]U FVFV;u;sR6RPPP}PoFF6^SPvvFP$P#FV6PPP P6 P ]U PPFP/P^_ ^F&GFF;tw P^FuF t.Nr'QQHPFPP~tFˠ^&G^&G s)]U ~ t P F t s PF6 F >tt s{HPPFP/P(F~ ^H ^& PPP}(PdP(>z tFFvz PF sPPP3 ]UQ  []UF> t=t P l ]U~u] vFP,F uqv~N^Y~u ЉFVsjjj ^SvNF,jjFP/F uF^&G Z&W F&GF^SvFv l ^&G :q t5SvFFHs Fތ;u;u PFF0^SFP#F u^SvFFq ^&O j&jFP/F u ^&G-hjFP/F u^&G < sA<v@"FFF FtFPjF t@^&FUv&D ~&] ~&] Y]U^ &G 33&E G :t :.X t$CH ^Y tt &^&] ]U^&G :X w):. u,&G t&G uF&G &G 3 %  ]U^&G 6u4P u>6t4&G8:>:u]ð]^ &G : uSvv^ &G :q tWSvvn\ ^ &G ^ SvvFNs=u8^ SFP ~u#q ^ &G ^ &dt@FsG 률q ^ &G F,^ &G :X r^ &G :G tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u4F^ &G^ &G :\ t : t^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$$F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G : t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^Sj$F u/v&|*&L+^9 ^&G*&G^&G,^ &G : uS^SzO^ &G :q t S^S<6^ &duG \ ^ &G ^ S^SFq ^ &G FU^&G :X r^&G :\ t: u^&G&G &W"^&&Wc^&G :G uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G : u^&&G ]^&^ &&W^&G :G t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :q t SvW6^&duG \ ^&G ^SvWFq ^&G F^&G :\ t: t :q t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$$F u^&uSlF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$$F Yu,^&w8jGPj ^&G :G u ^&G :\ t@&& tA"F&G :q uC&duG ^&du\ &G ^&G-sS&G :G u0G<PFP1^&G :\ t:G t: t ^G<PFPFF^&w:FP u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPjF~uVFF^SPvFP$F u2~t,^SPvFP$F u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFSPvFP$F uoF sdt_NAv~^YF@^&^v&48 ^& ^SPvFP$F u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^ShPj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvF u  ^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkPP^&PFP$F uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx~ B^&G : t \ ^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmF u"^&w8F t^&w8 FFU^&G : t ~v F^&Gj]^ &dtZSFP^& uV^ &du&G-sG<P^S^&^ Shwmvvt^& u\ ^ &G ^&^ &Gd<tN<uSh^& uH^ SFP^& u/^ Shrmvvt^& uG ^ &G ^&U].@]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP,[#uMG~&wr/^ F%;u^ ^ FF;tX F ;FuX] ^&^SP$$F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :\ t : t F^&G-rG<PFP% F^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSv$F tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^Sh$F u^&G :\ t : t ^&G&WFV&O&O &"N~;u;wN~Fs FF%du!dFPF u ~ rdb `ujj`P/F t^&GF`&8G wF`X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r jF~uv&<tF~to~tEv&<u<^&?F^ &^S PvFP$F uFt^ &FFF~NuV~u ^&P ~u^&7P^ S ~u8^&w&7P^ S F^~Hu2Ft tuS^SvP^ S F^~Du_~uFPF~u^&&WFV, PRPvvvPj ^ S<FF^^S^ &7^Svv^S FUDPjt'~tv &* v &*&4v &^&~tv &.crash[sys]crashDump.sys[sys]ws>crashDump.sys[sys]extCrashDump.sysProgram ExtCrashDump.run.ExtCrashDumpFile CrashDumpFile[Sys]T1Sys.font[sys]config.sys[!sys]ws000>config.sys[sys]ws>config.sysExtCrshDmpThe message file, [Sys]ExecMsg.bin cannot be accessed.;[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr][scr]<$>BsFilter.tmpVNVFp        ~  {}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^Press NEXT PAGE or SCROLL UP to continuet(Press NEXT PAGE to continue>t!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMO' VENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0[sys]ExecMsg.bin[KBD][VID][Kbd]d[Vid] ,[Lpt][Nul]l[Debug]D[SysIn][SysOut]>!#4>%) *]7Tu8t$$ad]yT]yB.\B\B.\lZl]y $OyD]y ]y {y2<;<|4\ >t> t      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: boot.lib VERSION: R12.3.0 (monday november 15, 1993, 14:34) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 14:34)do_file0_pathed_to_srvrF# update_path2:1 STARTUP_DIRL set_dir_workV0 _cd_available DeviceToVolNamey RESTORE_DIRTSAVE_DIR& _clear_array STR_TO_DIR0 SAVE_FILE_DLG;GET_DIR LIST_REAL_FILESt LIST_FILES4highlight_list_selection $CtosWildCardCharsf!/ LIST_DIRSr NEXT_FILE LIST_VOLS_LAZYѠVF ^v&FF9F|^+FFhj uhK&LJ&LJmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm Crashdump.sysBootRecord.sysMfd.sys CrashDump.sys Install.ctrlSortMerge>Install.ctrlSortMerge>Install.jclSortMerge>Install.cmdsFileheaders.sysLog.sys SysImage.sys BadBlk.sys+System Utilities Diskette 7 of 8 (B25STP-7)SortMerge>InstallMsg.bin( @ B25STP-7/8@ Q}w}wB @ D Z#7> ~u89|P^Sys:  AdminSystem  SortMerge 9|<Fileheaders.sysSys< ^}w^}w^}wD oBootRecord.sysSys: _}w_}w_}w'Mfd.sysSys: _}w_}w_}wB  Log.sysSys< `}w`}w`}w@ ? SysImage.sysSys< `}w`}w`}wr BadBlk.sysSys< a}wa}wa}w CrashDump.sysSys: b}wb}wb}w@ +System Utilities Diskette 7 of 8 (B25STP-7)cinchSys< m}wm}wm}w+ DiskMapperMsg.bincinch AdminSystem  q}w<wQwe DiskUtilitiesMsg.bincinch AdminSystem  s}w#*Ux#*Ux9'(l& EnlsCharSet.bincinch AdminSystem  v}w;wQw6 ExpanderMsg.bincinch AdminSystem  y}w;wmtw^< ` UserFileEditor.runcinch AdminSystem  {}w:wQw^FUserFileTemplate.syscinch AdminSystem }w_sQw56 WHwId.runcinch AdminSystem }w.wQwHJ( n BadSector.runcinch AdminSystem }w"wQwޭ^CreateBackupFloppy.subcinch AdminSystem }w ZvQwy z CacheUtility.runcinch AdminSystem }w7wQw6CreateConfig.Runcinch AdminSystem }w&wQw@RB!CreateMsgFile.runcinch AdminSystem }w}wQw$&OAccessService.Runcinch AdminSystem }wa6wQwyz+ Expander.runcinch AdminSystem }w;wjtw 4 ExtCrashDump.runcinch AdminSystem }wa$wQwB { RHwId.runcinch AdminSystem }w.wQw CreateClientLfsWS.subcinch AdminSystem }wcvQw0 2 UpdateClientLfsWS.subcinch AdminSystem }wZvQw5 6 Install.ctrlcinchSys: }wTF vJv" SortMerge>Install.ctrlcinchSys: }w=tww$ VSortMerge>Install.jclcinchSys: }wabvww & SortMerge>Install.cmdscinchSys: }w1uww4 ?SortMerge>InstallMsg.bincinchSys< }wrwwwBH X Merge.runcinch SortMerge  }wAwQwJ J!Sort.runcinch SortMerge! }wAwQwT`V) "SortMergeMsg.bincinch SortMerge" }wBwQwN X#$W$%V%&U&'T'(S()R)*Q*+P+, O,- N-. M./ L/0 K01J12I23H34) G45F56E67D78C89B9:@:;?;<><===><>?;?@:@A9AB8BC7CD6DE5EF* 4FG3GH2HI1IJ0JK/KL.LM-MN,NO+OP*PQ)QR(RS'ST&TU%UV$VW#WX* "XY{YDiskMapperMsg.bin WHwId.run BadSector.runCreateBackupFloppy.subCreateConfig.RunCreateMsgFile.runAccessService.RunExtCrashDump.runCreateClientLfsWS.subExpanderMsg.bin UserFileEditor.run UserFileTemplate.sys Expander.run RHwId.runDiskUtilitiesMsg.bin EnlsCharSet.bin CacheUtility.runUpdateClientLfsWS.sub Merge.run Sort.run!SortMergeMsg.bin"GWXJ\.\  i=\\.w.Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1?0OpP!P&`./001O57p8o09:?P;J0N OO?PQQ?pR_TOV/`V?XYPZ[\/^``Opbefg`hO@lP ЉPp_P?p*'(" )#+7* 8% /N!)3F^  Tg'*M3m m m m m m m m m i_iiiiF0 {)\m )))F:::xGx_y3r7H0Cclv+B {  ! T   k   1 g    &a 0-0h09A9<Gj /FXDiy/.+GFGfGGGU84A]v  S  RU;UUUU=P,2`*3Ki5():x,09Gk  .G|U ;Ntz>Qtz?g*8m Bm Lm Vm bm nm {m m Km =Km kKm Km Km Km #Km QKm Km m m m m m m m m m m m m m m m m m m m m "m &m *m .m 3m 7m ;m ?m Cm Hm Lm Pm Tm Xm ]m am em im mm rm vm zm ~m m m m m m m m m m m m m m m m m m m m m m m m m m m m m m iAiiiimiiIil*Pt os6#5Q55 5~55}555s5558Tr3in!C\):Q:`:::b:%xNxxxIxa;A   95GGG"`nm m 9Z03       3.z..9.k.FGG|Z||||4uR p`I`QQ\      %    9   B,y+!UyUUUU,UbUYeq&   {  t  Q  #PPPP(  hP*P(hP*P(PjRPjSPSPCP(hYøPj PP(h[øPj PP(6Pjuj(P!uhP?>uhQ2>uhR%>uhS>uhT >u3hUøRPjPhPjP6  tP <h\øPj PP(h]øPj PP( UF>t=t P < ]U~u] vFP,F uqv~N^Y~u ЉFVsjjj ^SvNF,jjFP/F uF^&G Z&W F&GF^SvFv <U+Zr tH]j&j^S/ u ^& +ZrHU3 &L&;Wt]U#tH3&GtH] 6r"^&&W&G&G;F s Wv X^F&F&GFFF;FsN ;Nv&@FFڋF;Fr ,v@^&Z&WS&_[&GU|s]&G@] ar &G;FsGvX^F&F&GFFF;Fs&@FFFU>uP u>t&G>u]ð]U^SP  u].q s].m]U^SP  u].y s].u]U^S!P  u]. s].}]U^S#P  u]. s].]U^S%P  u]. s].]U^ S)P  u]. s].] U^ S*P  u]. s].]U^S7P+   u]. s].]U^ S8P  u]. s].] U]. U]. U]. U]. U]. U]. ^&G :t SvW6^&du^&G ^SvWF^&G F^&G :t:t t :t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$F u^&uSlF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$F Yu,^&w8jGPj ^&G :u ^&G :t@&& tA"F&G :uC&du ^&du&G ^&G-sS&G :u0G<PFP1^&G :t:t:t t ^G<PFPFF^&w:FP u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPtF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPjF~uVFF^SPvFP F u2~t,^SPvFP F u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFS PvFP F uoF sdt_NAv~^YF@^&^v&48! ^& ^S,PvFP F u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48-^&v&4^P^&wg&we^&^v&48/^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^Sh3Pj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvdF u t ^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkP7P^&PFP F uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx8C~ B^&G :t t ^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmF u"^&w8F t^&w8 FFU^&G :t t ~v F^&Gj]Uv&D ~&] ~&] Y]^&G :tSv^ S^Sg<^SFP F u'^Sv^ S^SgF^&G F^ &&W^&^&O : v^&z Vnjޱ;u$:u0 r) PNPjRPQhrmRPQdF u(^&G : u  FF^Su ^&G s<&G s4~u ^&"^&G ^G ^ &Z&W^&}^&G&;Gr$Sv^ S^S9F uX^&?uL^&G&O+;FsFF^&^&FFv&t^^ &Z&W^F&G FFN F;vP~uJ^S+QFPFPF t tu.^ v8vNFYFF릋F^&F^&G :tRS^ Sv ^SF sm Vnjޱ;u$:uH^SF9^SFP F u'^S^ Sv ^SF^&G F ^&^&O : v ^& Vnjޱ;u$:u7 r0 r) PSPjRPQhwmRPQdF u(^&G : u  FF^Su FFN F;w~t^&W&;WrS^ R+QFPFT^&G&+GFV N+;sV^&FF^ v0~&}^9N^Y^F&GFFcF^&FU^&G : v ]U^&G : v ^&G ]U^&]U^&]U]U^& t^&G :u &G& u]^ &G : uSvv^ &G :tWSvvn^ &G ^ SvvFNs=u8^ SFP~u#^ &G ^ &dt@Fs률^ &G F,^ &G : r^ &G :tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSlF u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPlF u4F^ &G^ &G :t :t t^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :_ t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjF u/v&|*&L+^9 ^&G*&G^&G,^ &G : uS^SzO^ &G :t S^S<6^ &du^ &G ^ S^SF^ &G FU^&G : r^&G :t:t u^&G&G &W"^&&Wc^&G :uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :_ u^&&G ]UQF =rmt =tmt"6 rmP'  ^&G ]UQF =wmt =amt!6 v '  ^&G ]U^&G : t ^& SP(]UQ^&^ &&W^&G : t  S)]U^&G : u Sv*4 ]^ &dtZSFP^& uV^ &du&G-sG<P^S^&^ ShwmvvL^& u^ &G ^&^ &Gd<tN<uSh^& uH^ SFP^& u/^ ShrmvvL^& u^ &G ^&U]. ]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPS]UU^ SG PPFP[#uMG~&wr/^ F%;u^ ^ FF;tX F ;FuX] ^&^SP$F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :t :t t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^ShF u^&G :t :t t ^&G&WFV&O&O &"N~;u;wN~Fs FF% u! FPF u ~ r  ujj P/F t^&GF &8G wF X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPlF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r jF~uv&<tF~to~tEv&<u<^&?Qvt@Y F^SDPvtFsah @FPjF t@"FN ɲuB"ƒ uA"FNQj PTF uF^ &^SPvFP F uFt^ &FFF~NuV~u ^&P ~u^&7 P^ S~u8^&w&7 P^ S F^~Hu2Ft tuS^Sv P^ S F^~Du_~uFPF~u^&&WFV, PRPvvv Pj ^ S$F F^^S^ &7^Svv^SFU츴 Pj t'~tv &* v &* &4v &^&~tv &StdServiceMsg.bin[]}[!Scr]]$$.Tmp}[!Scr][!Scr][KBD][VID][scr]<$>BsFilter.tmpVNVFp        ~{}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^Press NEXT PAGE or SCROLL UP to continue\(Press NEXT PAGE to continue\!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjan- febmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0[Kbd]<[Vid] [Lpt][Nul]D[Debug][SysIn][SysOut]>|!# >%\)*|]7,u8Dlla<]y,]yB.\B\B.\DZD]y Oy]y ]y {y2;T44 >b \>| \      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: hwid.lib VERSION: R12.3.0 (monday november 15, 1993, 15:19) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 15:18)%' %'***************************** MODULE HEADER ********************************; %' *; %' FILE: CreateClientLfsWS.sub *; %' *; %' VERSION: 12.3.0 *; %' *; %' HISTORY:  *; %' *; %' 07/25/93 123D.01 G.Sinha Modified to change system volume to local *; %' disk before Installation Manager session. *; %' This would make sure that the database is *; %' created on the local w/s and also the *; %' requirement to change all [sys] to [dx] *; %' during IM session is no longer true *; %' *; %' 06/30/93 123C.00 G.Sinha Created. Formerly CreateClusterLFsWS.sub *; %' *; %' PROPRIETARY PROGRAM MATERIAL *; %' *; %' THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION AND IS NOT TO BE *; %' REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE *; %' OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS *; %' CORPORATION, DETROIT, MICHIGAN 48232, USA. *; %' *; %' *; %' COPYRIGHT (C) 1980, 1989 CONVERGENT INCORPORATED. ALL RIGHTS RESERVED *; %' COPYRIGHT (C) 1980, 1989 UNISYS CORPORATION. ALL RIGHTS RESERVED *; %' ************************************************************************* *; %' *; %' UNISYS BELIEVES THAT THE SOFTWARE FURNISHED HEREWITH IS ACCURATE AND *; %' RELIABLE, AND MUCH CARE HAS BEEN TAKEN IN ITS PREPARATION. HOWEVER, *; %' NO RESPONSIBILITY, FINANCIAL OR OTHERWISE, CAN BE ACCEPTED FOR ANY *; %' CONSEQUENCES ARISING OUT OF THE USE OF THIS MATERIAL, INCLUDING LOSS OF *; %' PROFIT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES, THERE ARE NO *; %' WARRANTIES WHICH EXTEND BEYOND THE PROGRAM SPECIFICATION. *; %' *; %' THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF THE SOFTWARE *; %' WILL BE IN FULL COMPLIANCE WITH LAWS, RULES AND REGULATIONS OF THE *; %' JURISDICTIONS WITH RESPECT TO WHICH IT IS USED. *; %' *; %' *; %'************************** END OF MODULE HEADER ****************************; %' Copy [kbd] [vid] PF System Software Installation From Server This submit file does the following:  1. Initializes the workstation system volume. 2. Creates a user file. 3. Creates a <$> directory. 4. Creates an directory. 5. Starts an Installation Manager session. You must install the Basic System package, the Video package, and a Cluster LFS OS package from the server during this Installation Manager session. CAUTION: You must have a valid .user file on the server. The .user file is placed on the server automatically during installation on the server. If you have removed or modified this basic .user file, exit now and - create a valid .user on the server (see section 6, "Installing From Server," in the CTOS System Software Installation Guide). Press AEAA to continue, or AEAction-FinishAA to exit. 1%' Copy [kbd] [vid] PF DISK INITIALIZATION The Configure Disk command is used to initialize the  hard disk. The command form is currently filled out to initialize D0 as a workstation system volume. Make any changes in the command form that are needed for the device you want to use for your system volume. AEIf your disk currently has a non CTOS partition and you AA AEwish to retain it, change the '[Suppress format of medium?]'AA AEto 'Yes'. Failure to do so will destroy your non CTOS AA AEpartition. AA For more information about the Configure Disk command, refer to your CTOS Executive Reference Manual.  Press AEAA to continue. 1Copy [kbd] [vid] PF Configure Disk D0 D0 LfsSys 1280 48 8192 no 1 no 1Copy [kbd] [vid] PF PATH and PASSWORD  Modify the [Volume] field of the Path command form below with the correct device name if D0 is not your system volume. Enter the volume password in the [Password] field if one exists.  Press AEAA when ready. Path D0 Sys 1%' Create Directory %'New directory name(s)'$ Installed %'[Default protection level (15)]' %'[Maximum number of files (75)]'750 %'[Password for new directory]' %'[Volume password]^' %' Copy {Master}[!sys]Install>English.Cmds Sys.cmds%' Copy {Master}[!sys]Install>English.Cmds Install>English.Cmds%' Copy {Master}[!sys]Request.vm.txt Request.vm.txt%' LCopy %'File list' Submit SignOnBe Signon Lcopy ListRqSet %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' CmdFileEditor InstallMgr MakeRqSet %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' SubCmd Exec Batch UpdateRqSet ChangeSysvol %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' SignOnMsg CmdFileEditMsg InstallMgrMsg %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .bin %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' ExecMsg StdSoftMsg StdServiceMsg BatchMsg %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .bin %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' Signon.txt Install.sub InstallRequest.sub %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' Make Request Set %'Text file(s) 'Request.vm.txt %'Binary request file' Request.sys %'[Error file]' %'[Version]' 12.3.0 %' Copy [kbd] [vid] PF Create a Valid .User File This part of the submit routine copies the .user file from [sys] on the server. This .user file is a very basic user file that is created automatically during installation on the server. If you have modified or removed the .user file from the server, create a basic .user file as described in section 4, "Installing From Server," in the CTOS System Software Installation Planning Guide. Enter the user name that you intend to use on this system. Press AEAA when ready. %' Copy %'File from*'{Master}[!sys].user %'File to*'.user %'[Overwrite ok?]'yes %'[Confirm each?]' 1%' Run ChangeSysVol.run%' Copy [kbd] [vid] PF Using Installation Manager  Your system has now been set up to enable an Installation Manager session. The next command invokes the Installation Manager. If you have a CDROM drive on your local workstation or the server and you wish to install from the CDROM, insert the CDROM in the drive now. Choose the 'Install new software' option in the main menu of the Installation Manager. If you wish to install from the CDROM, choose 'CdRom installation', otherwise, choose 'Install from server'. You must install the following in this session of installation. 1. A AECluster LFS OSAA  2. a relevant AEVideoAA package 3. and the AEBasic SystemAA package Press AEAA when ready. Installation Manager %'[Non-interactive?]' %'[Append to log file?]'1 %' %'***************************** MODULE HEADER ********************************; %' *; %' FILE: UpdateClientLfsWS.sub *; %' *; %' VERSION: 12.3.0 *; %' *; %' This submit files updates Standard Software from the Server once Standard *; %' Software is installed Publicly on the Server. This sets up the client *; %' workststion so that a sucessful Installation Manager session can start. *; %' *; %' HISTORY: *; %' *; %' 08/18/93 123E.01 G.Sinha Copy LCopy before using LC. opy *; %' 07/28/93 123D.00 G.Sinha Created. *; %' *; %' PROPRIETARY PROGRAM MATERIAL *; %' *; %' THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION AND IS NOT TO BE *; %' REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE *; %' OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS *; %' CORPORATION, DETROIT, MICHIGAN 48232, USA. *; %' *; %' *; %' COPYRIGHT (C) 1980, 1989 CONVERGENT INCORPORATED. ALL RIGHTS RESERVED *; %' COPYRIGHT (C) 1980, 1989 UNISYS CORPORATION. ALL RIGHTS RESERVED *; %' ************************************************************************* *; %' *; %' UNISYS BELIEVES THAT THE SOFTWARE FURNISHED HEREWITH IS ACCURATE AND *; %' RELIABLE, AND MUCH CARE HAS BEEN TAKEN IN ITS PREPARATION. HOWEVER, *; %' NO RESPONSIBILITY, FINANCIAL OR OTHERWISE, CAN BE ACCEPTED FOR ANY *; %' CONSEQUENCES ARISING OUT OF THE USE OF THIS MATERIAL, INCLUDING LOSS OF *; %' PROFIT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES, THERE ARE NO *; %' WARRANTIES WHICH EXTEND BEYOND THE PROGRAM SPECIFICATION. *; %' *; %' THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF THE SOFTWARE *; %' WILL BE IN FULL COMPLIANCE WITH LAWS, RULES AND REGULATIONS OF THE *; %' JURISDICTIONS WITH RESPECT TO WHICH IT IS USED. *; %' *; %'  *; %'************************** END OF MODULE HEADER ****************************; %' Copy [kbd] [vid] PF System Software update from the Server This submit file does the following: 1. Expands the SysImage.sys.  2. Copies files from the server to start an Installation Manager session. 3. Starts an Installation Manager session. You must install the Basic System package, the Video package, and a Cluster LFS OS package from the server during this Installation Manager session.  CAUTION: Backup of the previous version during the subsequent Installation Manager session is not supported. If you wish to backup the previous versions of above mentioned packages, exit now and take a backup. Press AEAA to continue, or AEAction-FinishAA to exit. 1Copy [kbd] [vid] PF PATH and PASSWORD  Modify the [Volume] field of the Path command form below with the correct device name if D0 is not the volume you wish to update. Enter the volume password in the [Password] field if one exists.  Press AEAA when ready. Path D0 Sys 1Copy [kbd] [vid]PF The following command will expand the SysImage.sys file. Make sure that the device name is correct and enter the VOLUME password, if any. Do not change any other parameter in this command. Press AEAA when ready. Expand File D0 SysImage.sys 1280 no1Copy {Master}[!sys]Install>English.Cmds Install>English.Cmds yes%' %' Merge Command Files %'Command file from' Install>English.Cmds %'Command file to' sys.cmds %'[Overwrite ok?] ' yes %'[Default volume]'%' Copy {Master}[!sys]Exec* Exec* yesCopy {Master}[!sys]Submit.run Submit.run yesRun {Master}[!sys]ChangeSysVol.run%' Move %'File list' Signon.txt Nls.sys FormatDiskConfig.sys %'[File prefix(s) from] ' %'[File prefix(s) to]' pre12.3.0> %'[File suffix(s)]' %'[Overwrite ok?]'no %'[Confirm each?]' %'[Continue on error?]'yes %'[Verify copy?]'%' Delete <$*>*%' Create Directory [Sys] 75%' Create Directory [Sys]<$000> 750%' Create Directory %'New directory name(s)'$ Installed %'[Default protection level (15)]' %'[Maximum number of files (75)]'750 %'[Password for new directory]' %'[Volume password]^'%' Copy {Master}[!sys]Request.vm.txt Request.vm.txt yes%' Copy {Master}[!sys]Lcopy.run Lcopy.run yes%' LCopy %'File list' Submit SignOnBe Signon ListRqSet %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]'no %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' CmdFileEditor InstallMgr MakeRqSet %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' SubCmd Batch UpdateRqSet ChangeSysvol %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .run %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' SignOnMsg CmdFileEditMsg InstallMgrMsg %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .bin %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' StdSoftMsg StdServiceMsg BatchMsg %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' .bin %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' LCopy %'File list' Signon.txt Install.sub InstallRequest.sub %'[File prefix(s) from] '{Master}[!sys] %'[File prefix(s) to]' %'[File suffix(s)]' %'[Overwrite ok?]'yes %'[Confirm each?]' %'[Continue on error?]' %'[Verify copy?]' %' Make Request Set %'Text file(s) 'Request.vm.txt %'Binary request file' <$>-Request.sys %'[Error file]' %'[Version]' 12.3.0%' %' List Request Set <$>-Request.sys Reques?.sys [Scr]<$>-Request.lst%' Make Request Set %'Text file(s) ' [Scr]<$>-Request.lst %'Binary request file' Request.sys %'[Error file]' %'[Version]' 12.3.0%' %' Copy [kbd] [vid]PF If you wish to remove obsolete commands from your system, press AEAA now, otherwise, press AEAA to continue.  Remove Command @{Master}[!sys]12.3.0>RemoveCmds.fls Sys.cmds1Copy [kbd] [vid]PF If you wish to remove obsolete files from your system, press AEAA now, otherwise, press AEAA to continue.  Delete @{Master}[!sys]12.3.0>RemoveFiles.fls 1LCopy RemoveFiles RemoveCmds RemoveKeys {Master}[!sys]12.3.0> 12.3.0> .fls no no yes yes%' Copy [kbd] [vid] PF *** NOTE *** .  Your system has now been set up to enable an Installation Manager session. Installation Manager 12.3.0 and above will use the database named [sys]Sys.Installed for all privately installed software. (Prior to this, a separate database was created for each user.) The next command will display the list of installation databases that currently exist on your system. You must select one of those databases to be copied to [sys]Sys.installed. Please be ready to note down the name of the database file you want to rename. Press AEAA when you see the command line after you have noted the database name.  Press AEAA when ready. List [sys]*.installed 11Copy [kbd] [vid] Please enter the name of the database file you have selected to be  renamed in the command form below. Press AEAA when ready. Copy [sys].Installed [sys]sys.installed no1%' Copy [kbd] [vid] Using Installation Manager  The next command invokes the Installation Manager. If you have a CDROM drive on your local workstation or the server and you wish to install from the CDROM, insert the CDROM in the drive now. Choose the 'Install new software' option in the main menu of the Installation Manager. If you wish to install from the CDROM, choose 'CdRom installation', otherwise, choose 'Install from server'. You must install the following in this session of installation. 1. A AECluster LFS OSAA 2. a relevant AEVideoAA package  3. and the AEBasic SystemAA package Press AEAA when ready. Installation Manager %'[Non-interactive?]' %'[Append to log file?]'1 :MultiPkgName:SortMerge :PackageName:SortMerge :Version:12.3.0 :RequiredDiskSpace:324 :Directory: :Verify: :Commands: 'Merge' 'Sort' :ProductFiles: Merge.run Sort.run SortMergeMsg.bin ; SortMerge>Install.jcl ; Install the SortMerge Utilities subpackage ; Except for yes/no strings, these two messages are the only nationalizable ; strings in this file. ErrorMsg = 'Cannot access message file' FirstDisk = 'System Utilities Diskette 7 of 8 (B25STP-7)' FromFloppy = 0 FromServer = 2 SysVolume = '[Sys]' BangSys = '[Sys]' SysCmds = '[!Sys]sys.cmds' FloppySpec = ConcatStrings(DeviceFrom, '') ToSpec = ConcatStrings(VolumeTo, DirectoryTo) FromSpec  = ConcatStrings(FloppySpec, '*') If InstallType = FromFloppy NextFloppy(FirstDisk) EndIf InitErc = InitMsgFile(MsgFile) If InitErc > 0 DisplayLine(ErrorMsg) Cancel Endif If Public Command Merge Command Files ,& CmdFileFrom ,& CmdFileTo ,& Yes ,& VolumeTo Command Merge Command Files ,& CmdFileFrom ,& SysCmds ,& Yes  ,& BangSys Else Command Merge Command Files ,& CmdFileFrom ,& CmdFileTo ,& Yes ,& SysVolume EndIf If InstallType = FromServer Command LCopy ,& ,& @[Scr]<$>InstallOverwriteOkFrom.fls ,& @[Scr]<$>InstallOverwriteOkTo.fls ,&  ,& Yes ,& No ,& No ,& Yes GoTo EndIt Endif Command LCopy ,& FromSpec ,& ,& ToSpec ,& ,& Yes ,& No ,&  No ,& Yes RestartLabel pkg = GetMsg(2) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(3) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(4) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(5) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt  EndIf pkg = GetMsg(6) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(7) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(8) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(9) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(10) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(12) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg(11) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(13) NextFloppy(Msg) GoTo EndIt EndIf EndIt: End ,& No ,& Yes pkg = GetMsg(2) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf EndIt: End GetMsg(3) If substring(pkg,pkgs) <> 65535 Msg = GetMsg(1) NextFloppy(Msg) GoTo EndIt EndIf pkg = GetMsg( MergeSort/ 00JC7[Sys]Merge.runMerge one or more already sorted files of data records.Input filesOutput fileKeys[Print file][Suppress confirmation?] 009p'[Sys]Sort.runSort one or more files of data records.Input file(s)Output fileKeys[Stable sort?][Work file 1][Work file 2][Print file][Suppress confirmation?] mJ +x     ) +System Utilities Diskette 8 of 8 (B25STP-8)Cluster ViewMouseVoiceCdRomDataCommDOSMathMCRTape UtilitiesServer UtilitiesTape Utilities Diskette 1 of 1 (B25TUP-1)Server Utilities Diskette 1 of 1 (B25SUP-1)GWl@  '4Sr  S  AwrCopyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1 _*/@+p+/`5 7@7P7/`7788??o @pI0JJ`K@LO NpP/R0T0YPZZ[`]]?e0hOk`s`tpt_uz~`o ?@ ?_Op/?_0 /@ OpOP`  0 _?@'0P*'(" )#+7* 8% /N!)*"uww^ww wuwwww"LJ WAWLW cTcgccvAv    ! ) 1 9 A GS\SSSS'e/nnM~ /FX)<C_CCCCqqFqqq0qq q{qqq Fnnn_y3r7H0Cclv+B {  ! T   k   1 g    &a ?-?h?*HjDiy.+; F; f; ; ; , U      8 4 A ] v    S    R  V ;V V V V  = P 2$ `$ $ $ $ $ $ $ ntw24569HJWcnvSen~Cqn!.;?Hq  " ; p ~  V  $ C "2JW]kqv| .4BHP\2hn|7]%KQz/K~=R.;gtL&Ii!s#[|s t wBwfwwwww+wVwwNw>]r AV<^#FnG-Ka26949O9q9w999999H)J/J=JZJ`JnJJJJJJJJJJJ$J2JPJyJJJJJJJJJJ#J;JJJJJJ;JAJJJJJJ J4J:J\JJJJJ JJJ (+&D\~Ro/ ?ccn<nfnv         = k  ' / #7 Q? J N R V Z _ c g k o t x |                                        $ ( , 1 5 9 = A F J N R V [ _ c g k o u z %NIO#Q ~}sgeh  8Tr3in!5CACCCCmCCIClqq*qPqtq qoqsqqq6qqqqqqC\)FfGd nQn`nnnbna;A   C C ..H"`A9Z03      3" z" " 9" k" F; ; p Zp p p p ~ 4 u  R  p  `  I `   Q   Q    \ % 9     B    , y     +    ! V yV V V V ,V bV    zC C Y      e      q   &     {    t /   Q    # $ ȸ )PPF^㋇ tbPd uS^㍇ FΌ^FhFPjIPhFPPIPvښPh FjjFPdF uihFP*P\ P^SvRPjhwm^ShF t"hFPj@PtPv  FΌ^РFhFPjIPhFPPIPvښPPPPjjFPdPFP^SvRPjhamF=u ~u vܚ FP^SvRPjhwm S6 F t?hFPjIPhFPPIPvښPv j+F HN;sjQFPdPv &S^SvRPjhrm &S6 F t?hFPjIPhFPPIPvښPv v&FtP FF^㋇ t[PdvK^㍇FΌ^FhFPjIPhFPPIPvښPF똚P~uF HN;s9 &s  &r &S PFPv &S &S6 v PFFv &; vP~u$ v&N &SPPy~uv &S66FPFPFFrSFމFΌ^FFFԌ^FhFPj IPhFPPIPvښPFFΌ^F~u%hFPjIPhFPPb~u/hFPjIPhFPPFF,hFPjIPhFPPFFIPvښPvvvvPF th ~uF~u v&N &SPv & v&VF= tFމFΌ^Fv FԌFFhFPj IPhFPPIPvښPv &Sv &0vޡPF tF vFt~uF v&rFFމFF HN;r> &s, &Sv &SjsFFFuv &Sv &0vP v&PPPP  s\ P4P  ~tEv6  s \ P4F s 6 *Fv  FsPPF uEjjFPdF u0FP^SvRPjhmmF u vF66F66_F66FPF6666JF^&F&G&F^&G^S^GP^&F&G&F^&G^S"^GP"^&&WFV&G&W&&WFV^&G&WFFu,6vF+^&NH&&vNF^&NNF+;r^&GF&G v wn~ r `~ u^&G;FtQ I~uF^Sv FP'F u+F^~ uFF^FN^.M*Mm^Svv v ^&wvv&w ~^Svv v ^Sj^Svv v ^Shvvd^Svv ^&wvv&wg^Svv ^&wvv&w|g^Svv v ^Svv^Svv v ^&wvv&w; ^Svv ^&wvv&wg^Svv ^&wvv&w,D^Svv ^&wvv&w!^Svv v ^Shvv FF^ &GF&G v wn^ &G^~ r u^.j^ &sIB^ &Gr6 w1^/^ &^ &^ & t ^ &u ^s Fs ~t ~t ^~u ^SvF sFF^&GF%FNNVVVV N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ G~u ^Sv ~t ~t ^~u ^SvF sFF^&GF#F N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ G~u ^Sv ~t ~t ^~u ^S[F sFF^&GF%FNNVVVV N tVF3F^ GF^&3^ ~u ^S[ ~t ~~t s^~u ^S"F sFF^&GF#F N tVF3F^ GF^&3^ ~u ^S" ~t ~ t ^ ~u ^SvF sFF^&GF#F N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ GF^&3G^ G~u ^Sv~uF^ &G;Fu(~u^ &G;FrF~u^ &G;Fs $F^ &GsFF^ &G+FF&Gs FsF^FNFFFFF t)HF^&FN rF2F^vFЊF r rERPj FPF u&F t&?TCuw  F ^v0N תFFFF~tN^vF0FF^ ~t ^ &G;Fu~u FNANsNs F^F^ &GsFFvN^&F$FNNF &Z&P FvF &Z&P FFu@P^SvFPZDF u$ s\ P^SvFPZDFFȢF N;w+ȉNF +FF+ȉNNF+F FF##N ;vF F##N ;sn F<1F)FF1F)FFFt3FF^FNN^FNN^FhꀍFPjE~t'FF^FNN^Fh뀍FPj FF^Fh쀍FPj^PhFPF u^PvFFȎFF^Fh퀍FPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFU^&G tP^& tP]hRPj@PtFFP5F@Pj F~uˀ~u˚4FȐvjFPdF tqRPFPFPF uFMFF^FhFPjqPhFPPqPvPv Ȕ~uv F F^FFFFFFFPj PP6flPhFPjtFPlPv FFNrPjFPjOF tFFNz[u.zȰ]u+JVuF FF@Fvzu+JVuF FF@FFHFtv FȾz<~uEvPt=t P  ]U~u]^ SN sP^ &rmt@^ &G 2H%FFF Fu FVFVFV;Vu;Fs0^ &G FV^ &G&W^ GFFPvv$F usFV;u;u*^SFP$F u֋FV^ &G&W^ SRPjFPFuK^S66$F ut^SFP$F u^FV;Vu;FuFFF t=u6^ &G FV^ &G&W^Svv$F u F^ &G FFs LF=rt :FFwJ Z:sz*ʈJ FuF =rmt=wmt =amtM^GFFP^Sv^Svv ^SvF u^&G :t: t:tF ^&rsF ^&G^&G^&G^&G^&G ^&G^&G F~ amu,^SFP$F uFV;u;tFFr ~ rmtFF^Svv$F u^&t &G"& G tF"^&^F&G& u&2u&G<r&8G1u&amtF ^&G F&G ^&G^&G ^&G^&G-^&G ^&G^&G^S^&;G/tF ~u~t~ amu^Sj\F ur~ rmu6^&G 2H%FF^Sj)F u?FFFV^&G&W^Svv$F u ^&G^Sr4FF^SN s~&] ~&] Y]U^ &G 33&:t :.t$C^Y tt &^&] ]U^&G :w):u&G t&G uF&G &G 3  ]U^&G uP< u>t&G>u]ð]UQQPl$PT uJF6P u8&=u0 PT u!F6P u=t=!t3]^ &G :=uSvv,^ &G :!tWSvvtn ^ &G ^ SvvtFNs=u8^ SFP~u#!^ &G ^ &dt@Fs률!^ &G F,^ &G :r^ &G :tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sS|F u^ &G-sG<PFPF^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFP|F u4F^ &G^ &G : t :t^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSltF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$F u^ SltF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjF u/v&|*&L+^9 ^&G*&G^&G,^ &G :=uS^Sz,O^ &G :!t S^S<6^ &du ^ &G ^ S^SF!^ &G FU^&G :r^&G : t:u^&G&G &W"^&&Wc^&G :uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :u^&&G ]^&^ &&W^&G :t ^S|F uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFPF^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :!t SvW6^&du ^&G ^SvWF!^&G F^&G : t:t :!t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$F u^&uSltF t^&w8&S^&w&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$F Yu,^&w8jGPj ^&G :u ^&G : t@&& tA"F&G :!uC&du ^&du &G ^&G-sS&G :u0G<PFP1^&G : t:t:t ^G<PFPFF^&w:FP u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPj\F~uVFF^SPvFPF u2~t,^SPvFPF u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFSPvFPF uoF sdt_NAv~^YF@^&^v&48 ^& ^SPvFPF u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFP<F u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFP<F uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^ShPj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvF u ^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkPP^&PFPF uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx~ B^&G :t ^&G ^SFPFPPF u^Sr4F u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmmF u"^&w8F t^&w8 FFU^&G :t ~v F^&Gj]^ &dtZSFP$^& uV^ &du&G-sG<P^S^&^ Shwmvv^& u ^ &G ^&^ &Gd<tN<uSh^& uH^ SFP$^& u/^ Shrmvv^& u^ &G ^&U].@]U#U$VWQ^SY_^F^OGG w 3GGG؉GGGFG F GFGFGFGFGPST]UU^ SG PPFP[#uMG~&wTr/^ F%;u^ ^ FF;tX F ;FuX]UFV ;Vu;FrFV]8^SN s^&rmt^&GF&9Gt@F&G&WFVFV^ &&WFF^GFFF~-tFsFV%FVFV+FVN~+N҉~^SvvWQFPF u$vvvvvv^&w 2FVFF3F~ uvvvv^&w dFV ~tFFV+FV^&&WFV^&G&WFsF^&&W;Vu;Fr^Svv$F u6^GPFV^&+&WRPjj!PFPFPDF uwFPvv^SvsvF޹;s +Ⱥ)NVFރFV^Svv$F uC^GPFPjFPDF u#FPvvFPj|s FVFVFVNs.^&O 2IN̿+RPv$ t^Svv$F u^&G F&G ^SNQPFPFF^&G F=t tuFVFV^SRP$F u^SFPjFPDF uŠFsF;FtF FںN~׉FVN~FV;Vu;Fs4^SRP$F u^SFP<F uFV뼋FVFV^SRP$F uFV+FV^&&WFV^&G&W^&G N V F~׉NVNs:N2IN+WPv$FN+ȺNVNVFVFs4F2H%FN ~ +WQv$FN+ȉNFFF V U~sFn~t2^F V &9Wu&9u^&&WF V FNȰ] ^&^SP$F t^&G t~&w8&SP^&w"&w G<P^&w: F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G : t :t F^&G-rG<PFPF^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^ShF u^&G : t :t ^&G&WFV&O1 &O &"N~;u;wN~Fs FF%du!dFPF u ~ rdb `ujj`P/<F t^&GF`&8G wF`X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r jlF~uv&<tF~to~tEv&<u<^&?F^ &^S PvFPF uFt^ &FFF~NuV~u ^&P ~u^&7ZP^ S~u8^&w&7ZP^ SZF^~Hu2Ft tuS^SvZP^ SZF^~Du_~uFPF~u^&&WFV, PRPvvvZPj ^ SFZF^^S^ &7^Svv^SFUPjt'~tv &* v &*&4v &^&~tv &?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~[scr]<$>rgLfa1[scr]<$>rgLfa2Error %0N on file %1S.SortMergeMsg.Bin[Sys] [scr]<$>BsFilter.tmpVN2 VF[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr]p        ~{}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxyPress NEXT PAGE or SCROLL UP to continueP (Press NEXT PAGE to continue~ !a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0e[Kbd][Vid] ,[Lpt]$[Nul][Debug][SysIn]L[SysOut]>L4,!d#>% )t*,]7u8|DDDD|DaD]DyDDD]DyDDB$.$\$$$B$D\$$DB$.$\$$$Z]DyDD DODy]DyDD LD]DyDD D{LLyDD2tt;4 [KBD][VID]> >6      3  LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: sortmerge.lib VERSION: R12.3.0 (monday november 15, 1993, 16:40) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 16:40)GW`tp6 t (`Ptt" Bw Copyright 1993 Unisys Corporation. All rights reserved.Ver R12.3.0 Linker R12.3.1 _,_0-O-O/0>0BJpOSO U?pY\`fgg/n?n0oO@opppp?po qzP{||}p~PO`/@pp   ?0pOP_oP?pP@? _@O/? _`P/@pPO0OPP`0 _?0po6`O*'(g" )#+7* 8% /N!)* ixy4yWypyyyyyy*y?Uf : ~O?O ^k'kOkkykkFkk"L&; IAILI UTUgUUhhhyAyA I Q Y a i q y  GW\WWWW'i/rrM /FX)<#G_GGGGuuFuuu0uu u{uuu"Fa a a _ y 3 r 7 H 0 C c l    v       + B { ! T k 1 g    & a       2 -2 h2 *;  j  D i  y . +. F. f. . . , U      8 4 A ] v    S    R I;IIII=P2`msyO7k IU`hyWir#Gu a   ! . 2 ; d z    . c q I6"2JPVdjou%+3=CMSZk !`{ 9?NTm@FTZq?ESYn|.FV\cisy1F.;gtL&Ii!s#[|s :yyyyy?yGL>Uh}B_p D[qUc* m  G   T h   \2KVtO&66SOOOO.OIOOOnOOOROOOO"7}on77}7777kkVk>]r AV<^#Fn 4 O q w      )/=Z`n$2Py#;J;A 4:\  @d (+&D\~Ro/ ?UU`<`f`hy   " . ; ? G =O kW _ g o #w Q                              !! !!!!!!!%!)!-!2!6!:!>!B!G!K!O!S!W!\!`!d!h!l!q!u!y!}!!!!!!!!!!!!!!!%NIO#Q ~}sgi""8Tr3in!5###GAGGGGmGGIGluu*uPutu uousuuu6uuuuuuC\)   F f    G d      a Qa `a a a ba  a  ;   A 66     ! .; "z  `  A 9 Z 0 3    3 z  9 k F. . c Zc c c c q 4 u  R  p  `  I `   Q   Q    \ % 9     B    , y     +   ! IyIIII,IbI66Yeq&   {  t  Q  # ) PPF^㋇ tbP uS^㍇F^FhFPj7PhFPP7PvȚPh FjjFPF ughFP*PJ P^SvRPjhwm^ShF t"hFPj*PPv F^FhFPj7PhFPP7PvȚP,PjjFPPFP^SvRPjhamF=u ~u vʚ F P^SvRPjham&S6&\F t?hFPj7PhFPP7PvȚPv PP\PFP Pj+ jjFPF uFv4)hRPjPj[FPPFȢ jPFPF uF) v* 4)hRPj* Pj[FPPFȢ)  j+    @ & P^SRPFPFF^㋇ t[PvK^㍇F^FhFPj7PhFPP7PvȚPF똃~t FP4PF&HN;sjQFPP P^SvRPjhrm&S6&\P PFPF\P P&S6&FP\FuF~u P66FPFPFFrSFΉF^FF؉FŒ^FhFPj 7PhFPP7PvȚPFԉF^F~uh~uhhFPj7PhFPP7PvȚPvvvvԠ PF th ~uF~uF̺  &SPvΚF uFΉF^FF܉FŒ^FhFPj 7PhFPP3 7PvȚPF̉F^FhFPj7PhFPP7PvȚPPRPP PF tj  PP\PFtO$PFPF t FPLPjjFPP P^SvRPjhwm&S6&\P FP&SFPF=L t(~t FP&Svj<P뻚DP PP\P FPF t FP sJ PP \ ~tRv6 FPiF s J PF s 6 Fv \ Fs PP\F uEjjFPF u0FP^SvRPjhmmF u vF6 6 F6 6 _F6 ~F PF6 6 6 6 JF^&F&G&F^&G^S^GP^&F&G&F^&G^S"^GP"^&&WFV&G&W&&WFV^&G&WFFu,6vF+^&NH&&vNF^&NNF+;r^&GF&G v wn~ r `~ u^&G;FtQ I~uF^Sv FP'F u+F^~ uFF^FN^.M*Mm^Svv v ^&wvv&w ~^Svv v ^Sj^Svv v ^Shvvd^Svv ^&wvv&wg^Svv ^&wvv&w|g^Svv v ^Svv^Svv v ^&wvv&w; ^Svv ^&wvv&wg^Svv ^&wvv&w,D^Svv ^&wvv&w!^Svv v ^Shvv FF^ &GF&G v wn^ &G^~ r u^.j^ &sIB^ &Gr6 w1^/^ &^ &^ & t ^ &u ^s Fs ~t ~t ^~u ^SvF sFF^&GF%FNNVVVV N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ G~u ^Sv ~t ~t ^~u ^SvF sFF^&GF#F N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ G~u ^Sv ~t ~t ^~u ^S[F sFF^&GF%FNNVVVV N tVF3F^ GF^&3^ ~u ^S[ ~t ~~t s^~u ^S"F sFF^&GF#F N tVF3F^ GF^&3^ ~u ^S" ~t ~ t ^ ~u ^SvF sFF^&GF#F N tVF3F^ GF^&3^ F^&3G^ GF^&3G^ GF^&3G^ G~u ^Sv~uF^ &G;Fu(~u^ &G;FrF~u^ &G;Fs $F^ &GsFF^ &G+FF&Gs FsF^FNFFFFF t)HF^&FN rF2F^vFЊF r rERPj FPF u&F t&?TCuw  F ^v0N תFFFF~tN^vF0FF^ ~t ^ &G;Fu~u FNANsNs F^F^ &GsFFvN^&F$FNN tO ^&^&G6^&F t ^&N  F^&G^& r ^& 0^&F t ^&N  F^&G^&Ut@] _F tˠs>rsrr  w8 s%6ss 6 FF tˠss%6ss 6 FF tFr F˃~u6. FP F6. )F t˃~u60 FP F60 )F tF H;Fr@~uv &0FP Fߋv &0)F tFuF F ظ& &G r * tSPF uu#>\ uQ  & &GS PF u}PGP&PG]P&G\PhmmF uA&FsF.sFF uFPRP'F t@ FV9Vu9Fs6 j POF Pj POF6 j POF Pj POF Pj POF6 j POF Pj POF Pj POF Pj POF Pj* POF Pj& POF uhF HN;r P(F upFuԸ. P(F uZ0 P(F uIFPRP'F u1F&FP& FV9Vu9FsFR  Pj" POFF HN;rj@j" POFFuԡ Pj POFF HN;r vj POFFuӡ Pj POF PH: #: &< s&#): 9: v: >: uR  & &G: < F HN;r!6: j PFFu6< j2 PF6< j6 PF  \ > kF uF &GQ  &:FFF&FҠsFҠ.sF> urF; u   vjj F tvjjF t˸ЉFVF HN;sb; rFNȱ v&vVX& &Fv& &FVvRP F tvFPF tvFPF tˋvF̋V* &&P6 v &S6: vvFP#F tt˃~uFˡ: FVFVv &&Pv~ & &Z&Q v& v&@ v& v&  v&Ft ; w ~uF HN;r* &<t<uvv) F tFuF v&8sFFFF HN;r$ &8vQv sFFFuыv &^FF&;: rP 6 FP؋F&PPF tFF܌Fދ&v@FF v&s FF FFv~ &^F ~&s &0^FF &vF &Z&P^S^SF^^،FF: I;vM+F&Vʃ;Flj^ԌFr&&t‹@FԌFP^SFF: 9FwH;Fv Frv &FF &Z&P: +Nv~^Y6: +v^FFv" &SFP|F tt˃~u: HN;wh: +Fvv+ &0~F~ufv؍~NF~u: FF: +FFFsF^&: +N+F+: Fʋvv &0~N^Yv &FFvv &vv & v& v&vF &^&?uvv) F t^&?uN v&8u&.v" &SFP|F tt˃~uˋvv &FF v&8u&^Ƈ> .^S^Ss  v&F v&vF &Z&Pv& & v&vv &vv &F6 vF tF HN;r5 &8u$> s&^Ƈ>  v&FFuF~uFFw,؊hsĿWFP|F tFűF 1F1F N   щd f jhF   v&s FF FFvF &8th~ & &QNV6 v &S6: RQ" &Sv &0|F t : FVFVv* &9Pu&9v  &&P3 v&8u& v & &; r v&v & &FVvRP F uvvFPF ubvFV &&PvFPF u6vFV* &&P v&vv &v &FFv &FFP^SsUF ;FtF N;v+F+F ] ^&^&G s p^GFFF F^&HN;ra^PjFP'F t ^&F&FF^&^&;v ^&dFF Fu^&sH J F N N ^SF P^ S^SF uFB D  ^&^&G r ^&46F FPFB ONFFB &HN;s^VF&V^PjFP'F t^&eF^&G^&;v ^&^ vP^&wSPP4 6F +v+v^PFPF t^&G^& PFFFt^SFPF uFFNNP^SgF t5F!FFF;FsFFFFFT ~tT X V FFV uFVusGV FVP &FV P &@FP &@FV뛋FVP &FP &@FP &@FFs:F^SFPF u2FFP^SgF uFFn^>T uFT HN;v(P &@FP &@F͡V t'FV P &@FP &@$FP &@FP &@X F tˠZ sxT FF tTHFP &NF&@sFFP &@F^Sv+F tP ST P+FT X V F ЉFVFFF;T suP &@s FVFP &@FVFP &Pr V t&9PvFP &@FF낋F Fu FFFF t؋FV&&WF t؋F&FFPFP'F uF;Vu;Fv~uFFVNFVurFFFF;FsFFFsFFF;T sSP &@s FFFP &@FVFVNFF뤋FN;vBVrDVV~+ʋ֚YNFV u FFFV)F6FF sFFF;T s!P &P;V s &@rF֋F;T u[F s P &G;F sFN X P &^&GT H;Fu V +X X ^&_FP &^&GT HV;uV P &+@FP &@^&~u ^X &)~ t%FP &@FP F &)@F @Pv ^SOF u ^&s&F>\ uX6 F t˸PGP&PG]P&G\Phwmh PhF t&FsF.sFFHN;r?&^FF&FQSPFPZF tFu\ PPjFPZF t˸P^ PF tˡ^ ` %^ ` jRPF t˸P6` 6^ Fjğ2 ^F6b FFNvr ;6< svFYFb < +b v~^Y< d f FVv RPF u;v jĿ2 W6< 6f 6d ĿWj. |F u]jƇhjFVd f < +b F^FF jhs&ĿWFP|F uGjƇhj< +b N+Ŀ2 vFY< +b N+ȉb  vPjPF u}b uFsFfFd f FVvRPF uvjĿ2 Wv6f 6d ĿWj. |F uhjƇhjFVd f hs&ĿWFP|F u$jƇhb v6f 6d FFV; u; w&  FFw2؊hs#ĿWFP|F uQ^ƇhFuv 6 6 F u-F ;u    WFF ظ& &G s  &IF P^GP^&PG]P^&G\PhmmF tC=u;^GP^&PG]P^&G\P&&F t6jPjF uP^GjP^&GiPP^&PhmmF tF=u^GjP^&GiPP^&P&&F t6jPjF u^&& ujj^ S^&&eF uRPRP'F t  &I PPPOF^&#;t@F u?PRPF u*\ ^ ` jb hid f   &H F &G &F0F^6&^6v2NFYF*F^6&G\^6]v,NFYF$F^6&Gi^6jv&NFYFF^6&^6v NFYFV^6&&F^6&FV^6&&F^6&^6S^S^ S^S4F ظ& &G r (&^&;tJ &^&;s P  &&.^&F@%^&"jjPOF t@;tA"F>u%&.^&F@%^&"6"hPOF t@"FFr&Z&Wv>^YFs8F.s v8**,Fv8v NFYFFF^&8vFY]S6F tK  &N &O2F t &I F &G q &$^&^&G r ^&> uL ^&^&G &^&&FsF.sFF HN;r% &8uQ6 ) F tFuF v&8sFFFF HN;r$ &8vQv sFFFuыv &FFFF&^&FsF.sF&^v0~ ^YF&F^&^0~^Y^&v^FF v&s FF FFv~ &^F ~&s &0^FF &vF &Z&P^&FS^SF^^FF: I;vG+F&Vʃ;Fr&&t‹@FFP^SFF: 9FwH;Fv Frv &FF &Z&P: +Nv~^Y6: +v^FFv" &SFP|F tt3~u*: HN;wy: +Fvv+ &0~F~ufv~NFFuF: +FFFF: +FFFFsFF: +N+F+: Fދvv &0~N^Yvv &vv & v& v&vF &~u  v&M ^&N^&OhFNINFNF+ȃr u ~tF@FF9FrqHFv^&FFv^&S^St!v^&F&@Z&PNY‹vF^&@Z&PF뇂~u|FȈFJ‰NBF=NFN^&NFVVF^&S^StKv~^&F&Z&QvF^&Z&Pv^&FFY^Sv^&Stfv~^&F&Z&QvF^&Z&Pv^&FFv^&S^SYtKv~^&F&Z&QvF^&Z&Pv^&FFYv^&FFNF;v^&F&Z&PvF^&Z&PNYv^&S^StNދv^&FFF^Sv^&SubۋF+FVN+;sFJ‹FBFFFFB‹FBFFF dLTTX\d46d8:0<>@@B>FF~v^㍇0P^Ŀ<WvRPjhmmF=u#~ s˸8<>H@BF멋F t=t˃~t5FV^Ŀ<WvWQjRPF tˋ^0j^㍇DPjF tˋ^0^Ŀ4WhjjFP#F tFtv FPF u'v~^Y^ デ\^v FPF u(v~^ デ\^^ Ƈd~u~r%^ FV\^v FPF FFw0F tFuݸ^ ㋇\^FVLNN~;u;w9Vu9Tv^ ds50^ Ŀ4WhvvFP$F uI^ Ƈd^ FV9Fu9Dw?%FV^ 0RP F un^ FVDFFV%FV^ ㉇LN׉TVv 0ķ4VQvvFP#F u7^ ć4FFNV+LNN؋^&Z&W*P^SvFPZF u$ sJ P^SvFPZFFȢF N;w+ȉNF +FF+ȉNNF+F FF##N ;vF F##N ;sn F<1F)FF1F)FFFt3FF^FNN^FNN^FhꀍFPjE~t'FF^FNN^Fh뀍FPj FF^Fh쀍FPj^PhFPF u^PvFFȎFF^Fh퀍FPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFȎFF^FhFPjrPhFPF urPvFU^&G tP^& tP]hRPj*PFFP5F*Pj tF~uˀ~u˚4FȐvjFPF tqR4 PFPFPF uFMFF^FhFPjqPhFPPqPvPv \Ȕ~uv \F F^FFFFFFFPj PP6flPhFPjFPlPvlFFNrPjFPjOF tFFNz[u.zȰ]u+JVuF FF@Fvzu+JVuF FF@FFHFtv FȾz<~uEv&Pv(t=t P \ ]U~u]^ SN \sP^ &rmt@^ &G 2H%FFF Fu FVFVFV;Vu;Fs0^ &G FV^ &G&W^ GFFPvvF usFV;u;u*^SFPF u֋FV^ &G&W^ SRPjFP\FuK^S66F ut^SFPF u^FV;Vu;FuFFF t=u6^ &G FV^ &G&W^SvvF u F^ &G FFs LF=rt :FFwJ Z:sz*ʈJ FuF =rmt=wmt =amtM^GFFP^Sv^Svv ^SvF u^&G :G)t:\)t:)tF ^&rsF ^&G^&G^&G^&G^&G ^&G^&G F~ amu,^SFPF uFV;u;tFFr ~ rmtFF^SvvF u^&t &G"& G tF"^&^F&G& u&2u&G<r&8G1u&amtF ^&G F&G ^&G^&G ^&G^&G-^&G ^&G^&G^S^&;G/tF ~u~t~ amu^Sj\F ur~ rmu6^&G 2H%FF^Sj)F u?FFFV^&G&W^SvvF u ^&G^SrFF^SN \s~&] ~&] Y]U^ &G 33&E)G):t :.X*t$CH)^Y tt &^&] ]U^&G :X*w):.*uJ+&G t&G uF&G &G 3  ]U^&G T+uR+P u>T+tR+&GV+X+>X+u]ð]UQQ`+P`+t+n+P uJF6`+Pt u8v+=u0Z+P u!F6`+Pt ub+=t=!t3]^ &G :*uSvv^ &G :q)tWSvvn\)^ &G ^ SvvFNs=u8^ SFP~u#q)^ &G ^ &dt@FsG)률q)^ &G F,^ &G :X*r^ &G :G)tw&G 9Fu9Fu^ &G&WFV^ &G&W;Vu;Fw3&G^ &O^ &O^ &O&W;Vu;Ns+^ &r &G&;Gwe^ &G &W"N~;u;wL&wщFVN;u;s&+O &"N։~؋F^ &G-sSF u^ &G-sG<PFP|F^ &G-FVFVF%Ff^ &G^ &G^ &GNV^ &O &W"^ SPFPFPF u4F^ &G^ &G :\)t :*t^ SjF t^ &G&G &W"FV&9Wu&9Gw&G&W9Fu9Fu^ &G&WFV^ &G&9G*s&G*^ &FF^ &G@1&@FތFF^ FV&9W"u&9G v&G*H1Fܺ&G &W"N~;u;r_F&+O &"N։~؋F։F&O,r&9G*sSlF tF^ &G^ &G*&;G(uF&G(F^ &G* ^ F&9G*s&G*^ F&9G(v&G(Fr^ Sj$F u^ SlF uy^ &G ts&w8&SP^ &w"&w G<P^ &w: |F t@^ &G-^ &G &W"&G4&W6^ &G&G.^ &F&G0Z&W2~Yt^ &G@1&W^ &w&@F&Z&W^ &GN^ &O^ &OF~+&G &"^ &G&G(^ &G&G*^ &G,^ &Yti&w8&Sh^ &w"&w FP#Fu^ &?^ &G,(~t^ &G&GF^ &G :)t ^&FF^&G &W"&O*&;Wu&;GrI1&G^&G*1 uSj$F u`^&G@1&@FF^&G*1&G &W"FV&w8^SQRPFP#FtK uX^&G*1V+^0^~&}*9^Y^&G*H13^SjF u/v&|*&L+^9 ^&G*&G^&G,^ &G :*uS^SzO^ &G :q)t S^S<6^ &duG)\)^ &G ^ S^SFq)^ &G FU^&G :X*r^&G :\)t:*u^&G&G &W"^&&Wc^&G :G)uX&r&G&;Gv &G&W^&G&G &W"^&&W^&G s7&G s/^&/&_!^&G :)u^&&G ]^&^ &&W^&G :G)t ^SF uk^&G;s]@1V&G&G &"F~&w8&XSv^&pWPG<P^&w:|F t@^&G-F^&GFrF@1V^&G&G &W"FV&G-sG<PFP|F^&G-3^&w8v&XSv^&pvvFP#FNVF׉NV~u t%^&9Wu&9Or&O&WFF t ^&Gv^&@F&Z&W^&GFV^&G &W"^&G&W;Vu;FYvF&GF^&G8^&G^&G&W&+G &W"FVF&G^&uFF^&G :q)t SvW6^&duG)\)^&G ^SvWFq)^&G F^&G :\)t:*t :q)t^&G&G &W"FV&9Wu&9Gw&G&W^&G&9G*s&G*FP&t@"FP$F u^&uSlF t^&w8&S^&w&w"&w G<P^&w: |F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2^Sv$F Yu,^&w8jGPj ^&G :G)u ^&G :\)t@&& tA"F&G :q)uC&duG) ^&du\)&G ^&G-sS&G :G)u0G<PFP|1^&G :\)t:G)t:*t ^G<PFP|FF^&w:FP  u ~u~uߊFs^&w8jGPj FF^&w8 F^&w:)F^&G F u F uFF :r10^&Fr^&0FFF 10^v&F@ vvFPF^SvhF^&:F@F^Pvj]FF^&:F@F^Pvj6FF(FFF^SvRQPNQNQPF u$F t^ SNQvNQPjF~uVFF^SPvFP,F u2~t,^SPvFP,F u~tF;Fv4N+NA^v0^ ~9^YFF+F@^&^&<{t<[tF FF^&^&?{uFSPvFP,F uoF sdt_NAv~^YF@^&^v&48 ^& ^SPvFP,F u ~uFHN;v9@N+^vp^~&=9^YF@N+^&CFPF u^&O@wA^~&=9^Y^&G@^&^v&48^&v&4^P^&wg&we^&^v&48^&"^vFF^&F^&G^vNFY^&Gw^ &Gj^&GyF^&^vNFYFPF uQ^&G@^&^&O@wA^^Y^&Ƈ^&Ƈ^PF uN^ GkP^ &PFPFPjF u#FPvhjj^ShPj Ⱦ^&G F =wmt =amt^SvFPFPjFF uݍFPvjjFPQ؍GPQF!t=u~^&Gi^GePF9FvF^kvN@YF^&^S^Sv^SFPF tF~u;^SvRPPRPF=u^v&xF^&Gi뾃~t<džCFEGv@CPEP}FF7^SFPvRQjv PvF u *^&G s ^&G8^&G8Fvj^ Sj7F t^&F^GkPP^&PFP,F uFt @^&F^& ^ &Ow~&=^ 9^NOY^ &G^&F t$@^wk~ ^Y^ vx ~ B^&G :*t \)^&G ^SFPFPPF u^SrF u}^&FFvN^S^SvmF tJ^G8P^SvRPjhmm F u"^&w8F t^&w8 FFU^&G :*t ~v F^&Gj]^ &dtZSFP^& uV^ &du&G-sG<P^S|^&^ Shwmvvd^& u\)^ &G ^&^ &Gd<tN<uSh^& uH^ SFP^& u/^ Shrmvvd^& uG)^ &G ^&U].+]UFV ;Vu;FrFV]8^SN \s^&rmt^&GF&9Gt@F&G&WFVFV^ &&WFɴF^GFFF~-tFsFV%FVFV+FVN~+N҉~^SvvWQFP|F u$vvvvvv^&w 2FVFF3F~ uvvvv^&w dFV ~tFFV+FV^&&WFV^&G&WFsF^&&W;Vu;Fr^SvvF u6^GPFV^&+&WRPjj!PFPFPF uwFPvv^SvsvF޹;s +Ⱥ)NVFރFV^SvvF uC^GPFPjFPF u#FPvvFPj|s FVFVFVNs.^&O 2IN̿+RPv t^SvvF u^&G F&G ^SNQPFP\FF^&G F=t tuFVFV^SRPF u^SFPjFPF uŠFsF;FtF FںN~׉FVN~FV;Vu;Fs4^SRPF u^SFPF uFV뼋FVFV^SRPF uFV+FV^&&WFV^&G&W^&G N V F~׉NVNs:N2IN+WPvFN+ȺNVNVFVFs4F2H%FN ~ +WQvFN+ȉNFFF V U~sFn~t2^F V &9Wu&9u^&&WF V FNȰ]5  ^&^SP$F t^&G t~&w8&SP^&w"&w G<P^&w: |F t@^&G-^&G &W"&G4&W6^&G&G.^&F&G0Z&W2~Yt^&GFu^&G@1V&G&G &W"F^&Gv^&@F&Z&Wv^&@&G^&G*^&G(^&G^&G, ^&G :\)t :*t F^&G-rG<PFP|F^&G-^&G0FF^F&G4&W6Ft.H^&O.+N^v0^9^Y^&O.N^F&)G.^v^&G0Z&W2F^&.uF tuSvF tF^&G0FF^&w8^S^&w.&w6&w4FP$FFt.H^&O.+N^v0^9^Y^&O.N^F&G4&W6^F&)G.^v^&G0Z&W2F t ^&.u%FsFr^ShF u^&G :\)t :*t ^&G&WFV&O&O &"N~;u;wN~Fs FF%+u!+FPF u ~ r++ +ujj+P/F t^&GF+&8G wF+X ^Fv&DF&GF&GF&GF^&GF&GF&GF&GF&G F&8G uANsNQPPF t FF^&#tF ;Fv F&O#F ;Fw FrF9F w~^ &FF^&O&@^&G^&w6 FA:r jF~uv&<tF~to~tEv&<u<^&?F^ &^SPvFP,F uFt^ &FFF~NuV~u ^&P ~u^&7,P^ S~u8^&w&7,P^ S,F^~Hu2Ft tuS^Sv,P^ S,F^~Du_~uFPF~u^&&WFV, PRPvvv,Pj ^ SDF,F^^S^ &7^Svv^SFUn,Pj,t'~tv &*, v &*,&4v &^&~tv &?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~[scr]<$>rgLfa1[scr]<$>rgLfa2Error %0N on file %1S.SortMergeMsg.Bin[Sys] ktt[scr]<$>BsFilter.tmpVNVF[KBD][VID][]}[!Scr]]$$.Tmp}[!Scr][!Scr]p        ~{}MASTERSERVERLOCAL{}[]{}[]<>[sys]LptConfig.Sys&Error 2624: msg= %0N maxlen= %1N^YesNo`abcdefghijklmnopqrstuvwxyz{|}~`abcdefghijklmnopqrstuvwxyPress NEXT PAGE or SCROLL UP to continue`t(Press NEXT PAGE to continuet!a?!*a**2Q=\zCKACTION BACK SPACEBOUNDCANCELCODECOPYDELETEFINISHGOHELPLOCKMARKMOVENEXT NEXT PAGE OVER TYPE PREV PAGERETURN SCROLL DOWN SCROLL UPSHIFTTAB#+17?GKQW]citTD aAdDhHmMnNoOsStTwWyYgG!oo!/!0d!/!0y! !hh!:!0m!!2AA!!*o!/!0d!/!0y! !*h!:!0m!!2*A!"!Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!"!Nnn! !*d!, !yyyy! !*h!:!0m! !2*A!(!Www! !Nnn! !dd!, !yyyy! !hh!:!0m! !2AA!(!Www! !Nnn! !*d!, !yyyy! !*h!:!0m! !2*A! !0t!:!0m! !*t!:!0m!!hh!:!0m! !2AA!!*h!:!0m! !2*A!!0o!/!0d!/!0y!!*o!/!*d!/!0y!!0h!:!0m!:!0s!!0t!:!0m!:!0s!.tmp!W*w! !N*n! !*d!, !*y!!N*n! !*d!, !*y!"!0o!/!0d!/!0y!-!0h!:!0m!:!0s!!2*A!!Nnn! !*d!, !yyyy!Invalid Template Index$Cb %6FVfzTN00sundaymondaytuesday wednesdaythursdayfridaysaturdayjanuaryfebruarymarchaprilmayjunejulyaugust septemberoctobernovemberdecemberampmnoonmidnight05 invalid namesunmontuewedthufrisatjanfebmaraprmayjunjulaugsepoctnovdecampmnm05 %0:BLU_fmrx~ #(-27;?BEI{R12.3.0e7 [Kbd]T[Vid] [Lpt][Nul]\[Debug]4[SysIn][SysOut]>!#,>%|)*]7Lu8daT]yD]yB.\B\B.\\Z\]y Oy4]y ]y {y2,;,l4L [KBD][VID]>l+t>+t      LIBRARY: ctos.lib VERSION: R12.3.1 (friday november 12, 1993, 17:19) LIBRARY: ctostoolkit.lib VERSION: R12.3.1 (friday november 12, 1993, 17:21) LIBRARY: enls.lib VERSION: R12.3.1 (friday november 12, 1993, 17:22) LIBRARY: sortmerge.lib VERSION: R12.3.0 (monday november 15, 1993, 16:40) COPYRIGHT (C) 1980, 1993 CONVERGENT TECHNOLOGIES, INC. ALL RIGHTS RESERVED. COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED. THIS SOFTWARE IS PROPRIETARY TO CONVERGENT TECHNOLOGIES, INC. AND UNISYS CORPORATION AND IS NOT TO BE REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS CORPORATION. THIS PROGRAM IS FURNISHED UNDER A LICENSE RESTRICTING ITS USE SOLELY FOR THE OPERATION OF A DESIGNATED COMPUTER FOR A PARTICULAR PURPOSE. TITLE TO AND OWNERSHIP OF THE PROGRAM, INCLUDING ITS SOURCE CODE, SHALL AT ALL TIMES REMAIN IN THE NAMES OF UNISYS CORPORATION AND CONVERGENT TECHNOLOGIES, INCORPORATED. VERSION: R12.3.0 (monday november 15, 1993, 16:40)mJHTH PI eJ vK L M N O P Q R % S 2 D P _ o (       ) 9 L Zjz5*"1C%W|/%5=QJM%,7c~<     #* 2 ;GCannot open work fileWork area invalidInvalid key sizeFile error during sortNo more recordsError returning recordError during concludeMore records availableRecord too largeError during sortInsufficient memory in Sort Work AreaNo records to sortSort pendingNo sort pendingInvalid sort keySort key not in recordInvalid key specification, size conflictInvalid key specificationNonnumeric key lengthRecord too largeMalformed recordInvalid key specificationNonnumeric key lengthRecord too largeInsufficient memorySequence breakMalformed recordError %0N - %1S see the Status Codes ManualElapsed Time: %0N Hour(s) %1N Minutes %2N Seconds Elapsed Time: %0N Minute(s) %1N Seconds Elapsed Time: %0N Second(s) %0N merge passes %0N bytes read %0N records read %0N sequence breaks Press %K9 to continue, %K4 to abort Sort Version %0S SortWorkFile1.datSortWorkFile2.datUnsortable record in input file %0N at Lfa %1N Record is %0N bytes long Parameter %0N is neither Yes nor No. Malformed input record in input file %0N at Lfa %1N %0N bytes skipped before a properly formed record was found. %0N bytes skipped. No properly formed records found. Search can continue. %0N bytes skipped. No properly formed records exist in the rest of the file. Merge Version %0S Sequence break in input file %0N at Lfa %1N Bad Key Specification: %0S :.ADWM101Warning: superfluous file(s) in parameter line %0N ignored. File %0S: Parameter required on line %0N. BINARYBYTECHARACTERDECIMALLONGREALSHORTREALEVENDECIMALINTEGERLONGIEEESHORTIEEEEXTENDEDIEEEDISPLAY8 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm8 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm9 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm9 mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm: mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm: mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm; mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm; mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm< mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm< mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm= mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm= mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm> mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm> mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm? mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm? mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm@ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmA mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmA mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmB mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmB mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmC mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmC mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmD mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmD mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmE mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmE mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmF mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmF mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmG mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmG mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmH mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmH mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmI mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmI mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmJ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmJ mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmK mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmK mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmL mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmL mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmM mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmM mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmN mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmN mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmO mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmO mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm