ɺh $dZdZddlZddlmZddlmZdZdezdz ZdZdZ dZ dZ d Z d Z d Zed Zed Zd ZdZdZdZdZdZdZdZejed kr edejedkr eddZdZdZdZdZ dZ!dZ"dZ#d Z$d!Z%d"Z&d#Z'd$Z(d%Z)d&Z*d'Z+d(Z,d)Z-d*Z.d+Z/d,Z0d-Z1d.Z2d/Z3d0Z4d1Z5ej6j7ej6j8ej6j9ej6j:fZ;d2Z)rfixed64s rFixed64ByteSizerErArc&t|dzSr=r>)rsfixed32s rSFixed32ByteSizerHrArc&t|dzSrCr>)rsfixed64s rSFixed64ByteSizerKrArc&t|dzSr=r>)rflts r FloatByteSizerNrArc&t|dzSrCr>)rdoubles rDoubleByteSizerQrArc&t|dzS)Nrr>rbs r BoolByteSizerUrArc"t||Sr#)r3)renums r EnumByteSizerXs  d + ++rcHt||dS)Nzutf-8) BytesByteSizeencode)rstrings rStringByteSizer]s |V]]7%;%; < <rs>ML 2 &&&&&&###### m#q(   C   C OO     #"!" 6?.//144;<<<6?.//144;<<< 5 5 5777,,,===BBB ...EEE;;;;;;''''''''''''''''''''',,,===       (;;;   ( ( ' ) '  . . . . .r