38org/elasticsearch/common/geo/builders/BasePolygonBuilderw;>Lorg/elasticsearch/common/geo/builders/ShapeBuilder;2org/elasticsearch/common/geo/builders/ShapeBuilderBasePolygonBuilder.java=org/elasticsearch/common/geo/builders/BasePolygonBuilder$RingRing?org/elasticsearch/common/geo/builders/ShapeBuilder$GeoShapeType  GeoShapeType7org/elasticsearch/common/geo/builders/ShapeBuilder$Edge Edge3org/elasticsearch/common/xcontent/ToXContent$Params,org/elasticsearch/common/xcontent/ToXContentParamsDorg/elasticsearch/common/geo/builders/ShapeBuilder$IntersectionOrderIntersectionOrderTYPEALorg/elasticsearch/common/geo/builders/ShapeBuilder$GeoShapeType;shell?Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder$Ring;DLorg/elasticsearch/common/geo/builders/BasePolygonBuilder$Ring;holesLjava/util/ArrayList;WLjava/util/ArrayList;>;EMPTY*[[Lcom/vividsolutions/jts/geom/Coordinate;$assertionsDisabledZ()V $% &java/util/ArrayList( )&  +this?Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;:Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;thisRef<()Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;point>(DD)Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;  4;(DD)Lorg/elasticsearch/common/geo/builders/PointCollection; 26 7 01 9 longitudeDlatituded(Lcom/vividsolutions/jts/geom/Coordinate;)Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;a(Lcom/vividsolutions/jts/geom/Coordinate;)Lorg/elasticsearch/common/geo/builders/PointCollection; 2? @ coordinate(Lcom/vividsolutions/jts/geom/Coordinate;pointse([Lcom/vividsolutions/jts/geom/Coordinate;)Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;b([Lcom/vividsolutions/jts/geom/Coordinate;)Lorg/elasticsearch/common/geo/builders/PointCollection; DF G coordinates)[Lcom/vividsolutions/jts/geom/Coordinate;holey(Lorg/elasticsearch/common/geo/builders/BaseLineStringBuilder;)Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder;add(Ljava/lang/Object;)Z MN )O@Lorg/elasticsearch/common/geo/builders/BaseLineStringBuilder<*>;=Lorg/elasticsearch/common/geo/builders/BaseLineStringBuilder;A()Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder$Ring;7(Lorg/elasticsearch/common/geo/builders/ShapeBuilder;)V $T Uclose6()Lorg/elasticsearch/common/geo/builders/ShapeBuilder; WX Y-()[[[Lcom/vividsolutions/jts/geom/Coordinate; D \size()I ^_ )`get(I)Ljava/lang/Object; bc )d;org/elasticsearch/common/geo/builders/BaseLineStringBuilderf g\ createEdges}(IZLorg/elasticsearch/common/geo/builders/BaseLineStringBuilder;[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;I)I ij k:[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;m@f intersections>(D[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;)I qr smergez([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;II[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;I)I uv wfcompose([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;I)[[[Lcom/vividsolutions/jts/geom/Coordinate; {| }iIlengthnumEdgesedgesholeComponentsoffsetnumHolesbuild"()Lcom/spatial4j/core/shape/Shape;FACTORY-Lcom/vividsolutions/jts/geom/GeometryFactory;  wrapdateline #  buildGeometryV(Lcom/vividsolutions/jts/geom/GeometryFactory;Z)Lcom/vividsolutions/jts/geom/Geometry;  jtsGeometryR(Lcom/vividsolutions/jts/geom/Geometry;)Lcom/spatial4j/core/shape/jts/JtsGeometry; coordinatesArray(Lorg/elasticsearch/common/xcontent/XContentBuilder;Lorg/elasticsearch/common/xcontent/ToXContent$Params;)Lorg/elasticsearch/common/xcontent/XContentBuilder;java/io/IOExceptioncoordinatesToXcontenti(Lorg/elasticsearch/common/xcontent/XContentBuilder;Z)Lorg/elasticsearch/common/xcontent/XContentBuilder; iterator()Ljava/util/Iterator; )java/util/IteratorhasNext()Z next()Ljava/lang/Object; gi$Ljava/util/Iterator;builder3Lorg/elasticsearch/common/xcontent/XContentBuilder;params5Lorg/elasticsearch/common/xcontent/ToXContent$Params; toXContent1org/elasticsearch/common/xcontent/XContentBuilder startObject5()Lorg/elasticsearch/common/xcontent/XContentBuilder; type   shapenameLjava/lang/String; fieldY(Ljava/lang/String;Ljava/lang/String;)Lorg/elasticsearch/common/xcontent/XContentBuilder; I startArrayG(Ljava/lang/String;)Lorg/elasticsearch/common/xcontent/XContentBuilder; endArray  endObject I[ polygon~(Lcom/vividsolutions/jts/geom/GeometryFactory;[[Lcom/vividsolutions/jts/geom/Coordinate;)Lcom/vividsolutions/jts/geom/Polygon; +[[[Lcom/vividsolutions/jts/geom/Coordinate; multipolygon(Lcom/vividsolutions/jts/geom/GeometryFactory;[[[Lcom/vividsolutions/jts/geom/Coordinate;)Lcom/vividsolutions/jts/geom/MultiPolygon; $com/vividsolutions/jts/geom/Geometry toPolygonT(Lcom/vividsolutions/jts/geom/GeometryFactory;)Lcom/vividsolutions/jts/geom/Polygon; polygonsfactory fixDateline'()Lcom/vividsolutions/jts/geom/Polygon; linearRingl(Lcom/vividsolutions/jts/geom/GeometryFactory;Ljava/util/ArrayList;)Lcom/vividsolutions/jts/geom/LinearRing; &com/vividsolutions/jts/geom/LinearRing+com/vividsolutions/jts/geom/GeometryFactory)[Lcom/vividsolutions/jts/geom/LinearRing; createPolygonx(Lcom/vividsolutions/jts/geom/LinearRing;[Lcom/vividsolutions/jts/geom/LinearRing;)Lcom/vividsolutions/jts/geom/Polygon; (Lcom/vividsolutions/jts/geom/LinearRing;VLjava/util/Iterator;>;&com/vividsolutions/jts/geom/CoordinatetoArray(([Ljava/lang/Object;)[Ljava/lang/Object; )JcreateLinearRingS([Lcom/vividsolutions/jts/geom/Coordinate;)Lcom/vividsolutions/jts/geom/LinearRing;  ?Ljava/util/ArrayList;C()Lorg/elasticsearch/common/geo/builders/ShapeBuilder$GeoShapeType;#com/vividsolutions/jts/geom/Polygon&[Lcom/vividsolutions/jts/geom/Polygon; createMultiPolygonR([Lcom/vividsolutions/jts/geom/Polygon;)Lcom/vividsolutions/jts/geom/MultiPolygon;    polygonSet componentR(Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)I BC x < 9Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;   debugEnabled  LOGGER+Lorg/elasticsearch/common/logging/ESLogger;    shift: {[]}"java/lang/Object$java/lang/Double&valueOf(D)Ljava/lang/Double; () '*)org/elasticsearch/common/logging/ESLogger,debug((Ljava/lang/String;[Ljava/lang/Object;)V ./ -0shiftS(Lcom/vividsolutions/jts/geom/Coordinate;D)Lcom/vividsolutions/jts/geom/Coordinate; 23 4  6edgeidPLjava/util/ArrayList;anycurrent(Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;[Lcom/vividsolutions/jts/geom/Coordinate;)[Lcom/vividsolutions/jts/geom/Coordinate;buildCoordinatesB(Ljava/util/ArrayList;)[[[Lcom/vividsolutions/jts/geom/Coordinate;!Component {[]}:Ajava/lang/IntegerC(I)Ljava/lang/Integer; (E DFjava/lang/StringBuilderH I& Kappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; MN IOjava/util/ArraysQtoString'([Ljava/lang/Object;)Ljava/lang/String; ST RU()Ljava/lang/String; SW IX@Ljava/util/ArrayList<[Lcom/vividsolutions/jts/geom/Coordinate;>;j componentsWLjava/util/ArrayList;>;resultg([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;I)[[Lcom/vividsolutions/jts/geom/Coordinate; ! `  b I= d([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;(I)V $g )h mainEdges _ k f massign([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;[[Lcom/vividsolutions/jts/geom/Coordinate;I[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;Ljava/util/ArrayList;)V op q >? sHoles: ud(Lcom/vividsolutions/jts/geom/Coordinate;Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;)V $w x intersect zC {INTERSECTION_ORDERFLorg/elasticsearch/common/geo/builders/ShapeBuilder$IntersectionOrder; }~  binarySearch@([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I  R-org/elasticsearch/ElasticsearchParseException)Invaild shape: Hole is not within polygon(Ljava/lang/String;)V $  position ((I)Ljava/lang/StringBuilder; M I ) of edge -(Ljava/lang/Object;)Ljava/lang/StringBuilder; M I:  Component:  Hole intersections ((D)Ljava/lang/StringBuilder; M I): posindexconnectu(Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;)V  e1e2 "# java/lang/AssertionError &(Lcom/vividsolutions/jts/geom/Coordinate;Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;Lcom/vividsolutions/jts/geom/Coordinate;)V $ inout,(Z)[Lcom/vividsolutions/jts/geom/Coordinate; I gring(IZ[Lcom/vividsolutions/jts/geom/Coordinate;I[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;II)[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;   directionlinejava/lang/ClassdesiredAssertionStatus  POLYGON   SignatureCodeLocalVariableTableLocalVariableTypeTableLineNumberTable()TE;(DD)TE;-(Lcom/vividsolutions/jts/geom/Coordinate;)TE;.([Lcom/vividsolutions/jts/geom/Coordinate;)TE;E(Lorg/elasticsearch/common/geo/builders/BaseLineStringBuilder<*>;)TE;F()Lorg/elasticsearch/common/geo/builders/BasePolygonBuilder$Ring; StackMapTable Exceptions(Lcom/vividsolutions/jts/geom/GeometryFactory;Ljava/util/ArrayList;)Lcom/vividsolutions/jts/geom/LinearRing;(Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)I(Ljava/util/ArrayList;>;)[[[Lcom/vividsolutions/jts/geom/Coordinate;([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;>;)[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;([Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;[[Lcom/vividsolutions/jts/geom/Coordinate;I[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;Ljava/util/ArrayList;>;)V(IZLorg/elasticsearch/common/geo/builders/BaseLineStringBuilder<*>;[Lorg/elasticsearch/common/geo/builders/ShapeBuilder$Edge;I)I SourceFile InnerClasses! !"#$%T*'*)Y*, -/ -.)101>* -/ -.523c*5')8W*: -/;<=< -. 9 :2>X*5+AW*:-/BC -. C DDEX*5+HW*:-/IJ -. M NKLb*,+PW*:-/KR-.KQ W XKSoY*:VL*,+PW+-/ K-. Ka bcWXD*5Z -/ -.kI[*5]ad<=*,a*,eghad`<M*,aN*5,l66*,a1`*,eg,l6-,2S`6-6,o,t-x6,y,t-x6,-~\ '{V:-/ ;mFxmSk* -.By z{0z6~;FSb{ &nn9L*** -/ -.3*5+W*,N--g:+W+4&KR3-/33&KQ3-. &.1 ,+W+öW+ȶW*+,W+W+W+ ,-/,, ,-. %*%*N- +-2ڧ+-*+* %-/%%# %-. DD* -/ -.O+*5]M*,aN*,:6-+ghS+,->#%O-/O C8 /O-. /  -BH#$ Y*++aI I@ -/ -. @*+2M+,+dN6--*+`2SN*,->!@@!89" .79 $+ M>,,*+2S*,*$$    *N-o-y-YN*ݧ-o o-y y9!#%Y+S16*:57, ,PWY:*H89;VU2<v5y2< :B(+V\svy      @ I=u=++*YKS+ IJ  >?[*a@L=+#*e)N+--a@Sݸ^=+V!B%YGS1>+20!IYJLP+22VPY%1΄+> &V5[8Y\^Z\]6 #$%&*$0)6*>+T,^-,*2 %4 _9aM>&*2`tc6,*2`eS,4!(9m9 ,D!"89; =>!?1=7B @' f+j)Y*iN6*J*27:*2,a``t-c6)Y*:*2`ePW,PW--anH1$: Njmjj\ `j :Zj\] `j:& F HIJ1K:LNMUH[Q )G {|)Y*N++l*-n-r-t*mm\ \]UVW opS A&!IYJvP*VPY%16Y*2*2y:|-t6-6Y`t6 - 27tdd6 !IYJP PP- 2Y%1!IYJP Y%1!IYJPP-VPY%1 e)+2PWp I<aqo  ,AmAD!AAmA\ A\]J`a)c2dIgShaiojtkmnpqrs(v:c@x()Rn@n) uvJ6A*``2:*``2:7-7d-2S-SR.$DJqmJJJmJ*  %(5:AG6 *+ Y*+ Y*|*vY*|*yM+|+*Y+|+yN*Y*|-*|*Y*|+*|+Y+|,+|p*+hY+|*+|M+|+*Y+|+yN*Y*|-*|*Y*|+*|+,>eG`QN)7GUey| RP ij,:-dWd>#RmDJ Q%Iija)+5 @*  @