github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library@v0.2.0/Base64/Base64.go (about) 1 // Package Base64 2 // Dafny module Base64 compiled into Go 3 4 package Base64 5 6 import ( 7 os "os" 8 9 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 10 m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 11 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 12 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 13 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 14 m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare" 15 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 16 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 17 m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt" 18 m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings" 19 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 20 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 21 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 22 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 23 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 24 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 25 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 26 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 27 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 28 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 29 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 30 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 31 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 32 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 33 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 34 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 35 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 36 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 37 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 38 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 39 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 40 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 41 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 42 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 43 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 44 ) 45 46 var _ = os.Args 47 var _ _dafny.Dummy__ 48 var _ m__System.Dummy__ 49 var _ m_Wrappers.Dummy__ 50 var _ m_Relations.Dummy__ 51 var _ m_Seq_MergeSort.Dummy__ 52 var _ m__Math.Dummy__ 53 var _ m_Seq.Dummy__ 54 var _ m_BoundedInts.Dummy__ 55 var _ m__Unicode.Dummy__ 56 var _ m_Functions.Dummy__ 57 var _ m_Utf8EncodingForm.Dummy__ 58 var _ m_Utf16EncodingForm.Dummy__ 59 var _ m_UnicodeStrings.Dummy__ 60 var _ m_FileIO.Dummy__ 61 var _ m_GeneralInternals.Dummy__ 62 var _ m_MulInternalsNonlinear.Dummy__ 63 var _ m_MulInternals.Dummy__ 64 var _ m_Mul.Dummy__ 65 var _ m_ModInternalsNonlinear.Dummy__ 66 var _ m_DivInternalsNonlinear.Dummy__ 67 var _ m_ModInternals.Dummy__ 68 var _ m_DivInternals.Dummy__ 69 var _ m_DivMod.Dummy__ 70 var _ m_Power.Dummy__ 71 var _ m_Logarithm.Dummy__ 72 var _ m_StandardLibraryInterop.Dummy__ 73 var _ m_StandardLibrary_UInt.Dummy__ 74 var _ m_StandardLibrary_Sequence.Dummy__ 75 var _ m_StandardLibrary_String.Dummy__ 76 var _ m_StandardLibrary.Dummy__ 77 var _ m_Streams.Dummy__ 78 var _ m_Sorting.Dummy__ 79 var _ m_HexStrings.Dummy__ 80 var _ m_GetOpt.Dummy__ 81 var _ m_FloatCompare.Dummy__ 82 83 type Dummy__ struct{} 84 85 // Definition of class Default__ 86 type Default__ struct { 87 dummy byte 88 } 89 90 func New_Default___() *Default__ { 91 _this := Default__{} 92 93 return &_this 94 } 95 96 type CompanionStruct_Default___ struct { 97 } 98 99 var Companion_Default___ = CompanionStruct_Default___{} 100 101 func (_this *Default__) Equals(other *Default__) bool { 102 return _this == other 103 } 104 105 func (_this *Default__) EqualsGeneric(x interface{}) bool { 106 other, ok := x.(*Default__) 107 return ok && _this.Equals(other) 108 } 109 110 func (*Default__) String() string { 111 return "Base64.Default__" 112 } 113 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 114 return [](*_dafny.TraitID){} 115 } 116 117 var _ _dafny.TraitOffspring = &Default__{} 118 119 func (_static *CompanionStruct_Default___) IsBase64Char(c _dafny.Char) bool { 120 return (((((c) == (_dafny.Char('+'))) || ((c) == (_dafny.Char('/')))) || (((_dafny.Char('0')) <= (c)) && ((c) <= (_dafny.Char('9'))))) || (((_dafny.Char('A')) <= (c)) && ((c) <= (_dafny.Char('Z'))))) || (((_dafny.Char('a')) <= (c)) && ((c) <= (_dafny.Char('z')))) 121 } 122 func (_static *CompanionStruct_Default___) IsUnpaddedBase64String(s _dafny.Sequence) bool { 123 return (((_dafny.IntOfUint32((s).Cardinality())).Modulo(_dafny.IntOfInt64(4))).Sign() == 0) && (_dafny.Quantifier((s).UniqueElements(), true, func(_forall_var_0 _dafny.Char) bool { 124 var _0_k _dafny.Char 125 _0_k = interface{}(_forall_var_0).(_dafny.Char) 126 return !(_dafny.Companion_Sequence_.Contains(s, _0_k)) || (Companion_Default___.IsBase64Char(_0_k)) 127 })) 128 } 129 func (_static *CompanionStruct_Default___) IndexToChar(i uint8) _dafny.Char { 130 if (i) == (uint8(63)) { 131 return _dafny.Char('/') 132 } else if (i) == (uint8(62)) { 133 return _dafny.Char('+') 134 } else if ((uint8(52)) <= (i)) && ((i) <= (uint8(61))) { 135 return _dafny.Char(((i) - (func() uint8 { return (uint8(4)) })())) 136 } else if ((uint8(26)) <= (i)) && ((i) <= (uint8(51))) { 137 return (_dafny.Char((i))) + (_dafny.Char((_dafny.IntOfInt64(71)).Int32())) 138 } else { 139 return (_dafny.Char((i))) + (_dafny.Char((_dafny.IntOfInt64(65)).Int32())) 140 } 141 } 142 func (_static *CompanionStruct_Default___) CharToIndex(c _dafny.Char) uint8 { 143 if (c) == (_dafny.Char('/')) { 144 return uint8(63) 145 } else if (c) == (_dafny.Char('+')) { 146 return uint8(62) 147 } else if ((_dafny.Char('0')) <= (c)) && ((c) <= (_dafny.Char('9'))) { 148 return uint8((c) + (_dafny.Char((_dafny.IntOfInt64(4)).Int32()))) 149 } else if ((_dafny.Char('a')) <= (c)) && ((c) <= (_dafny.Char('z'))) { 150 return uint8((c) - (_dafny.Char((_dafny.IntOfInt64(71)).Int32()))) 151 } else { 152 return uint8((c) - (_dafny.Char((_dafny.IntOfInt64(65)).Int32()))) 153 } 154 } 155 func (_static *CompanionStruct_Default___) UInt24ToSeq(x uint32) _dafny.Sequence { 156 var _0_b0 uint8 = uint8((x) / (uint32(65536))) 157 _ = _0_b0 158 var _1_x0 uint32 = (x) - (func() uint32 { return ((uint32(_0_b0)) * (uint32(65536))) })() 159 _ = _1_x0 160 var _2_b1 uint8 = uint8((_1_x0) / (uint32(256))) 161 _ = _2_b1 162 var _3_b2 uint8 = uint8((_1_x0) % (uint32(256))) 163 _ = _3_b2 164 return _dafny.SeqOf(_0_b0, _2_b1, _3_b2) 165 } 166 func (_static *CompanionStruct_Default___) SeqToUInt24(s _dafny.Sequence) uint32 { 167 return (((uint32((s).Select(0).(uint8))) * (uint32(65536))) + ((uint32((s).Select(1).(uint8))) * (uint32(256)))) + (uint32((s).Select(2).(uint8))) 168 } 169 func (_static *CompanionStruct_Default___) UInt24ToIndexSeq(x uint32) _dafny.Sequence { 170 var _0_b0 uint8 = uint8((x) / (uint32(262144))) 171 _ = _0_b0 172 var _1_x0 uint32 = (x) - (func() uint32 { return ((uint32(_0_b0)) * (uint32(262144))) })() 173 _ = _1_x0 174 var _2_b1 uint8 = uint8((_1_x0) / (uint32(4096))) 175 _ = _2_b1 176 var _3_x1 uint32 = (_1_x0) - (func() uint32 { return ((uint32(_2_b1)) * (uint32(4096))) })() 177 _ = _3_x1 178 var _4_b2 uint8 = uint8((_3_x1) / (uint32(64))) 179 _ = _4_b2 180 var _5_b3 uint8 = uint8((_3_x1) % (uint32(64))) 181 _ = _5_b3 182 return _dafny.SeqOf(_0_b0, _2_b1, _4_b2, _5_b3) 183 } 184 func (_static *CompanionStruct_Default___) IndexSeqToUInt24(s _dafny.Sequence) uint32 { 185 return ((((uint32((s).Select(0).(uint8))) * (uint32(262144))) + ((uint32((s).Select(1).(uint8))) * (uint32(4096)))) + ((uint32((s).Select(2).(uint8))) * (uint32(64)))) + (uint32((s).Select(3).(uint8))) 186 } 187 func (_static *CompanionStruct_Default___) DecodeBlock(s _dafny.Sequence) _dafny.Sequence { 188 return Companion_Default___.UInt24ToSeq(Companion_Default___.IndexSeqToUInt24(s)) 189 } 190 func (_static *CompanionStruct_Default___) EncodeBlock(s _dafny.Sequence) _dafny.Sequence { 191 return Companion_Default___.UInt24ToIndexSeq(Companion_Default___.SeqToUInt24(s)) 192 } 193 func (_static *CompanionStruct_Default___) DecodeRecursively(s _dafny.Sequence) _dafny.Sequence { 194 var _0___accumulator _dafny.Sequence = _dafny.SeqOf() 195 _ = _0___accumulator 196 goto TAIL_CALL_START 197 TAIL_CALL_START: 198 if (_dafny.IntOfUint32((s).Cardinality())).Sign() == 0 { 199 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf()) 200 } else { 201 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, Companion_Default___.DecodeBlock((s).Take(4))) 202 var _in0 _dafny.Sequence = (s).Drop(4) 203 _ = _in0 204 s = _in0 205 goto TAIL_CALL_START 206 } 207 } 208 func (_static *CompanionStruct_Default___) EncodeRecursively(b _dafny.Sequence) _dafny.Sequence { 209 var _0___accumulator _dafny.Sequence = _dafny.SeqOf() 210 _ = _0___accumulator 211 goto TAIL_CALL_START 212 TAIL_CALL_START: 213 if (_dafny.IntOfUint32((b).Cardinality())).Sign() == 0 { 214 return _dafny.Companion_Sequence_.Concatenate(_0___accumulator, _dafny.SeqOf()) 215 } else { 216 _0___accumulator = _dafny.Companion_Sequence_.Concatenate(_0___accumulator, Companion_Default___.EncodeBlock((b).Take(3))) 217 var _in0 _dafny.Sequence = (b).Drop(3) 218 _ = _in0 219 b = _in0 220 goto TAIL_CALL_START 221 } 222 } 223 func (_static *CompanionStruct_Default___) FromCharsToIndices(s _dafny.Sequence) _dafny.Sequence { 224 return _dafny.SeqCreate((_dafny.IntOfUint32((s).Cardinality())).Uint32(), func(coer27 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { 225 return func(arg31 _dafny.Int) interface{} { 226 return coer27(arg31) 227 } 228 }((func(_0_s _dafny.Sequence) func(_dafny.Int) uint8 { 229 return func(_1_i _dafny.Int) uint8 { 230 return Companion_Default___.CharToIndex((_0_s).Select((_1_i).Uint32()).(_dafny.Char)) 231 } 232 })(s))) 233 } 234 func (_static *CompanionStruct_Default___) FromIndicesToChars(b _dafny.Sequence) _dafny.Sequence { 235 return _dafny.SeqCreate((_dafny.IntOfUint32((b).Cardinality())).Uint32(), func(coer28 func(_dafny.Int) _dafny.Char) func(_dafny.Int) interface{} { 236 return func(arg32 _dafny.Int) interface{} { 237 return coer28(arg32) 238 } 239 }((func(_0_b _dafny.Sequence) func(_dafny.Int) _dafny.Char { 240 return func(_1_i _dafny.Int) _dafny.Char { 241 return Companion_Default___.IndexToChar((_0_b).Select((_1_i).Uint32()).(uint8)) 242 } 243 })(b))).SetString() 244 } 245 func (_static *CompanionStruct_Default___) DecodeUnpadded(s _dafny.Sequence) _dafny.Sequence { 246 return Companion_Default___.DecodeRecursively(Companion_Default___.FromCharsToIndices(s)) 247 } 248 func (_static *CompanionStruct_Default___) EncodeUnpadded(b _dafny.Sequence) _dafny.Sequence { 249 return Companion_Default___.FromIndicesToChars(Companion_Default___.EncodeRecursively(b)) 250 } 251 func (_static *CompanionStruct_Default___) Is1Padding(s _dafny.Sequence) bool { 252 return ((((((_dafny.IntOfUint32((s).Cardinality())).Cmp(_dafny.IntOfInt64(4)) == 0) && (Companion_Default___.IsBase64Char((s).Select(0).(_dafny.Char)))) && (Companion_Default___.IsBase64Char((s).Select(1).(_dafny.Char)))) && (Companion_Default___.IsBase64Char((s).Select(2).(_dafny.Char)))) && (((Companion_Default___.CharToIndex((s).Select(2).(_dafny.Char))) % (uint8(4))) == (uint8(0)))) && (((s).Select(3).(_dafny.Char)) == (_dafny.Char('='))) 253 } 254 func (_static *CompanionStruct_Default___) Decode1Padding(s _dafny.Sequence) _dafny.Sequence { 255 var _0_d _dafny.Sequence = Companion_Default___.DecodeBlock(_dafny.SeqOf(Companion_Default___.CharToIndex((s).Select(0).(_dafny.Char)), Companion_Default___.CharToIndex((s).Select(1).(_dafny.Char)), Companion_Default___.CharToIndex((s).Select(2).(_dafny.Char)), uint8(0))) 256 _ = _0_d 257 return _dafny.SeqOf((_0_d).Select(0).(uint8), (_0_d).Select(1).(uint8)) 258 } 259 func (_static *CompanionStruct_Default___) Encode1Padding(b _dafny.Sequence) _dafny.Sequence { 260 var _0_e _dafny.Sequence = Companion_Default___.EncodeBlock(_dafny.SeqOf((b).Select(0).(uint8), (b).Select(1).(uint8), uint8(0))) 261 _ = _0_e 262 return _dafny.SeqOfChars(Companion_Default___.IndexToChar((_0_e).Select(0).(uint8)), Companion_Default___.IndexToChar((_0_e).Select(1).(uint8)), Companion_Default___.IndexToChar((_0_e).Select(2).(uint8)), _dafny.Char('=')) 263 } 264 func (_static *CompanionStruct_Default___) Is2Padding(s _dafny.Sequence) bool { 265 return ((((((_dafny.IntOfUint32((s).Cardinality())).Cmp(_dafny.IntOfInt64(4)) == 0) && (Companion_Default___.IsBase64Char((s).Select(0).(_dafny.Char)))) && (Companion_Default___.IsBase64Char((s).Select(1).(_dafny.Char)))) && (((Companion_Default___.CharToIndex((s).Select(1).(_dafny.Char))) % (uint8(16))) == (uint8(0)))) && (((s).Select(2).(_dafny.Char)) == (_dafny.Char('=')))) && (((s).Select(3).(_dafny.Char)) == (_dafny.Char('='))) 266 } 267 func (_static *CompanionStruct_Default___) Decode2Padding(s _dafny.Sequence) _dafny.Sequence { 268 var _0_d _dafny.Sequence = Companion_Default___.DecodeBlock(_dafny.SeqOf(Companion_Default___.CharToIndex((s).Select(0).(_dafny.Char)), Companion_Default___.CharToIndex((s).Select(1).(_dafny.Char)), uint8(0), uint8(0))) 269 _ = _0_d 270 return _dafny.SeqOf((_0_d).Select(0).(uint8)) 271 } 272 func (_static *CompanionStruct_Default___) Encode2Padding(b _dafny.Sequence) _dafny.Sequence { 273 var _0_e _dafny.Sequence = Companion_Default___.EncodeBlock(_dafny.SeqOf((b).Select(0).(uint8), uint8(0), uint8(0))) 274 _ = _0_e 275 return _dafny.SeqOfChars(Companion_Default___.IndexToChar((_0_e).Select(0).(uint8)), Companion_Default___.IndexToChar((_0_e).Select(1).(uint8)), _dafny.Char('='), _dafny.Char('=')) 276 } 277 func (_static *CompanionStruct_Default___) IsBase64String(s _dafny.Sequence) bool { 278 var _0_finalBlockStart _dafny.Int = (_dafny.IntOfUint32((s).Cardinality())).Minus(_dafny.IntOfInt64(4)) 279 _ = _0_finalBlockStart 280 return (((_dafny.IntOfUint32((s).Cardinality())).Modulo(_dafny.IntOfInt64(4))).Sign() == 0) && ((Companion_Default___.IsUnpaddedBase64String(s)) || ((Companion_Default___.IsUnpaddedBase64String((s).Take((_0_finalBlockStart).Uint32()))) && ((Companion_Default___.Is1Padding((s).Drop((_0_finalBlockStart).Uint32()))) || (Companion_Default___.Is2Padding((s).Drop((_0_finalBlockStart).Uint32())))))) 281 } 282 func (_static *CompanionStruct_Default___) DecodeValid(s _dafny.Sequence) _dafny.Sequence { 283 if _dafny.Companion_Sequence_.Equal(s, _dafny.SeqOfChars()) { 284 return _dafny.SeqOf() 285 } else { 286 var _0_finalBlockStart _dafny.Int = (_dafny.IntOfUint32((s).Cardinality())).Minus(_dafny.IntOfInt64(4)) 287 _ = _0_finalBlockStart 288 var _1_prefix _dafny.Sequence = (s).Take((_0_finalBlockStart).Uint32()) 289 _ = _1_prefix 290 var _2_suffix _dafny.Sequence = (s).Drop((_0_finalBlockStart).Uint32()) 291 _ = _2_suffix 292 if Companion_Default___.Is1Padding(_2_suffix) { 293 return _dafny.Companion_Sequence_.Concatenate(Companion_Default___.DecodeUnpadded(_1_prefix), Companion_Default___.Decode1Padding(_2_suffix)) 294 } else if Companion_Default___.Is2Padding(_2_suffix) { 295 return _dafny.Companion_Sequence_.Concatenate(Companion_Default___.DecodeUnpadded(_1_prefix), Companion_Default___.Decode2Padding(_2_suffix)) 296 } else { 297 return Companion_Default___.DecodeUnpadded(s) 298 } 299 } 300 } 301 func (_static *CompanionStruct_Default___) Decode(s _dafny.Sequence) m_Wrappers.Result { 302 if Companion_Default___.IsBase64String(s) { 303 return m_Wrappers.Companion_Result_.Create_Success_(Companion_Default___.DecodeValid(s)) 304 } else { 305 return m_Wrappers.Companion_Result_.Create_Failure_(_dafny.SeqOfString("The encoding is malformed")) 306 } 307 } 308 func (_static *CompanionStruct_Default___) Encode(b _dafny.Sequence) _dafny.Sequence { 309 if ((_dafny.IntOfUint32((b).Cardinality())).Modulo(_dafny.IntOfInt64(3))).Sign() == 0 { 310 var _0_s _dafny.Sequence = Companion_Default___.EncodeUnpadded(b) 311 _ = _0_s 312 return _0_s 313 } else if ((_dafny.IntOfUint32((b).Cardinality())).Modulo(_dafny.IntOfInt64(3))).Cmp(_dafny.One) == 0 { 314 var _1_s1 _dafny.Sequence = Companion_Default___.EncodeUnpadded((b).Take(((_dafny.IntOfUint32((b).Cardinality())).Minus(_dafny.One)).Uint32())) 315 _ = _1_s1 316 var _2_s2 _dafny.Sequence = Companion_Default___.Encode2Padding((b).Drop(((_dafny.IntOfUint32((b).Cardinality())).Minus(_dafny.One)).Uint32())) 317 _ = _2_s2 318 var _3_s _dafny.Sequence = _dafny.Companion_Sequence_.Concatenate(_1_s1, _2_s2) 319 _ = _3_s 320 return _3_s 321 } else { 322 var _4_s1 _dafny.Sequence = Companion_Default___.EncodeUnpadded((b).Take(((_dafny.IntOfUint32((b).Cardinality())).Minus(_dafny.IntOfInt64(2))).Uint32())) 323 _ = _4_s1 324 var _5_s2 _dafny.Sequence = Companion_Default___.Encode1Padding((b).Drop(((_dafny.IntOfUint32((b).Cardinality())).Minus(_dafny.IntOfInt64(2))).Uint32())) 325 _ = _5_s2 326 var _6_s _dafny.Sequence = _dafny.Companion_Sequence_.Concatenate(_4_s1, _5_s2) 327 _ = _6_s 328 return _6_s 329 } 330 } 331 332 // End of class Default__ 333 334 // Definition of class Index 335 type Index struct { 336 } 337 338 func New_Index_() *Index { 339 _this := Index{} 340 341 return &_this 342 } 343 344 type CompanionStruct_Index_ struct { 345 } 346 347 var Companion_Index_ = CompanionStruct_Index_{} 348 349 func (*Index) String() string { 350 return "Base64.Index" 351 } 352 func (_this *Index) ParentTraits_() []*_dafny.TraitID { 353 return [](*_dafny.TraitID){} 354 } 355 356 var _ _dafny.TraitOffspring = &Index{} 357 358 func (_this *CompanionStruct_Index_) IntegerRange(lo _dafny.Int, hi _dafny.Int) _dafny.Iterator { 359 iter := _dafny.IntegerRange(lo, hi) 360 return func() (interface{}, bool) { 361 next, ok := iter() 362 if !ok { 363 return uint8(0), false 364 } 365 return next.(_dafny.Int).Uint8(), true 366 } 367 } 368 369 // End of class Index 370 371 func Type_Index_() _dafny.TypeDescriptor { 372 return type_Index_{} 373 } 374 375 type type_Index_ struct { 376 } 377 378 func (_this type_Index_) Default() interface{} { 379 return uint8(0) 380 } 381 382 func (_this type_Index_) String() string { 383 return "Base64.Index" 384 } 385 func (_this *CompanionStruct_Index_) Is_(__source uint8) bool { 386 var _0_x _dafny.Int = _dafny.IntOfUint8(__source) 387 _ = _0_x 388 return ((_0_x).Sign() != -1) && ((_0_x).Cmp(_dafny.IntOfInt64(64)) < 0) 389 } 390 391 // Definition of class Uint24 392 type Uint24 struct { 393 } 394 395 func New_Uint24_() *Uint24 { 396 _this := Uint24{} 397 398 return &_this 399 } 400 401 type CompanionStruct_Uint24_ struct { 402 } 403 404 var Companion_Uint24_ = CompanionStruct_Uint24_{} 405 406 func (*Uint24) String() string { 407 return "Base64.Uint24" 408 } 409 func (_this *Uint24) ParentTraits_() []*_dafny.TraitID { 410 return [](*_dafny.TraitID){} 411 } 412 413 var _ _dafny.TraitOffspring = &Uint24{} 414 415 func (_this *CompanionStruct_Uint24_) IntegerRange(lo _dafny.Int, hi _dafny.Int) _dafny.Iterator { 416 iter := _dafny.IntegerRange(lo, hi) 417 return func() (interface{}, bool) { 418 next, ok := iter() 419 if !ok { 420 return uint32(0), false 421 } 422 return next.(_dafny.Int).Uint32(), true 423 } 424 } 425 426 // End of class Uint24 427 428 func Type_Uint24_() _dafny.TypeDescriptor { 429 return type_Uint24_{} 430 } 431 432 type type_Uint24_ struct { 433 } 434 435 func (_this type_Uint24_) Default() interface{} { 436 return uint32(0) 437 } 438 439 func (_this type_Uint24_) String() string { 440 return "Base64.Uint24" 441 } 442 func (_this *CompanionStruct_Uint24_) Is_(__source uint32) bool { 443 var _1_x _dafny.Int = _dafny.IntOfUint32(__source) 444 _ = _1_x 445 return ((_1_x).Sign() != -1) && ((_1_x).Cmp(_dafny.IntOfInt64(16777216)) < 0) 446 }