2 r 3 3 3u  3     s 3 v 3w 3  x 3  y 3   3 ! !" 3#$ !% 3& 3' ( ) 3* +, /- 3. 3/0 312  345 86 3789 ;: 8; < 3=>? B@ 3A 3B 3C BDE rF rG (H rIJ 3KLM PNO RP 3Q 3RST 3U 3V 3W 3X 3Y 3Z 3[ 3\ (] 3^ 3_ 3` 3a /b (c 3d re rf@ gh Mi Mj /klpolynomialArrayLptolemy/data/expr/Parameter; uncodedRatedelay softDecodingtrellisDecoding constellation _inputRate _outputRate_typeLptolemy/actor/TypeAttribute; _trellisModeZ _softMode_modeI_trueAmpD _falseAmp_constellation[Lptolemy/math/Complex; _inputNumber _maskNumber_mask[I _maxPolyValue_shiftRegLength_inputNumberInvalid _depthInvalid _truthTable[[[I_rowNum_colNum_depth _distance[D _tempDistance_path[[I _tempPath_flag_HARD ConstantValue_SOFT_TRELLIS5(Lptolemy/kernel/CompositeEntity;Ljava/lang/String;)VCodeLineNumberTableLocalVariableTablethis'Lptolemy/actor/lib/comm/ViterbiDecoder; container Lptolemy/kernel/CompositeEntity;nameLjava/lang/String; ExceptionsmattributeChanged"(Lptolemy/kernel/util/Attribute;)Vi maskTokenLptolemy/data/ArrayToken; trellisMode attributeLptolemy/kernel/util/Attribute; StackMapTable?clone3(Lptolemy/kernel/util/Workspace;)Ljava/lang/Object; workspaceLptolemy/kernel/util/Workspace; newObjectnfire()VconstellationOrder inputRateampTokenregparityoutValueoldStateinputheadstate regLength inputMaskjyLptolemy/math/Complex;[ZdcolIndex minDistanceminInputminState initialOutput[Lptolemy/data/BooleanToken;minDminIndexdecoded inputToken[Lptolemy/data/Token;0 initializepostfire()Z_calculateParity([III)[Imaskedmask maskNumber_computeHardDistance([ZII)ItruthBit truthValuemaskNumhammingDistance_computeSoftDistance ([DDDII)DtruthAmpfalseAmptrueAmpdistance_computeTrellisDistance1(Lptolemy/math/Complex;[Lptolemy/math/Complex;I)D truthComplexv _convertToBit (II)[Lptolemy/data/BooleanToken;integerlengthbit SourceFileViterbiDecoder.java  ptolemy/data/expr/Parameter o utp qu vw1 xy stptolemy/data/type/ArrayType w{05, 07} vt10 wtfalse z} xt~   yt  {-1.0, 1.0}ptolemy/actor/TypeAttribute  inputType  |}booleantokenConsumptionRate zt tokenProductionRate {t ptolemy/data/BooleanToken  ~ %ptolemy/actor/lib/comm/ViterbiDecoder complex doubleptolemy/data/IntToken  *ptolemy/kernel/util/IllegalActionException!inputLength must be non-negative.    !Delay must be a positive integer.ptolemy/data/ArrayToken  /Polynomial is required to be strictly positive.  ptolemy/math/Complex %Invalid amplitudes for soft decoding!ptolemy/data/ComplexToken ptolemy/data/DoubleToken  -Output rate should be larger than input rate.6The highest order of all polynomials is still too low.        ptolemy/actor/lib/Transformer,ptolemy/kernel/util/NameDuplicationException$java/lang/CloneNotSupportedException3(Lptolemy/kernel/util/NamedObj;Ljava/lang/String;)Vptolemy/data/type/BaseTypeINTIntType InnerClasses$Lptolemy/data/type/BaseType$IntType; setTypeEquals(Lptolemy/data/type/Type;)V setExpression(Ljava/lang/String;)VBOOLEAN BooleanType(Lptolemy/data/type/BaseType$BooleanType;ptolemy/kernel/util/SettableNONE Visibility)Lptolemy/kernel/util/Settable$Visibility; setVisibility,(Lptolemy/kernel/util/Settable$Visibility;)VDOUBLE DoubleType'Lptolemy/data/type/BaseType$DoubleType;Lptolemy/actor/TypedIOPort;0(Lptolemy/actor/TypedIOPort;Ljava/lang/String;)Voutputptolemy/actor/TypedIOPortgetToken()Lptolemy/data/Token; booleanValueCOMPLEX ComplexType(Lptolemy/data/type/BaseType$ComplexType;intValue()I3(Lptolemy/kernel/util/Nameable;Ljava/lang/String;)V(I)VsetToken(Lptolemy/data/Token;)V getElement(I)Lptolemy/data/Token; getAttribute3(Ljava/lang/String;)Lptolemy/kernel/util/Attribute; complexValue()Lptolemy/math/Complex; doubleValue()Dget(II)[Lptolemy/data/Token;FALSELptolemy/data/BooleanToken; broadcast([Lptolemy/data/Token;I)Vjava/lang/Mathpow(DD)Dsubtract.(Lptolemy/math/Complex;)Lptolemy/math/Complex;magnitudeSquaredTRUE"ptolemy/data/type/BaseType$IntType&ptolemy/data/type/BaseType$BooleanType'ptolemy/kernel/util/Settable$Visibility%ptolemy/data/type/BaseType$DoubleType&ptolemy/data/type/BaseType$ComplexType!3r"stutvtwtxtytzt{t|}~ L*+,****Y** * *Y* *Y  * *Y** * *Y** * *Y** * **Y**Y * *!Y*"#$%*%&'*Y*"()*) **+*Y**,-*- ~|" &*~#-6DU^lv '1BK LLL;+* +***./01**./02*1%*4*%5'*Y6 p*2%*4*%7'*Y G*4*%&'6+*A**.89:*:;Y*<=**-8Y*:>?+*/**.89@*@;Y*A=*+**.BM*,CD**D E*F>*DE*E,G89O*E.;Y*H=*E.*F **E.F**./0>*)8Y>?*)8Y*D>?*+I.!29>G[bgp    $%&"'*(4)9+C,T.]/h4u5+9<=?@BDEG4;J"(!J(+++,(;E*+J3M,,"(K),,D E,,*,K-,,"#K!%,& Q STU#V*W3X:YCZ EE < *L*4 *D<= <*D=*4U*xMN*.BN-Cx;Y*O=6-C*N-GPQSI*4A*.BN-Cx;Y*O=*-GRST*-GRSU*g*:*D;Y*V=*>*Fx>*Y`*:*;Y*W=****:dxX**:xY**X*YZ[**X\**X]6*X*\R*]R*:xd66*X6*Y**:dx6`6**E*D^:6 *Dd6   x6   .`6 *[22 O*:z6 *[22 O~6 *[22 Oo]*b**X*@`_`**X*@`_a>*X/6*@*`2O*a2O**"bN6*X\9666  *Y9 *4)-2PQ: * *N*[2 2.c9 *4F: 6    - 2RSR * *T*U*[2 2.d9 E*D: 6  *D  - 2/0T * *[2 2.*De9 *[2 2.6 *] 1 c9    9 6*[2 2.6 *\R6  *f*`2 *a2 .O *`2*fO*f*@6*:/:6*:gS***:h966*X(*\1*\196*:/:**`2.*:i:***:h6*X16  *f*`2 *`2 `.O ބ**fdf**f`fjp qrtux%y/{:}D~O[jnt$.?IS_gou"(/AS]is}  25=IX^w !"(*+*.4578%7+;8<;>>?AAMB_ChDlArJ{KLQRSRQWZ[+R"::3V w`] #  G`#U4  ; @ =:  /  # PMJb'D.% 7>A{dR41!'E  8 ?, "  9 & " + $ ;E*j**fbc de ;A<*X5*]*\1R=*f*a2*`2.O*km np q0p6m<u :A;B :64+.~6O.~Oz6& !09?H#7BBBB=266&~6z=+3`6 )/H)2222/1 /D96  7~6   9 (9 + 1 glnc9z6 *   #5;Ap  ( # ; DDDDDDA3  w,2:+o:p >y 3/Nd6%~ -qS -gSz<-" '+14 '333.  t*r s { |