- RORBIN ;HCIOFO/SG - BINARY OPERATIONS ; 1/23/06 1:54pm
- ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
- ;
- Q
- ;
- ;***** BINARY "AND" OPERATION
- ;
- ; V1 Operands formatted as strings of "1" and "0"
- ; V2
- ;
- AND(V1,V2) ;
- N I,L1,L2,N,RES
- S L1=$L(V1),L2=$L(V2),RES=""
- I L1<L2 S N=L1,V2=$E(V2,L2-L1+1,L2)
- E S N=L2,V1=$E(V1,L1-L2+1,L1)
- F I=1:1:N S RES=RES_$S($E(V1,I)&$E(V2,I):"1",1:"0")
- Q RES
- ;
- ;***** FAST CONVERSIONS FROM HEXADECIMAL TO BINARY
- ;
- ; VAL Hexadecimal value
- ;
- C16TO2(VAL) ;
- N I,J,L,RES
- S L=$L(VAL),RES=""
- F I=1:1:L D
- . S J=$F("0123456789ABCDEF",$E(VAL,I))-1
- . S RES=RES_$P("0000^0001^0010^0011^0100^0101^0110^0111^1000^1001^1010^1011^1100^1101^1110^1111","^",J)
- Q RES
- ;
- ;***** CALCULATES CRC-32 FOR PROVIDED DATA
- ;
- ; ROR8NODE Closed root of an array that contains the data
- ;
- CRC32(ROR8NODE) ;
- N TMPCRC S TMPCRC=$$C16TO2("FFFFFFFF")
- F S ROR8NODE=$Q(@ROR8NODE) Q:ROR8NODE="" D
- . S TMPCRC=$$UPDCRC32(TMPCRC,@ROR8NODE)
- S TMPCRC=$$BASE^XLFUTL($$NOT(TMPCRC),2,16)
- Q $TR($J(TMPCRC,8)," ","0")
- ;
- ;***** BINARY "NOT" OPERATION
- ;
- ; V1 Operand formatted as string of "1" and "0"
- ;
- NOT(VAL) ;
- Q $TR(VAL,"01","10")
- ;
- ;***** BINARY "OR" OPERATION
- ;
- ; V1 Operands formatted as strings of "1" and "0"
- ; V2
- ;
- OR(V1,V2) ;
- N I,L1,L2,N,RES,TMP
- S L1=$L(V1),L2=$L(V2)
- I L1<L2 S N=L1,RES=$E(V2,1,L2-L1),V2=$E(V2,L2-L1+1,L2)
- E S N=L2,RES=$E(V1,1,L1-L2),V1=$E(V1,L1-L2+1,L1)
- F I=1:1:N S RES=RES_$S($E(V1,I)!$E(V2,I):"1",1:"0")
- Q RES
- ;
- ;***** RIGHT SHIFT (SIGNED OF UNSIGNED)
- ;
- ; V1 Operands formatted as strings of "1" and "0"
- ; V2
- ;
- ; N Number of bits to shift by
- ;
- ; SIGN If this parameter defined and greater than 0, then
- ; "signed" shift is performed (sign bit is propagated).
- ; Parameter value defines the maximum number of bits
- ; allowed for the values.
- ;
- ; By default ($G(SIGN)'>0), "unsigned" shift is
- ; performed.
- ;
- SHR(VAL,N,SIGN) ;
- N FILL,L,RES,SIZE
- S L=$L(VAL)
- Q:$G(SIGN)'>0 $S(N<L:$E(VAL,1,L-N),1:"0")
- S SIZE=+SIGN
- ;---
- S:L>SIZE VAL=$E(VAL,L-SIZE+1,L),L=SIZE
- S SIGN=$S(L<SIZE:0,1:$E(VAL,1))
- S:N>SIZE N=SIZE
- S:SIGN $P(FILL,"1",N+1)=""
- Q $E($G(FILL)_$S(N<L:$E(VAL,1,L-N),1:"0"),1,SIZE)
- ;
- ;***** INTERNAL ENTRY POINT FOR CRC-32 CALCULATION
- UPDCRC32(CRC32,STR) ;
- N FFFFFF,I,I32,L
- S L=$L(STR),FFFFFF=$$C16TO2("FFFFFF")
- F I=1:1:L D
- . S I32=$$XOR(CRC32,$$CNV^XLFUTL($A(STR,I),2))
- . S I32=$$DEC^XLFUTL(I32,2)#256+1
- . S TMP=$$C16TO2($P($T(TBL+I32),";;",2))
- . S CRC32=$$XOR($$AND($$SHR(CRC32,8,32),FFFFFF),TMP)
- Q CRC32
- ;
- ;***** BINARY "EXCLUSIVE OR" OPERATION
- ;
- ; V1 Operands formatted as strings of "1" and "0"
- ; V2
- ;
- XOR(V1,V2) ;
- N I,L1,L2,N,RES,TMP
- S L1=$L(V1),L2=$L(V2)
- I L1<L2 S N=L1,RES=$E(V2,1,L2-L1),V2=$E(V2,L2-L1+1,L2)
- E S N=L2,RES=$E(V1,1,L1-L2),V1=$E(V1,L1-L2+1,L1)
- F I=1:1:N S RES=RES_$S($E(V1,I)+$E(V2,I)=1:"1",1:"0")
- Q RES
- ;
- ;***** TABLE FOR CRC-32 CALCULATION
- TBL ;
- ;;00000000
- ;;77073096
- ;;EE0E612C
- ;;990951BA
- ;;076DC419
- ;;706AF48F
- ;;E963A535
- ;;9E6495A3
- ;;0EDB8832
- ;;79DCB8A4
- ;;E0D5E91E
- ;;97D2D988
- ;;09B64C2B
- ;;7EB17CBD
- ;;E7B82D07
- ;;90BF1D91
- ;;1DB71064
- ;;6AB020F2
- ;;F3B97148
- ;;84BE41DE
- ;;1ADAD47D
- ;;6DDDE4EB
- ;;F4D4B551
- ;;83D385C7
- ;;136C9856
- ;;646BA8C0
- ;;FD62F97A
- ;;8A65C9EC
- ;;14015C4F
- ;;63066CD9
- ;;FA0F3D63
- ;;8D080DF5
- ;;3B6E20C8
- ;;4C69105E
- ;;D56041E4
- ;;A2677172
- ;;3C03E4D1
- ;;4B04D447
- ;;D20D85FD
- ;;A50AB56B
- ;;35B5A8FA
- ;;42B2986C
- ;;DBBBC9D6
- ;;ACBCF940
- ;;32D86CE3
- ;;45DF5C75
- ;;DCD60DCF
- ;;ABD13D59
- ;;26D930AC
- ;;51DE003A
- ;;C8D75180
- ;;BFD06116
- ;;21B4F4B5
- ;;56B3C423
- ;;CFBA9599
- ;;B8BDA50F
- ;;2802B89E
- ;;5F058808
- ;;C60CD9B2
- ;;B10BE924
- ;;2F6F7C87
- ;;58684C11
- ;;C1611DAB
- ;;B6662D3D
- ;;76DC4190
- ;;01DB7106
- ;;98D220BC
- ;;EFD5102A
- ;;71B18589
- ;;06B6B51F
- ;;9FBFE4A5
- ;;E8B8D433
- ;;7807C9A2
- ;;0F00F934
- ;;9609A88E
- ;;E10E9818
- ;;7F6A0DBB
- ;;086D3D2D
- ;;91646C97
- ;;E6635C01
- ;;6B6B51F4
- ;;1C6C6162
- ;;856530D8
- ;;F262004E
- ;;6C0695ED
- ;;1B01A57B
- ;;8208F4C1
- ;;F50FC457
- ;;65B0D9C6
- ;;12B7E950
- ;;8BBEB8EA
- ;;FCB9887C
- ;;62DD1DDF
- ;;15DA2D49
- ;;8CD37CF3
- ;;FBD44C65
- ;;4DB26158
- ;;3AB551CE
- ;;A3BC0074
- ;;D4BB30E2
- ;;4ADFA541
- ;;3DD895D7
- ;;A4D1C46D
- ;;D3D6F4FB
- ;;4369E96A
- ;;346ED9FC
- ;;AD678846
- ;;DA60B8D0
- ;;44042D73
- ;;33031DE5
- ;;AA0A4C5F
- ;;DD0D7CC9
- ;;5005713C
- ;;270241AA
- ;;BE0B1010
- ;;C90C2086
- ;;5768B525
- ;;206F85B3
- ;;B966D409
- ;;CE61E49F
- ;;5EDEF90E
- ;;29D9C998
- ;;B0D09822
- ;;C7D7A8B4
- ;;59B33D17
- ;;2EB40D81
- ;;B7BD5C3B
- ;;C0BA6CAD
- ;;EDB88320
- ;;9ABFB3B6
- ;;03B6E20C
- ;;74B1D29A
- ;;EAD54739
- ;;9DD277AF
- ;;04DB2615
- ;;73DC1683
- ;;E3630B12
- ;;94643B84
- ;;0D6D6A3E
- ;;7A6A5AA8
- ;;E40ECF0B
- ;;9309FF9D
- ;;0A00AE27
- ;;7D079EB1
- ;;F00F9344
- ;;8708A3D2
- ;;1E01F268
- ;;6906C2FE
- ;;F762575D
- ;;806567CB
- ;;196C3671
- ;;6E6B06E7
- ;;FED41B76
- ;;89D32BE0
- ;;10DA7A5A
- ;;67DD4ACC
- ;;F9B9DF6F
- ;;8EBEEFF9
- ;;17B7BE43
- ;;60B08ED5
- ;;D6D6A3E8
- ;;A1D1937E
- ;;38D8C2C4
- ;;4FDFF252
- ;;D1BB67F1
- ;;A6BC5767
- ;;3FB506DD
- ;;48B2364B
- ;;D80D2BDA
- ;;AF0A1B4C
- ;;36034AF6
- ;;41047A60
- ;;DF60EFC3
- ;;A867DF55
- ;;316E8EEF
- ;;4669BE79
- ;;CB61B38C
- ;;BC66831A
- ;;256FD2A0
- ;;5268E236
- ;;CC0C7795
- ;;BB0B4703
- ;;220216B9
- ;;5505262F
- ;;C5BA3BBE
- ;;B2BD0B28
- ;;2BB45A92
- ;;5CB36A04
- ;;C2D7FFA7
- ;;B5D0CF31
- ;;2CD99E8B
- ;;5BDEAE1D
- ;;9B64C2B0
- ;;EC63F226
- ;;756AA39C
- ;;026D930A
- ;;9C0906A9
- ;;EB0E363F
- ;;72076785
- ;;05005713
- ;;95BF4A82
- ;;E2B87A14
- ;;7BB12BAE
- ;;0CB61B38
- ;;92D28E9B
- ;;E5D5BE0D
- ;;7CDCEFB7
- ;;0BDBDF21
- ;;86D3D2D4
- ;;F1D4E242
- ;;68DDB3F8
- ;;1FDA836E
- ;;81BE16CD
- ;;F6B9265B
- ;;6FB077E1
- ;;18B74777
- ;;88085AE6
- ;;FF0F6A70
- ;;66063BCA
- ;;11010B5C
- ;;8F659EFF
- ;;F862AE69
- ;;616BFFD3
- ;;166CCF45
- ;;A00AE278
- ;;D70DD2EE
- ;;4E048354
- ;;3903B3C2
- ;;A7672661
- ;;D06016F7
- ;;4969474D
- ;;3E6E77DB
- ;;AED16A4A
- ;;D9D65ADC
- ;;40DF0B66
- ;;37D83BF0
- ;;A9BCAE53
- ;;DEBB9EC5
- ;;47B2CF7F
- ;;30B5FFE9
- ;;BDBDF21C
- ;;CABAC28A
- ;;53B39330
- ;;24B4A3A6
- ;;BAD03605
- ;;CDD70693
- ;;54DE5729
- ;;23D967BF
- ;;B3667A2E
- ;;C4614AB8
- ;;5D681B02
- ;;2A6F2B94
- ;;B40BBE37
- ;;C30C8EA1
- ;;5A05DF1B
- ;;2D02EF8D
- --- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HRORBIN 6499 printed Mar 13, 2025@20:46:01 Page 2
- RORBIN ;HCIOFO/SG - BINARY OPERATIONS ; 1/23/06 1:54pm
- +1 ;;1.5;CLINICAL CASE REGISTRIES;;Feb 17, 2006
- +2 ;
- +3 QUIT
- +4 ;
- +5 ;***** BINARY "AND" OPERATION
- +6 ;
- +7 ; V1 Operands formatted as strings of "1" and "0"
- +8 ; V2
- +9 ;
- AND(V1,V2) ;
- +1 NEW I,L1,L2,N,RES
- +2 SET L1=$LENGTH(V1)
- SET L2=$LENGTH(V2)
- SET RES=""
- +3 IF L1<L2
- SET N=L1
- SET V2=$EXTRACT(V2,L2-L1+1,L2)
- +4 IF '$TEST
- SET N=L2
- SET V1=$EXTRACT(V1,L1-L2+1,L1)
- +5 FOR I=1:1:N
- SET RES=RES_$SELECT($EXTRACT(V1,I)&$EXTRACT(V2,I):"1",1:"0")
- +6 QUIT RES
- +7 ;
- +8 ;***** FAST CONVERSIONS FROM HEXADECIMAL TO BINARY
- +9 ;
- +10 ; VAL Hexadecimal value
- +11 ;
- C16TO2(VAL) ;
- +1 NEW I,J,L,RES
- +2 SET L=$LENGTH(VAL)
- SET RES=""
- +3 FOR I=1:1:L
- Begin DoDot:1
- +4 SET J=$FIND("0123456789ABCDEF",$EXTRACT(VAL,I))-1
- +5 SET RES=RES_$PIECE("0000^0001^0010^0011^0100^0101^0110^0111^1000^1001^1010^1011^1100^1101^1110^1111","^",J)
- End DoDot:1
- +6 QUIT RES
- +7 ;
- +8 ;***** CALCULATES CRC-32 FOR PROVIDED DATA
- +9 ;
- +10 ; ROR8NODE Closed root of an array that contains the data
- +11 ;
- CRC32(ROR8NODE) ;
- +1 NEW TMPCRC
- SET TMPCRC=$$C16TO2("FFFFFFFF")
- +2 FOR
- SET ROR8NODE=$QUERY(@ROR8NODE)
- if ROR8NODE=""
- QUIT
- Begin DoDot:1
- +3 SET TMPCRC=$$UPDCRC32(TMPCRC,@ROR8NODE)
- End DoDot:1
- +4 SET TMPCRC=$$BASE^XLFUTL($$NOT(TMPCRC),2,16)
- +5 QUIT $TRANSLATE($JUSTIFY(TMPCRC,8)," ","0")
- +6 ;
- +7 ;***** BINARY "NOT" OPERATION
- +8 ;
- +9 ; V1 Operand formatted as string of "1" and "0"
- +10 ;
- NOT(VAL) ;
- +1 QUIT $TRANSLATE(VAL,"01","10")
- +2 ;
- +3 ;***** BINARY "OR" OPERATION
- +4 ;
- +5 ; V1 Operands formatted as strings of "1" and "0"
- +6 ; V2
- +7 ;
- OR(V1,V2) ;
- +1 NEW I,L1,L2,N,RES,TMP
- +2 SET L1=$LENGTH(V1)
- SET L2=$LENGTH(V2)
- +3 IF L1<L2
- SET N=L1
- SET RES=$EXTRACT(V2,1,L2-L1)
- SET V2=$EXTRACT(V2,L2-L1+1,L2)
- +4 IF '$TEST
- SET N=L2
- SET RES=$EXTRACT(V1,1,L1-L2)
- SET V1=$EXTRACT(V1,L1-L2+1,L1)
- +5 FOR I=1:1:N
- SET RES=RES_$SELECT($EXTRACT(V1,I)!$EXTRACT(V2,I):"1",1:"0")
- +6 QUIT RES
- +7 ;
- +8 ;***** RIGHT SHIFT (SIGNED OF UNSIGNED)
- +9 ;
- +10 ; V1 Operands formatted as strings of "1" and "0"
- +11 ; V2
- +12 ;
- +13 ; N Number of bits to shift by
- +14 ;
- +15 ; SIGN If this parameter defined and greater than 0, then
- +16 ; "signed" shift is performed (sign bit is propagated).
- +17 ; Parameter value defines the maximum number of bits
- +18 ; allowed for the values.
- +19 ;
- +20 ; By default ($G(SIGN)'>0), "unsigned" shift is
- +21 ; performed.
- +22 ;
- SHR(VAL,N,SIGN) ;
- +1 NEW FILL,L,RES,SIZE
- +2 SET L=$LENGTH(VAL)
- +3 if $GET(SIGN)'>0
- QUIT $SELECT(N<L:$EXTRACT(VAL,1,L-N),1:"0")
- +4 SET SIZE=+SIGN
- +5 ;---
- +6 if L>SIZE
- SET VAL=$EXTRACT(VAL,L-SIZE+1,L)
- SET L=SIZE
- +7 SET SIGN=$SELECT(L<SIZE:0,1:$EXTRACT(VAL,1))
- +8 if N>SIZE
- SET N=SIZE
- +9 if SIGN
- SET $PIECE(FILL,"1",N+1)=""
- +10 QUIT $EXTRACT($GET(FILL)_$SELECT(N<L:$EXTRACT(VAL,1,L-N),1:"0"),1,SIZE)
- +11 ;
- +12 ;***** INTERNAL ENTRY POINT FOR CRC-32 CALCULATION
- UPDCRC32(CRC32,STR) ;
- +1 NEW FFFFFF,I,I32,L
- +2 SET L=$LENGTH(STR)
- SET FFFFFF=$$C16TO2("FFFFFF")
- +3 FOR I=1:1:L
- Begin DoDot:1
- +4 SET I32=$$XOR(CRC32,$$CNV^XLFUTL($ASCII(STR,I),2))
- +5 SET I32=$$DEC^XLFUTL(I32,2)#256+1
- +6 SET TMP=$$C16TO2($PIECE($TEXT(TBL+I32),";;",2))
- +7 SET CRC32=$$XOR($$AND($$SHR(CRC32,8,32),FFFFFF),TMP)
- End DoDot:1
- +8 QUIT CRC32
- +9 ;
- +10 ;***** BINARY "EXCLUSIVE OR" OPERATION
- +11 ;
- +12 ; V1 Operands formatted as strings of "1" and "0"
- +13 ; V2
- +14 ;
- XOR(V1,V2) ;
- +1 NEW I,L1,L2,N,RES,TMP
- +2 SET L1=$LENGTH(V1)
- SET L2=$LENGTH(V2)
- +3 IF L1<L2
- SET N=L1
- SET RES=$EXTRACT(V2,1,L2-L1)
- SET V2=$EXTRACT(V2,L2-L1+1,L2)
- +4 IF '$TEST
- SET N=L2
- SET RES=$EXTRACT(V1,1,L1-L2)
- SET V1=$EXTRACT(V1,L1-L2+1,L1)
- +5 FOR I=1:1:N
- SET RES=RES_$SELECT($EXTRACT(V1,I)+$EXTRACT(V2,I)=1:"1",1:"0")
- +6 QUIT RES
- +7 ;
- +8 ;***** TABLE FOR CRC-32 CALCULATION
- TBL ;
- +1 ;;00000000
- +2 ;;77073096
- +3 ;;EE0E612C
- +4 ;;990951BA
- +5 ;;076DC419
- +6 ;;706AF48F
- +7 ;;E963A535
- +8 ;;9E6495A3
- +9 ;;0EDB8832
- +10 ;;79DCB8A4
- +11 ;;E0D5E91E
- +12 ;;97D2D988
- +13 ;;09B64C2B
- +14 ;;7EB17CBD
- +15 ;;E7B82D07
- +16 ;;90BF1D91
- +17 ;;1DB71064
- +18 ;;6AB020F2
- +19 ;;F3B97148
- +20 ;;84BE41DE
- +21 ;;1ADAD47D
- +22 ;;6DDDE4EB
- +23 ;;F4D4B551
- +24 ;;83D385C7
- +25 ;;136C9856
- +26 ;;646BA8C0
- +27 ;;FD62F97A
- +28 ;;8A65C9EC
- +29 ;;14015C4F
- +30 ;;63066CD9
- +31 ;;FA0F3D63
- +32 ;;8D080DF5
- +33 ;;3B6E20C8
- +34 ;;4C69105E
- +35 ;;D56041E4
- +36 ;;A2677172
- +37 ;;3C03E4D1
- +38 ;;4B04D447
- +39 ;;D20D85FD
- +40 ;;A50AB56B
- +41 ;;35B5A8FA
- +42 ;;42B2986C
- +43 ;;DBBBC9D6
- +44 ;;ACBCF940
- +45 ;;32D86CE3
- +46 ;;45DF5C75
- +47 ;;DCD60DCF
- +48 ;;ABD13D59
- +49 ;;26D930AC
- +50 ;;51DE003A
- +51 ;;C8D75180
- +52 ;;BFD06116
- +53 ;;21B4F4B5
- +54 ;;56B3C423
- +55 ;;CFBA9599
- +56 ;;B8BDA50F
- +57 ;;2802B89E
- +58 ;;5F058808
- +59 ;;C60CD9B2
- +60 ;;B10BE924
- +61 ;;2F6F7C87
- +62 ;;58684C11
- +63 ;;C1611DAB
- +64 ;;B6662D3D
- +65 ;;76DC4190
- +66 ;;01DB7106
- +67 ;;98D220BC
- +68 ;;EFD5102A
- +69 ;;71B18589
- +70 ;;06B6B51F
- +71 ;;9FBFE4A5
- +72 ;;E8B8D433
- +73 ;;7807C9A2
- +74 ;;0F00F934
- +75 ;;9609A88E
- +76 ;;E10E9818
- +77 ;;7F6A0DBB
- +78 ;;086D3D2D
- +79 ;;91646C97
- +80 ;;E6635C01
- +81 ;;6B6B51F4
- +82 ;;1C6C6162
- +83 ;;856530D8
- +84 ;;F262004E
- +85 ;;6C0695ED
- +86 ;;1B01A57B
- +87 ;;8208F4C1
- +88 ;;F50FC457
- +89 ;;65B0D9C6
- +90 ;;12B7E950
- +91 ;;8BBEB8EA
- +92 ;;FCB9887C
- +93 ;;62DD1DDF
- +94 ;;15DA2D49
- +95 ;;8CD37CF3
- +96 ;;FBD44C65
- +97 ;;4DB26158
- +98 ;;3AB551CE
- +99 ;;A3BC0074
- +100 ;;D4BB30E2
- +101 ;;4ADFA541
- +102 ;;3DD895D7
- +103 ;;A4D1C46D
- +104 ;;D3D6F4FB
- +105 ;;4369E96A
- +106 ;;346ED9FC
- +107 ;;AD678846
- +108 ;;DA60B8D0
- +109 ;;44042D73
- +110 ;;33031DE5
- +111 ;;AA0A4C5F
- +112 ;;DD0D7CC9
- +113 ;;5005713C
- +114 ;;270241AA
- +115 ;;BE0B1010
- +116 ;;C90C2086
- +117 ;;5768B525
- +118 ;;206F85B3
- +119 ;;B966D409
- +120 ;;CE61E49F
- +121 ;;5EDEF90E
- +122 ;;29D9C998
- +123 ;;B0D09822
- +124 ;;C7D7A8B4
- +125 ;;59B33D17
- +126 ;;2EB40D81
- +127 ;;B7BD5C3B
- +128 ;;C0BA6CAD
- +129 ;;EDB88320
- +130 ;;9ABFB3B6
- +131 ;;03B6E20C
- +132 ;;74B1D29A
- +133 ;;EAD54739
- +134 ;;9DD277AF
- +135 ;;04DB2615
- +136 ;;73DC1683
- +137 ;;E3630B12
- +138 ;;94643B84
- +139 ;;0D6D6A3E
- +140 ;;7A6A5AA8
- +141 ;;E40ECF0B
- +142 ;;9309FF9D
- +143 ;;0A00AE27
- +144 ;;7D079EB1
- +145 ;;F00F9344
- +146 ;;8708A3D2
- +147 ;;1E01F268
- +148 ;;6906C2FE
- +149 ;;F762575D
- +150 ;;806567CB
- +151 ;;196C3671
- +152 ;;6E6B06E7
- +153 ;;FED41B76
- +154 ;;89D32BE0
- +155 ;;10DA7A5A
- +156 ;;67DD4ACC
- +157 ;;F9B9DF6F
- +158 ;;8EBEEFF9
- +159 ;;17B7BE43
- +160 ;;60B08ED5
- +161 ;;D6D6A3E8
- +162 ;;A1D1937E
- +163 ;;38D8C2C4
- +164 ;;4FDFF252
- +165 ;;D1BB67F1
- +166 ;;A6BC5767
- +167 ;;3FB506DD
- +168 ;;48B2364B
- +169 ;;D80D2BDA
- +170 ;;AF0A1B4C
- +171 ;;36034AF6
- +172 ;;41047A60
- +173 ;;DF60EFC3
- +174 ;;A867DF55
- +175 ;;316E8EEF
- +176 ;;4669BE79
- +177 ;;CB61B38C
- +178 ;;BC66831A
- +179 ;;256FD2A0
- +180 ;;5268E236
- +181 ;;CC0C7795
- +182 ;;BB0B4703
- +183 ;;220216B9
- +184 ;;5505262F
- +185 ;;C5BA3BBE
- +186 ;;B2BD0B28
- +187 ;;2BB45A92
- +188 ;;5CB36A04
- +189 ;;C2D7FFA7
- +190 ;;B5D0CF31
- +191 ;;2CD99E8B
- +192 ;;5BDEAE1D
- +193 ;;9B64C2B0
- +194 ;;EC63F226
- +195 ;;756AA39C
- +196 ;;026D930A
- +197 ;;9C0906A9
- +198 ;;EB0E363F
- +199 ;;72076785
- +200 ;;05005713
- +201 ;;95BF4A82
- +202 ;;E2B87A14
- +203 ;;7BB12BAE
- +204 ;;0CB61B38
- +205 ;;92D28E9B
- +206 ;;E5D5BE0D
- +207 ;;7CDCEFB7
- +208 ;;0BDBDF21
- +209 ;;86D3D2D4
- +210 ;;F1D4E242
- +211 ;;68DDB3F8
- +212 ;;1FDA836E
- +213 ;;81BE16CD
- +214 ;;F6B9265B
- +215 ;;6FB077E1
- +216 ;;18B74777
- +217 ;;88085AE6
- +218 ;;FF0F6A70
- +219 ;;66063BCA
- +220 ;;11010B5C
- +221 ;;8F659EFF
- +222 ;;F862AE69
- +223 ;;616BFFD3
- +224 ;;166CCF45
- +225 ;;A00AE278
- +226 ;;D70DD2EE
- +227 ;;4E048354
- +228 ;;3903B3C2
- +229 ;;A7672661
- +230 ;;D06016F7
- +231 ;;4969474D
- +232 ;;3E6E77DB
- +233 ;;AED16A4A
- +234 ;;D9D65ADC
- +235 ;;40DF0B66
- +236 ;;37D83BF0
- +237 ;;A9BCAE53
- +238 ;;DEBB9EC5
- +239 ;;47B2CF7F
- +240 ;;30B5FFE9
- +241 ;;BDBDF21C
- +242 ;;CABAC28A
- +243 ;;53B39330
- +244 ;;24B4A3A6
- +245 ;;BAD03605
- +246 ;;CDD70693
- +247 ;;54DE5729
- +248 ;;23D967BF
- +249 ;;B3667A2E
- +250 ;;C4614AB8
- +251 ;;5D681B02
- +252 ;;2A6F2B94
- +253 ;;B40BBE37
- +254 ;;C30C8EA1
- +255 ;;5A05DF1B
- +256 ;;2D02EF8D