4Y  c Q            *  0 0 0   : 8  :        P @$ @ InnerClassesSQRT2_PRECOMPUTE_THRESHOLDI ConstantValueRuntimeInvisibleAnnotations1Lcom/google/common/annotations/VisibleForTesting;SQRT2_PRECOMPUTED_BITSLjava/math/BigInteger;LN_10DLN_2ceilingPowerOfTwo.(Ljava/math/BigInteger;)Ljava/math/BigInteger;CodeLineNumberTableLocalVariableTablex$Lcom/google/common/annotations/Beta;floorPowerOfTwo isPowerOfTwo(Ljava/math/BigInteger;)Z StackMapTablelog21(Ljava/math/BigInteger;Ljava/math/RoundingMode;)I halfPowerx2 logX2FloormodeLjava/math/RoundingMode;logFloorlog10nextPownextCmphalfPowerSquared approxLog10 approxPow approxCmpfloorLogfloorPowfloorCmp/Lcom/google/common/annotations/GwtIncompatible;sqrtF(Ljava/math/BigInteger;Ljava/math/RoundingMode;)Ljava/math/BigInteger; sqrtFloorIntsqrtFloorIsExactZ halfSquare sqrtFloorsqrt0shiftsqrt1sqrtApproxWithDoublesdivide\(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/RoundingMode;)Ljava/math/BigInteger;pqpDecLjava/math/BigDecimal;qDec factorial(I)Ljava/math/BigInteger;tz normalizedNumJnormalizedBitsnumn approxSizebignumsLjava/util/ArrayList;startingNumberproduct productBitsbitsnextPowerOfTwoLocalVariableTypeTable-Ljava/util/ArrayList; listProduct((Ljava/util/List;)Ljava/math/BigInteger;numsLjava/util/List;(Ljava/util/List; Signature@(Ljava/util/List;)Ljava/math/BigInteger;*(Ljava/util/List;II)Ljava/math/BigInteger;mstartendB(Ljava/util/List;II)Ljava/math/BigInteger;binomial(II)Ljava/math/BigInteger;ikaccumnumeratorAccumdenominatorAccum numeratorBits fitsInLong()Vthis'Lcom/google/common/math/BigIntegerMath; SourceFileBigIntegerMath.java-Lcom/google/common/annotations/GwtCompatible;emulated Z o ij  o    java/math/BigInteger  !" # fg $%%com/google/common/math/BigIntegerMath YZ & '( )java/lang/AssertionError g *+, r- ]\ [\ .Z _ /_ 01 2 }3 45 _ 6 7Z 8_java/lang/Double _"com/google/common/math/DoubleUtils 9 :;< }= >o? @Ajava/math/BigDecimal B C DE 2F GHI iJjava/lang/Long Kjava/util/ArrayList L MN i- 81 O P QRk (%s) > n (%s) ST U" VA16a09e667f3bcc908b2fb1366ea957d3e3adec17512775099da2f590b0667322a W X=java/lang/Object'com/google/common/math/BigIntegerMath$1ZEROjava/math/RoundingModeCEILINGsetBitFLOOR$com/google/common/base/Preconditions checkNotNull&(Ljava/lang/Object;)Ljava/lang/Object;signum()IgetLowestSetBit bitLength(com/google/common/math/MathPreconditions checkPositive@(Ljava/lang/String;Ljava/math/BigInteger;)Ljava/math/BigInteger;!$SwitchMap$java$math$RoundingMode[IordinalcheckRoundingUnnecessary(Z)V shiftRight compareTo(Ljava/math/BigInteger;)Ipow longValue()Jcom/google/common/math/LongMath(JLjava/math/RoundingMode;)ITENmultiplyequals(Ljava/lang/Object;)ZcheckNonNegative(JLjava/math/RoundingMode;)JvalueOf(J)Ljava/math/BigInteger;intValueONEadd shiftLeft bigToDouble(Ljava/math/BigInteger;)Djava/lang/Math(D)D HALF_EVEN!com/google/common/math/DoubleMathroundToBigInteger1(DLjava/math/RoundingMode;)Ljava/math/BigInteger;(Ljava/math/BigInteger;)VG(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;toBigIntegerExact()Ljava/math/BigInteger;(Ljava/lang/String;I)I factorials[Jcom/google/common/math/IntMath(ILjava/math/RoundingMode;)I(IILjava/math/RoundingMode;)I(I)VnumberOfTrailingZeros(J)Ijava/util/Listsizeget(I)Ljava/lang/Object; checkArgument(ZLjava/lang/String;II)VbiggestBinomials(II)J(Ljava/lang/String;I)Vlog1PSTUVWXYZWX[\]\ ^_`8*a;b cZWd e_`8*aGb cZWd fg`X*W*** da NOb cZh@ ij`l * W* d= +.07799HHH**`dN*-`*N- d6h``YaB\ ]^L`ScUgdlkmsnwopryz{~b>wkZlZmTcZnopTh! L BqqB rj`g   * W* *+*ko=N-*6-N-*67-:*6!N6-:*66-:6 +.{/<<??RRR* `*::  `Yaz)18=@HOW`hmpswbz `+sZh#tT"lZuZ  cZ no)vT1wZ8xTyTzZ{Th5%qq"@q@ C#qqCW| }~` *!W**+"#*$M +.-99;;nnn,* ,,%>h*%,* 6, ,&',,':*, ,&'Ya>T`bgksb>g.TZcZnoZh+ 9q @ FqqFqW| _` `*= *)L4d~>*)z+L+*+'N+- +-L+*+'N-++a2  %.'<(D)F,H-V.^/b>ZT`cZ.2ZXiT<$ZhqqqW| _`8*,-./a4b cZW| `y0Y*1N0Y+1:-,23a@ ABb4ZZno  W| `Z45W6 6/#7h@9<:Y;M6>6d/7<6{7=`6=`6dx6 7  i    x6  <6   {7  `6 d6`@,#>W 76 i7=`6 a7  ,#>W,?+azRUVZ*[3^8_AaHbOe[fghok{mnorstvxyz{}~kb BT ; -Tsn T*T38TAHT[TgToT 3h0Z 5 `H **@Aab   `do!,F&*B *B *`B *B *`B *`B `|>*A*Aa $/Irxb*xTTT h  ( ` 45WC5WDEzd<FF. G#&MB 7=666  U d6  `6 `?$,!##M B 76! iB i7`6 ,!##az&*;DHKNX\ekq{}bf kFT q@T _XT TTHZK}NzXpT\lTh#@q<g`D* ?ab cZh @W|`/*Hab `A! YIJKMNMaW ZR Q