summaryrefslogtreecommitdiff
path: root/src/gen/lib/ortho
diff options
context:
space:
mode:
Diffstat (limited to 'src/gen/lib/ortho')
-rw-r--r--src/gen/lib/ortho/fPQ__c.java386
-rw-r--r--src/gen/lib/ortho/maze__c.java651
-rw-r--r--src/gen/lib/ortho/ortho__c.java2477
-rw-r--r--src/gen/lib/ortho/partition__c.java847
-rw-r--r--src/gen/lib/ortho/rawgraph__c.java341
-rw-r--r--src/gen/lib/ortho/sgraph__c.java382
-rw-r--r--src/gen/lib/ortho/trapezoid__c.java1061
7 files changed, 6145 insertions, 0 deletions
diff --git a/src/gen/lib/ortho/fPQ__c.java b/src/gen/lib/ortho/fPQ__c.java
new file mode 100644
index 0000000..8058278
--- /dev/null
+++ b/src/gen/lib/ortho/fPQ__c.java
@@ -0,0 +1,386 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class fPQ__c {
+//1 2digov3edok6d5srhgtlmrycs
+// extern lt_symlist_t lt_preloaded_symbols[]
+
+
+//1 baedz5i9est5csw3epz3cv7z
+// typedef Ppoly_t Ppolyline_t
+
+
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+//1 8dfqgf3u1v830qzcjqh9o8ha7
+// extern Agmemdisc_t AgMemDisc
+
+
+//1 18k2oh2t6llfsdc5x0wlcnby8
+// extern Agiddisc_t AgIdDisc
+
+
+//1 a4r7hi80gdxtsv4hdoqpyiivn
+// extern Agiodisc_t AgIoDisc
+
+
+//1 bnzt5syjb7mgeru19114vd6xx
+// extern Agdisc_t AgDefaultDisc
+
+
+//1 35y2gbegsdjilegaribes00mg
+// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected
+
+
+//1 c2rygslq6bcuka3awmvy2b3ow
+// typedef Agsubnode_t Agnoderef_t
+
+
+//1 xam6yv0dcsx57dtg44igpbzn
+// typedef Dtlink_t Agedgeref_t
+
+
+//1 75wd380yhtm1uol93mb8l3kmn
+// static snode** pq
+
+
+//1 8m7y12v9uhpfwb9agee4dvvd7
+// static int PQcnt
+
+
+//1 37df10if13d1k3ddj140oe9ge
+// static snode guard
+
+
+//1 3oj5aj3gc05focs9czbzub5sm
+// static int PQsize
+
+
+
+
+//3 6d62kgw3p14u24ayu546j4r82
+// void PQgen(int sz)
+public static Object PQgen(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("mv0qxfr5hxyhgu3l3m6o47cy"); // PQgen(int sz)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("do3zjq97xzdk5dhii167i60qh"); // if (!pq) {
+UNSUPPORTED("74u3ayhkzemd24zmbuv7wpym8"); // pq = (snode**)zmalloc((sz+1)*sizeof(snode*));
+UNSUPPORTED("dezukzubu9nms24lhvphuawxq"); // pq[0] = &guard;
+UNSUPPORTED("593hemyh9nreh89upeivll5qx"); // PQsize = sz;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 af70676bgfacdrx355e3fm16w
+// void PQfree(void)
+public static Object PQfree(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("a722afmxpzwjdmlojj7lqbxaj"); // PQfree(void)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("efn0baufwv42rir223e1awlhs"); // free (pq);
+UNSUPPORTED("4af6njplv9g18xpb4kh6834b2"); // pq = NULL;
+UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9gva9zqwj67hmfsbnnvelzt5i
+// void PQinit(void)
+public static Object PQinit(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("3p0cdanvp4f13d8omi42lvjl1"); // PQinit(void)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("akljrpu8bej9lq4rmsktz8u2e"); // PQcnt = 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 52wib9gann39qwvmctcw6wxdi
+// void PQcheck (void)
+public static Object PQcheck(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("ais4fu8ea90z9l9gc75rtolae"); // PQcheck (void)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("327a0i7b6rqjqj8wdl0h29mnc"); // int i;
+UNSUPPORTED("ajjv0cjc9s0osbkjlg35z41k"); // for (i = 1; i <= PQcnt; i++) {
+UNSUPPORTED("6mg3o7pwh14yf5rgrii3b7la2"); // if ((pq[i])->n_idx != i) {
+UNSUPPORTED("2kc7vwb5ge1ym5i0vk3t2ku3u"); // assert (0);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2lbfs6ynzlunyatr57r41uvz7
+// void PQupheap(int k)
+public static Object PQupheap(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("5hhoge8azwixhuw1r6f1ae6d"); // PQupheap(int k)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7e1sq1127wt16hr7o0andcwob"); // snode* x = pq[k];
+UNSUPPORTED("7bfu0p9xmzkty10xv4n4l5cqs"); // int v = x->n_val;
+UNSUPPORTED("1j1bbq23z0qzohezignztjo66"); // int next = k/2;
+UNSUPPORTED("ae5pat4mp4l6k25pvk8saz8c7"); // snode* n;
+UNSUPPORTED("70492o1szwz9au93c3is2goa"); // while ((n = pq[next])->n_val < v) {
+UNSUPPORTED("4i53ezzk69bsmpugd2h8bo35"); // pq[k] = n;
+UNSUPPORTED("iolnc8pg22pbme3zbdim1eqy"); // (n)->n_idx = k;
+UNSUPPORTED("8fpdpgwovt0k58t5u167v63is"); // k = next;
+UNSUPPORTED("eqtnhenyor3dwsa6on9crthdd"); // next /= 2;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("1lxwoekai0i8v3rg0vrg6ahmx"); // pq[k] = x;
+UNSUPPORTED("7ss0wudteh17yswf0ihopig7z"); // (x)->n_idx = k;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 dpsy3q4qmuyf70antkm0irwus
+// int PQ_insert(snode* np)
+public static Object PQ_insert(Object... arg) {
+UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int
+UNSUPPORTED("5eeaexrm7pigm7t9d73aqaaht"); // PQ_insert(snode* np)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7d2tojz8u1bqjo7uhe2jqz8ks"); // if (PQcnt == PQsize) {
+UNSUPPORTED("1fnwaiyzr5fvurskinr46kklp"); // agerr (AGERR, "Heap overflow\n");
+UNSUPPORTED("bur99ge8gwr5q0vyjwjyk8z3b"); // return (1);
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("d8u0aq1g7mc9qslpfsw3o3ezz"); // PQcnt++;
+UNSUPPORTED("8f54fbv0205j58hpu3uq3i2ow"); // pq[PQcnt] = np;
+UNSUPPORTED("f4e1yfpgiak6lx72g6gk4nyi0"); // PQupheap (PQcnt);
+UNSUPPORTED("a7h72yd6f22ezx8o0izfoyyzl"); // PQcheck();
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ah2uksf5mfgu7r25rg6poansh
+// void PQdownheap (int k)
+public static Object PQdownheap(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("5jo6sukhc9upf5qv4eukh8kop"); // PQdownheap (int k)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dd3235mkocimg2v70ln8ixz3k"); // snode* x = pq[k];
+UNSUPPORTED("e0wd4mp2k58ml2bf01e6mtxfc"); // int v = (x)->n_val;
+UNSUPPORTED("b9pl90rstqz0jhnw3ttda3kx5"); // int lim = PQcnt/2;
+UNSUPPORTED("917ffzmzxsh6kw3txaqow8dv0"); // snode* n;
+UNSUPPORTED("zrgst5t0lhf2kxrym9g7gvsn"); // int j;
+UNSUPPORTED("7bbx1rekibyh3hyxh24lprwwk"); // while (k <= lim) {
+UNSUPPORTED("disb3eax2r4wgge9im541y9hv"); // j = k+k;
+UNSUPPORTED("e4w7jx4o3i4gav8ujef2bapbn"); // n = pq[j];
+UNSUPPORTED("4yles8zr6ozg2g0df2jefc1l2"); // if (j < PQcnt) {
+UNSUPPORTED("77cupwd0hd3zp8he6wd4tm6nx"); // if ((n)->n_val < (pq[j+1])->n_val) {
+UNSUPPORTED("1jeqo15tfc6vbefwf85bniwfn"); // j++;
+UNSUPPORTED("1sglut5nbxcoto9tvzxs3eixh"); // n = pq[j];
+UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("3hshbuqs95898wh95e2fdh5uz"); // if (v >= (n)->n_val) break;
+UNSUPPORTED("4i53ezzk69bsmpugd2h8bo35"); // pq[k] = n;
+UNSUPPORTED("iolnc8pg22pbme3zbdim1eqy"); // (n)->n_idx = k;
+UNSUPPORTED("8lpwfkimmel90007dlp5eqpbh"); // k = j;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("1lxwoekai0i8v3rg0vrg6ahmx"); // pq[k] = x;
+UNSUPPORTED("7ss0wudteh17yswf0ihopig7z"); // (x)->n_idx = k;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 asdsi15xhxgfyxlqv3bbx7vzv
+// snode* PQremove (void)
+public static Object PQremove(Object... arg) {
+UNSUPPORTED("7qyamsdkopruu23xaccl0bcd2"); // snode*
+UNSUPPORTED("7j2q3l5jxp3w7ags9kr29frzn"); // PQremove (void)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5cu5gkv7lbctrvkomvhsw0j1o"); // snode* n;
+UNSUPPORTED("6078p2rnfog3yn8o3qzs373e2"); // if (PQcnt) {
+UNSUPPORTED("6a46qhtz2fbsmmd370t7fv44f"); // n = pq[1];
+UNSUPPORTED("8s70ivnxixrmkvd1lnojuxkfn"); // pq[1] = pq[PQcnt];
+UNSUPPORTED("7o53ly4ejd7hkmf5tx564eb0x"); // PQcnt--;
+UNSUPPORTED("4e6w4ct22nty5htys3c0346u1"); // if (PQcnt) PQdownheap (1);
+UNSUPPORTED("26oeamvax1w8xlf1fp3w3uwbz"); // PQcheck();
+UNSUPPORTED("69hc24ic55i66g8tf2ne42327"); // return n;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 6dvks137inq1ybpgc3p9il60e
+// void PQupdate (snode* n, int d)
+public static Object PQupdate(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("b1fi3xtkc0mzuq3pimbrumdj3"); // PQupdate (snode* n, int d)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("byrcaa9kitj1mfe0we79iao5b"); // (n)->n_val = d;
+UNSUPPORTED("az1v3dey64e8mmt571cqcmw5b"); // PQupheap (n->n_idx);
+UNSUPPORTED("a7h72yd6f22ezx8o0izfoyyzl"); // PQcheck();
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9u2i85oe7eva5iz0ousp6k9ze
+// void PQprint (void)
+public static Object PQprint(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("837kozmovwrdb83nqf648v9hy"); // PQprint (void)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("29u9nk1nrupcw2j8c7qe5glz7"); // int i;
+UNSUPPORTED("ae5pat4mp4l6k25pvk8saz8c7"); // snode* n;
+UNSUPPORTED("f3w7y9hew7fq41kdfxhc1bni7"); // fprintf (stderr, "Q: ");
+UNSUPPORTED("ajjv0cjc9s0osbkjlg35z41k"); // for (i = 1; i <= PQcnt; i++) {
+UNSUPPORTED("8ma2z0vb3r4euoklbfwtvqixt"); // n = pq[i];
+UNSUPPORTED("5vx4bf24j9k0k7d5db0nzqqho"); // fprintf (stderr, "%d(%d:%d) ",
+UNSUPPORTED("3cv4xg03w7tifmwxdgb02cs87"); // n->index, (n)->n_idx, (n)->n_val);
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("axonnz64pfb53bfq61adrgxoo"); // fprintf (stderr, "\n");
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/maze__c.java b/src/gen/lib/ortho/maze__c.java
new file mode 100644
index 0000000..6da8a07
--- /dev/null
+++ b/src/gen/lib/ortho/maze__c.java
@@ -0,0 +1,651 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class maze__c {
+//1 2digov3edok6d5srhgtlmrycs
+// extern lt_symlist_t lt_preloaded_symbols[]
+
+
+//1 baedz5i9est5csw3epz3cv7z
+// typedef Ppoly_t Ppolyline_t
+
+
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+//1 8dfqgf3u1v830qzcjqh9o8ha7
+// extern Agmemdisc_t AgMemDisc
+
+
+//1 18k2oh2t6llfsdc5x0wlcnby8
+// extern Agiddisc_t AgIdDisc
+
+
+//1 a4r7hi80gdxtsv4hdoqpyiivn
+// extern Agiodisc_t AgIoDisc
+
+
+//1 bnzt5syjb7mgeru19114vd6xx
+// extern Agdisc_t AgDefaultDisc
+
+
+//1 35y2gbegsdjilegaribes00mg
+// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected
+
+
+//1 c2rygslq6bcuka3awmvy2b3ow
+// typedef Agsubnode_t Agnoderef_t
+
+
+//1 xam6yv0dcsx57dtg44igpbzn
+// typedef Dtlink_t Agedgeref_t
+
+
+//1 7uu4dvqjnvvhc0gokmgcs954k
+// extern int odb_flags
+
+
+//1 4322iycvkv4hmlad3noqhgel4
+// char* pre =
+
+
+//1 9ozsa5zdtrgxx0s86gc0suyn5
+// char* post =
+
+
+
+
+//3 9g9xjc2r9n65rkl84jjslos81
+// static void psdump (cell* gcells, int n_gcells, boxf BB, boxf* rects, int nrect)
+public static Object psdump(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("1zp0gx8erzkytols6s6anek61"); // psdump (cell* gcells, int n_gcells, boxf BB, boxf* rects, int nrect)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("2lzsl1e035wt5epd1h8f4bn8m"); // boxf bb;
+UNSUPPORTED("767492ltpvkpzowhpej4wil2b"); // box absbb;
+UNSUPPORTED("60497m34eckxdjihuxvqkxsvu"); // absbb.LL.y = absbb.LL.x = 10;
+UNSUPPORTED("axwbta36ottbp5ug72pnkfza8"); // absbb.UR.x = absbb.LL.x + BB.UR.x - BB.LL.x;
+UNSUPPORTED("5jojnuuk1njt9p0dm3aklyf4c"); // absbb.UR.y = absbb.LL.y + BB.UR.y - BB.LL.y;
+UNSUPPORTED("3n4k59tplss0b8rj6cz8wdq4q"); // fputs (pre, stderr);
+UNSUPPORTED("2c7r664rf3q2nqvcwm076ljgp"); // fprintf (stderr, "%%%%Page: 1 1\n%%%%PageBoundingBox: %d %d %d %d\n",
+UNSUPPORTED("gvo0wqx49546ze4wrba9h2ir"); // absbb.LL.x, absbb.LL.y, absbb.UR.x, absbb.UR.y);
+UNSUPPORTED("9z5vt5st7kmlyqdktlquzkygw"); // fprintf (stderr, "%f %f translate\n", 10-BB.LL.x, 10-BB.LL.y);
+UNSUPPORTED("7v0j1p03zgrz2n8e2sfmouivd"); // fputs ("0 0 1 setrgbcolor\n", stderr);
+UNSUPPORTED("4elp64ghdngy60otlqydxcc95"); // for (i = 0; i < n_gcells; i++) {
+UNSUPPORTED("da5sc56v5aj699nvth2tzez6e"); // bb = gcells[i].bb;
+UNSUPPORTED("1eywmkz80bfnyb49ljgkxcp4x"); // fprintf (stderr, "%f %f %f %f node\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("epywyt7h8b5f1fzegiuykr1r8"); // fputs ("0 0 0 setrgbcolor\n", stderr);
+UNSUPPORTED("cymbkb9p93tw0m4uu2kkj35a0"); // for (i = 0; i < nrect; i++) {
+UNSUPPORTED("6kbayg7dph0ok4aw3x13wjkdp"); // bb = rects[i];
+UNSUPPORTED("6smdn9wdodygfk1sxfjl9q1rt"); // fprintf (stderr, "%f %f %f %f cell\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2to6ts1da6hiyr62cjf8n2rmj"); // fputs ("1 0 0 setrgbcolor\n", stderr);
+UNSUPPORTED("35fqc70o5xuuv6qdrmnv7z6w5"); // fprintf (stderr, "%f %f %f %f cell\n", BB.LL.x, BB.LL.y, BB.UR.x, BB.UR.y);
+UNSUPPORTED("e2cdlwdcpu3n7z9jwqa3s87mz"); // fputs (post, stderr);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 5uuci5ymtq0q51j1getlj2uzd
+// static int vcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc)
+public static Object vcmpid(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("3u88ycwd14efwsvwyy7780jbr"); // vcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("bswiekdugo71hxqryprabuxdm"); // if (key1->x > key2->x) return 1;
+UNSUPPORTED("3xqpzrzrofjfgy263mutuwbhr"); // else if (key1->x < key2->x) return -1;
+UNSUPPORTED("285kfkajed5kbwzt1bg891c12"); // else if (key1->y > key2->y) return 1;
+UNSUPPORTED("3inoestvznj3b5va767iadnzw"); // else if (key1->y < key2->y) return -1;
+UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 cl7ra88xdu22d00wqr6z5p1p3
+// static int hcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc)
+public static Object hcmpid(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("3xjitmu9hfwuxfgr0qi1r04qg"); // hcmpid(Dt_t* d, pointf* key1, pointf* key2, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dlpx729kklw9nbmmywrkawtg1"); // if (key1->y > key2->y) return 1;
+UNSUPPORTED("3inoestvznj3b5va767iadnzw"); // else if (key1->y < key2->y) return -1;
+UNSUPPORTED("axczvcvlh063j4t14thbuiwmx"); // else if (key1->x > key2->x) return 1;
+UNSUPPORTED("3xqpzrzrofjfgy263mutuwbhr"); // else if (key1->x < key2->x) return -1;
+UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+//1 65ld602fx2uotf16tkazo4kf3
+// static Dtdisc_t vdictDisc =
+
+
+//1 bhb4uq3a9aat5tmrtebsgxsza
+// static Dtdisc_t hdictDisc =
+
+
+
+
+//3 p4176ft97w736bpghxhghz3d
+// static void updateWt (cell* cp, sedge* ep, int sz)
+public static Object updateWt(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("7q4w394vp6o5d2mqannru219n"); // updateWt (cell* cp, sedge* ep, int sz)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dfo4tnm2f8dlo52sahedzj5v9"); // ep->cnt++;
+UNSUPPORTED("32vrx8u0i9lp4f9mfpmaun71f"); // if (ep->cnt > sz) {
+UNSUPPORTED("e1mqs9lo2iip945vyvas2qe3z"); // ep->cnt = 0;
+UNSUPPORTED("2a244flkhx1rjpipbgdokjx1k"); // ep->weight += 16384;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 blhjst7f42nyvd6sy299gtm3d
+// void updateWts (sgraph* g, cell* cp, sedge* ep)
+public static Object updateWts(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("bdbwgs1ph76plmvxczfpeo0fd"); // updateWts (sgraph* g, cell* cp, sedge* ep)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e;
+UNSUPPORTED("dkoxg0eyedifjtrm4x8jlyjls"); // int isBend = ((g->nodes + ep->v1)->isVert != (g->nodes + ep->v2)->isVert);
+UNSUPPORTED("d0b6n8bhbzbusomlpcp9nczv7"); // int hsz = (((cp->bb.UR.y - cp->bb.LL.y)-3)/2);
+UNSUPPORTED("48m2yizmm8d4lfvszmls2szq1"); // int vsz = (((cp->bb.UR.x - cp->bb.LL.x)-3)/2);
+UNSUPPORTED("5ecgup35njvagofmc9zaxes1c"); // int minsz = MIN(hsz, vsz);
+UNSUPPORTED("dfamh7ue082plphhry3xdnm7o"); // /* Bend edges are added first */
+UNSUPPORTED("g33yx85p8wg91aap4znjiva4"); // for (i = 0; i < cp->nedges; i++) {
+UNSUPPORTED("3v1e6x1tokguyh1cyk9ny2j26"); // e = cp->edges[i];
+UNSUPPORTED("boxo665ud04gpicwsnvf3dxep"); // if (!((g->nodes + e->v1)->isVert != (g->nodes + e->v2)->isVert)) break;
+UNSUPPORTED("a89fyn41tp3jnm2osk1wr48ke"); // updateWt (cp, e, minsz);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+UNSUPPORTED("dlcr5m1q7b4en52gyl8obhj15"); // for (; i < cp->nedges; i++) {
+UNSUPPORTED("3v1e6x1tokguyh1cyk9ny2j26"); // e = cp->edges[i];
+UNSUPPORTED("2l9n6hxqrnrvrs2lgg2kxpekp"); // if (isBend || (e == ep)) updateWt (cp, e, (((g->nodes + e->v1)->isVert)?hsz:vsz));
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9kapnv38d6faiuxqp4bzksdz1
+// static void markSmall (cell* cp, sgraph* g)
+public static Object markSmall(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("3tdwg2zpiin5w6zoim60p04th"); // markSmall (cell* cp, sgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("b2wz81fy8zanwrmoc1n7arr13"); // snode* onp;
+UNSUPPORTED("50n2otdf7w8whs0szmjkxenig"); // cell* ocp;
+UNSUPPORTED("c4eu95u0g7in27e9oxw15rph0"); // if (((((cp->bb.UR.y-cp->bb.LL.y)-3)/2) < 2)) {
+UNSUPPORTED("8m46r4idk2cejwmyejh6jinky"); // for (i = 0; i < cp->nsides; i++) {
+UNSUPPORTED("biwl8z6o1ijoz32js8fzwvocb"); // onp = cp->sides[i];
+UNSUPPORTED("1aq3dyirdqeh65yempl0l0gnm"); // if (!onp->isVert) continue;
+UNSUPPORTED("1dki697od540pxi3vq3sce42l"); // if (onp->cells[0] == cp) { /* onp on the right of cp */
+UNSUPPORTED("64d5wc2sqfuiw23vs07o4l6s7"); // ocp = onp->cells[1];
+UNSUPPORTED("eu4j3gbjan4f0ttcs7nf6djbr"); // ocp->flags |= 8;
+UNSUPPORTED("9rf28jnwy28nfeeku68ed10xj"); // while ((onp = ocp->sides[M_RIGHT]) && !(onp->cells[1]->flags & 1)) {
+UNSUPPORTED("1akhs24p47qfish65mtm0ukab"); // ocp = onp->cells[1];
+UNSUPPORTED("4u6cjsu9q863vx1aqgb0yihbz"); // ocp->flags |= 8;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("2xswp7wv8mz6jgl7wgro8x4bh"); // else { /* onp on the left of cp */
+UNSUPPORTED("788pevah9rf0z6mjd3asogvnj"); // ocp = onp->cells[0];
+UNSUPPORTED("eu4j3gbjan4f0ttcs7nf6djbr"); // ocp->flags |= 8;
+UNSUPPORTED("1y5bqnhg7i4c1fturqzrm83q4"); // while ((onp = ocp->sides[M_LEFT]) && !(onp->cells[0]->flags & 1)) {
+UNSUPPORTED("du48mhkbj3xddektvxzoot6gk"); // ocp = onp->cells[0];
+UNSUPPORTED("4u6cjsu9q863vx1aqgb0yihbz"); // ocp->flags |= 8;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("916l539e3joqg6fu1g6o6o6m1"); // if (((((cp->bb.UR.x-cp->bb.LL.x)-3)/2) < 2)) {
+UNSUPPORTED("8m46r4idk2cejwmyejh6jinky"); // for (i = 0; i < cp->nsides; i++) {
+UNSUPPORTED("biwl8z6o1ijoz32js8fzwvocb"); // onp = cp->sides[i];
+UNSUPPORTED("eamm9cw0ocdt1wrb6xdeisy4c"); // if (onp->isVert) continue;
+UNSUPPORTED("7w1e0iugb1y82w3gf5mvxqd6n"); // if (onp->cells[0] == cp) { /* onp on the top of cp */
+UNSUPPORTED("64d5wc2sqfuiw23vs07o4l6s7"); // ocp = onp->cells[1];
+UNSUPPORTED("auy2yjaypfi86526pdiw6nxyk"); // ocp->flags |= 16;
+UNSUPPORTED("d88x50zssjd4zw4m00dzwnrig"); // while ((onp = ocp->sides[M_TOP]) && !(onp->cells[1]->flags & 1)) {
+UNSUPPORTED("1akhs24p47qfish65mtm0ukab"); // ocp = onp->cells[1];
+UNSUPPORTED("mf674e2ernvx88oxuj2jvr0z"); // ocp->flags |= 16;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("am0piqqao9stqcscpvwx2n1so"); // else { /* onp on the bottom of cp */
+UNSUPPORTED("788pevah9rf0z6mjd3asogvnj"); // ocp = onp->cells[0];
+UNSUPPORTED("auy2yjaypfi86526pdiw6nxyk"); // ocp->flags |= 16;
+UNSUPPORTED("mi3y18vi9ndcg7qz68bvpahf"); // while ((onp = ocp->sides[M_BOTTOM]) && !(onp->cells[0]->flags & 1)) {
+UNSUPPORTED("du48mhkbj3xddektvxzoot6gk"); // ocp = onp->cells[0];
+UNSUPPORTED("mf674e2ernvx88oxuj2jvr0z"); // ocp->flags |= 16;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3l3sbpuetdu8ntcpo8pz13k3e
+// static void createSEdges (cell* cp, sgraph* g)
+public static Object createSEdges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("eiufnofet665j4i0xks3yggav"); // createSEdges (cell* cp, sgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("axfpgrsg8gskangc3qgtq71hz"); // boxf bb = cp->bb;
+UNSUPPORTED("amp31z1m0vbq1q8zefv5rn3w5"); // double hwt = 1*(bb.UR.x-bb.LL.x);
+UNSUPPORTED("117vv77kpq1u7vcvnavhc82o9"); // double vwt = 1*(bb.UR.y-bb.LL.y);
+UNSUPPORTED("3yg7jb3f3z3wrxh6itkf0d5gf"); // double wt = (hwt + vwt)/2.0 + 500;
+UNSUPPORTED("f3jme7t4b06y2xf3tgf76yger"); // /* We automatically make small channels have high cost to guide routes to
+UNSUPPORTED("516jhn8ke0rkom44i48cqziuj"); // * more spacious channels.
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("cvl5o3802l0vsczlmqn621y5g"); // if (((((bb.UR.y-bb.LL.y)-3)/2) < 2) && !(cp->flags & 8)) {
+UNSUPPORTED("2ork5nyyvrggj5vavnox5dnik"); // hwt = 16384;
+UNSUPPORTED("52900dmw3bmqbe886hkd7f0wt"); // wt = 16384;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("3mb8guxy615hn4v2qy5ypehr3"); // if (((((bb.UR.x-bb.LL.x)-3)/2) < 2) && !(cp->flags & 16)) {
+UNSUPPORTED("aik6n8xli7v6xvo8u3rvr7ii0"); // vwt = 16384;
+UNSUPPORTED("52900dmw3bmqbe886hkd7f0wt"); // wt = 16384;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1r05jnpuv96fwsxl0u1qjjlps"); // if (cp->sides[M_LEFT] && cp->sides[M_TOP])
+UNSUPPORTED("4kbjer1m4fqs6a3a264gga6n8"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_TOP], wt);
+UNSUPPORTED("aedmthruftfexyf7cov7u4vvl"); // if (cp->sides[M_TOP] && cp->sides[M_RIGHT])
+UNSUPPORTED("5hpsphuhuvv1brp42nrttvb31"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_TOP], cp->sides[M_RIGHT], wt);
+UNSUPPORTED("84yyv6mzbxtjgbfa28m4avh6r"); // if (cp->sides[M_LEFT] && cp->sides[M_BOTTOM])
+UNSUPPORTED("tyvf713ih73547d7pf5snxf"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_BOTTOM], wt);
+UNSUPPORTED("bnzsrfjru8dtlqidqs86hye5o"); // if (cp->sides[M_BOTTOM] && cp->sides[M_RIGHT])
+UNSUPPORTED("69cj63j54kgemat46kq68yrsz"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_BOTTOM], cp->sides[M_RIGHT], wt);
+UNSUPPORTED("2sny7e4r4ms0rpg6bxgod0y6w"); // if (cp->sides[M_TOP] && cp->sides[M_BOTTOM])
+UNSUPPORTED("eeawpv5dnk3bza402e1fao0sa"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_TOP], cp->sides[M_BOTTOM], vwt);
+UNSUPPORTED("2suc8k9vfuvh4m53sqo1etd6w"); // if (cp->sides[M_LEFT] && cp->sides[M_RIGHT])
+UNSUPPORTED("9obc9lnx233uhbnedl4zx9ph0"); // cp->edges[cp->nedges++] = createSEdge (g, cp->sides[M_LEFT], cp->sides[M_RIGHT], hwt);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 758etn7f0xldup69utj5juffr
+// static snode* findSVert (sgraph* g, Dt_t* cdt, pointf p, snodeitem* ditems, boolean isVert)
+public static Object findSVert(Object... arg) {
+UNSUPPORTED("1mqfssg5cquehb5bdk2189gy2"); // static snode*
+UNSUPPORTED("cga4obs9816altnwz6esmme8m"); // findSVert (sgraph* g, Dt_t* cdt, pointf p, snodeitem* ditems, boolean isVert)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("10plv37z3rcnamkp6u1f3fbvy"); // snodeitem* n = (*(((Dt_t*)(cdt))->searchf))((cdt),(void*)(&p),0001000);
+UNSUPPORTED("aaebo2bb05xyrm6bioykv7j55"); // if (!n) {
+UNSUPPORTED("2mr1j8jv499c17v211yrq0zid"); // snode* np = createSNode (g);
+UNSUPPORTED("49x5opmvb6qvpbdzvvwx81n7o"); // assert(ditems);
+UNSUPPORTED("9imn5k9pmajz70owgy1yst564"); // n = ditems + np->index;
+UNSUPPORTED("1whmelwelwpr8hmh739a4rx4e"); // n->p = p;
+UNSUPPORTED("8weo3ve11u2juhqncx820pb23"); // n->np = np;
+UNSUPPORTED("9js6alb3fxl3uww30tpdie1cc"); // np->isVert = isVert;
+UNSUPPORTED("lfditfpqzerpfh82n4mjf4e9"); // (*(((Dt_t*)(cdt))->searchf))((cdt),(void*)(n),0000001);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8tkxsnqf69mnlas38600doi66"); // return n->np;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ju0zs4s4k058zbq8y43apnp2
+// static void chkSgraph (sgraph* g)
+public static Object chkSgraph(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("8ywrcod5zukths1uhqhrx6vxw"); // chkSgraph (sgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("327a0i7b6rqjqj8wdl0h29mnc"); // int i;
+UNSUPPORTED("23fb0v6g2dlefe4px8tzi8zra"); // snode* np;
+UNSUPPORTED("3l28r11fb44myi7htm1om4cnr"); // for (i = 0; i < g->nnodes; i++) {
+UNSUPPORTED("8gpm8loz5nt1uxatp2fd3oe6s"); // np = g->nodes+i;
+UNSUPPORTED("43gcbpnat2bgm3ejrf1vmy4u"); // if (!np->cells[0]) fprintf (stderr, "failed at node %d[0]\n", i);
+UNSUPPORTED("4oasbub46ddvzyljkj816mvby"); // assert (np->cells[0]);
+UNSUPPORTED("5cvdi2wx76ojk7uchdcrjcb6i"); // if (!np->cells[1]) fprintf (stderr, "failed at node %d[1]\n", i);
+UNSUPPORTED("8qge8qp4tr5copb51yv5xxzr3"); // assert (np->cells[1]);
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 85o629p94h5u46pgb4a0x1fto
+// static sgraph* mkMazeGraph (maze* mp, boxf bb)
+public static Object mkMazeGraph(Object... arg) {
+UNSUPPORTED("4a0ckv6kz4gak54lxsr6w9ioy"); // static sgraph*
+UNSUPPORTED("3409ksucyvqu8i3qex5l9ogv1"); // mkMazeGraph (maze* mp, boxf bb)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0h9n3v7xo6m86qr2s9jd4nmz"); // int nsides, i, ncnt, maxdeg;
+UNSUPPORTED("8nt6vrkyw6r9ib7riac3cwzd1"); // int bound = 4*mp->ncells;
+UNSUPPORTED("8j75p52hdfny88ny2loms6p80"); // sgraph* g = createSGraph (bound + 2);
+UNSUPPORTED("8p0cao2lz1e6ihnom1zrti2xq"); // Dt_t* vdict = dtopen(&vdictDisc,Dtoset);
+UNSUPPORTED("bpe1gv2u25ttmjwienjfwsyzd"); // Dt_t* hdict = dtopen(&hdictDisc,Dtoset);
+UNSUPPORTED("3lxbgi6k04dub0sshm1mawntn"); // snodeitem* ditems = (snodeitem*)zmalloc((bound)*sizeof(snodeitem));
+UNSUPPORTED("83j9x6relm30wmuipbei491st"); // snode** sides;
+UNSUPPORTED("9w8bspidla7axh1uz7uzys18h"); // /* For each cell, create if necessary and attach a node in search
+UNSUPPORTED("e6kuh48kval5kcakfxzd1z69i"); // * corresponding to each internal face. The node also gets
+UNSUPPORTED("cyfjarx488wrc88fgx2fnek70"); // * a pointer to the cell.
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("8wxcwqqwmrfzljscdhy3971us"); // sides = (snode**)zmalloc((4*mp->ncells)*sizeof(snode*));
+UNSUPPORTED("buvjn27k5tz2673nmlkf9ohz5"); // ncnt = 0;
+UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) {
+UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i;
+UNSUPPORTED("f3gck9cxfm9jzl1864uz2y79q"); // snode* np;
+UNSUPPORTED("7nnzkzxddbza1ae9ba66yaath"); // pointf pt;
+UNSUPPORTED("9l3tga3eg9n944lh5fs2rkb4h"); // cp->nsides = 4;
+UNSUPPORTED("9dfgiofr0fzw0r6lz4qrt9zyw"); // cp->sides = sides + 4*i;
+UNSUPPORTED("bfx5d25fi7joih74q1wr7rf4f"); // if (cp->bb.UR.x < bb.UR.x) {
+UNSUPPORTED("5jm345o0dxsgpqu2h67gvkukd"); // pt.x = cp->bb.UR.x;
+UNSUPPORTED("d899yxmcyrxgknu569q83j56y"); // pt.y = cp->bb.LL.y;
+UNSUPPORTED("al78l565joceq8wykiomytl3v"); // np = findSVert (g, vdict, pt, ditems, NOT(0));
+UNSUPPORTED("dyj0n8pksb6qap9nu5jmfpj9w"); // np->cells[0] = cp;
+UNSUPPORTED("4129rynmdsxu71kxazy1hyycy"); // cp->sides[M_RIGHT] = np;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dequu7puz1aj8ss3oni3mx995"); // if (cp->bb.UR.y < bb.UR.y) {
+UNSUPPORTED("dxvnot4cde33jxs0bsb7nz382"); // pt.x = cp->bb.LL.x;
+UNSUPPORTED("3p9qsubmglgugaw1d40s99klt"); // pt.y = cp->bb.UR.y;
+UNSUPPORTED("c3axnzt640u1xryxs43q8cuab"); // np = findSVert (g, hdict, pt, ditems, 0);
+UNSUPPORTED("dyj0n8pksb6qap9nu5jmfpj9w"); // np->cells[0] = cp;
+UNSUPPORTED("boewakbellfte64hummys1al4"); // cp->sides[M_TOP] = np;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("40k7l6eiot79jgs4q9j5r2kjv"); // if (cp->bb.LL.x > bb.LL.x) {
+UNSUPPORTED("8gfqay3lh5vyrik8rxo1yg2nl"); // np = findSVert (g, vdict, cp->bb.LL, ditems, NOT(0));
+UNSUPPORTED("d2mluf5pmzh4dvlhfdwky76qv"); // np->cells[1] = cp;
+UNSUPPORTED("do45kl0dk4amf3cqorzfqm0tf"); // cp->sides[M_LEFT] = np;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("66y49caixd7f6uqyv2baolqae"); // if (cp->bb.LL.y > bb.LL.y) {
+UNSUPPORTED("2cqyrkg1fyix8wowsnfdeuorq"); // np = findSVert (g, hdict, cp->bb.LL, ditems, 0);
+UNSUPPORTED("d2mluf5pmzh4dvlhfdwky76qv"); // np->cells[1] = cp;
+UNSUPPORTED("bhmdbk8okdxhymkp2zrb7u8xy"); // cp->sides[M_BOTTOM] = np;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("ay0zemsj6o1e18wmjs05jsshs"); // /* For each gcell, corresponding to a node in the input graph,
+UNSUPPORTED("e4frwuwjez68hkt6p71wpwlxp"); // * connect it to its corresponding search nodes.
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("doc2vwrr7r2f4tx2zxpfpypw4"); // maxdeg = 0;
+UNSUPPORTED("4rohfkczkjec9j8oi6c5x026a"); // sides = (snode**)zmalloc((g->nnodes)*sizeof(snode*));
+UNSUPPORTED("3cxv3gaogbbrf3xu2gz1bxd2l"); // nsides = 0;
+UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) {
+UNSUPPORTED("2xvmsgulyy6tipsy4akf2uzj"); // cell* cp = mp->gcells+i;
+UNSUPPORTED("17m8hsxma8135wjiolo05duux"); // pointf pt;
+UNSUPPORTED("4c1f2otw76p0krr6ugzi2malz"); // snodeitem* np;
+UNSUPPORTED("179ywzb15i2sku8g8z7i1boz"); // cp->sides = sides+nsides;
+UNSUPPORTED("6ct8i1irbix7j6hecssdk2o42"); // pt = cp->bb.LL;
+UNSUPPORTED("4ns50pdyghalrjqr4o3qpevji"); // np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(&pt),0001000);
+UNSUPPORTED("298kvmb0795bd6b9fx9zkdwuo"); // for (; np && np->p.x < cp->bb.UR.x; np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(np),0000010)) {
+UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np;
+UNSUPPORTED("iizzgq6n25zyzvx82krjhkem"); // np->np->cells[1] = cp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("evuyxziekv131tbe328a72tga"); // np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(&pt),0001000);
+UNSUPPORTED("7pmcauszxeoqlecavr7kzrzcf"); // for (; np && np->p.y < cp->bb.UR.y; np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(np),0000010)) {
+UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np;
+UNSUPPORTED("iizzgq6n25zyzvx82krjhkem"); // np->np->cells[1] = cp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("5h3mvfcnt7jg2xqse67wo1obl"); // pt.y = cp->bb.UR.y;
+UNSUPPORTED("4ns50pdyghalrjqr4o3qpevji"); // np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(&pt),0001000);
+UNSUPPORTED("298kvmb0795bd6b9fx9zkdwuo"); // for (; np && np->p.x < cp->bb.UR.x; np = (*(((Dt_t*)(hdict))->searchf))((hdict),(void*)(np),0000010)) {
+UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np;
+UNSUPPORTED("accj0ibwtypfqux48mf08irfq"); // np->np->cells[0] = cp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("6e77uu605lqzyoy5chq2wtqfk"); // pt.x = cp->bb.UR.x;
+UNSUPPORTED("4pblgwb16qkmxa4gmvm1k7jt8"); // pt.y = cp->bb.LL.y;
+UNSUPPORTED("evuyxziekv131tbe328a72tga"); // np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(&pt),0001000);
+UNSUPPORTED("7pmcauszxeoqlecavr7kzrzcf"); // for (; np && np->p.y < cp->bb.UR.y; np = (*(((Dt_t*)(vdict))->searchf))((vdict),(void*)(np),0000010)) {
+UNSUPPORTED("eq4x6lu28wtcm0m1ekd1r4pg5"); // cp->sides[cp->nsides++] = np->np;
+UNSUPPORTED("accj0ibwtypfqux48mf08irfq"); // np->np->cells[0] = cp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("20mszbn1fqt3r5famytys2b7k"); // nsides += cp->nsides;
+UNSUPPORTED("6025gj96dwgvacuh99fqz7ojm"); // if (cp->nsides > maxdeg) maxdeg = cp->nsides;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("z0dqo9s1gp2o5rf0c6034igz"); // /* sides = RALLOC (nsides, sides, snode*); */
+UNSUPPORTED("2qr5jfiul6hnhj5d6z80qgpb1"); // /* Mark cells that are small because of a small node, not because of the close
+UNSUPPORTED("2lob3t7thoheoyjm2lymh9i9f"); // * alignment of two rectangles.
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) {
+UNSUPPORTED("2xvmsgulyy6tipsy4akf2uzj"); // cell* cp = mp->gcells+i;
+UNSUPPORTED("3d6qq4g3fw0mz4rcay5nx440a"); // markSmall (cp, g);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("el9dwhqim3arfedly8lrp9vq2"); // /* Set index of two dummy nodes used for real nodes */
+UNSUPPORTED("dyl9rr87m0sgliepkv3gf27cg"); // g->nodes[g->nnodes].index = g->nnodes;
+UNSUPPORTED("3r7b7odsrw99ic8or2omu919p"); // g->nodes[g->nnodes+1].index = g->nnodes+1;
+UNSUPPORTED("2w6qcucx2d9cglbvaflbxw4o6"); // /* create edges
+UNSUPPORTED("1j0arl1zdd5kcgz4ma54mwxi"); // * For each ordinary cell, there can be at most 6 edges.
+UNSUPPORTED("eqw7wagcnifpu2fjni6vek5f8"); // * At most 2 gcells will be used at a time, and each of these
+UNSUPPORTED("xxno67cyczcsgky9n34pauce"); // * can have at most degree maxdeg.
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("bsysrnk2t83p9hwmajmhxyhv0"); // initSEdges (g, maxdeg);
+UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) {
+UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i;
+UNSUPPORTED("7amfovltkaqx2bzlrepw8j5zm"); // createSEdges (cp, g);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("bzohd8qeiebtj0um7pujifzvk"); // /* tidy up memory */
+UNSUPPORTED("alfe6acszsh611blhpw2t224g"); // /* g->nodes = RALLOC (g->nnodes+2, g->nodes, snode); */
+UNSUPPORTED("daoy3ejdfg7yqywgc1d6l42ls"); // /* g->edges = RALLOC (g->nedges+2*maxdeg, g->edges, sedge); */
+UNSUPPORTED("6ay8mbpe7d44870v0xaw2poe1"); // dtclose (vdict);
+UNSUPPORTED("3bw7qxrnqbqniuud4o0r4sfbs"); // dtclose (hdict);
+UNSUPPORTED("dzdth58xx98ya8ggp2giwte05"); // free (ditems);
+UNSUPPORTED("74gpu8xcot4zlnqtwmtwj1gxl"); // chkSgraph (g);
+UNSUPPORTED("ba08yhdiocr2grhsh1n3a6k6z"); // /* save core graph state */
+UNSUPPORTED("1ysafzgp6gjgoh4xzpiziysi4"); // gsave(g);
+UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 47ee79k49zgxrbvcwk6qo1a91
+// maze* mkMaze (graph_t* g, int doLbls)
+public static Object mkMaze(Object... arg) {
+UNSUPPORTED("8ftsypi54d22742r6wjoy5v25"); // maze*
+UNSUPPORTED("chjzymjdqshexf6h9lqtpflg6"); // mkMaze (graph_t* g, int doLbls)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7ma9kdgag30w5ofv1niitxbro"); // node_t* n;
+UNSUPPORTED("aq8iuld39z3anhn3agas7wrpx"); // maze* mp = (maze*)zmalloc(sizeof(maze));
+UNSUPPORTED("170trbmtoncj4hi7wpq7j1v1w"); // boxf* rects;
+UNSUPPORTED("epxy4v5wrs6mm1nymdce9o2mo"); // int i, nrect;
+UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp;
+UNSUPPORTED("aqeh4gm2tudxnfkw4nym58953"); // double w2, h2;
+UNSUPPORTED("8ucfzgk767hqg7v3sq95gwtxz"); // boxf bb, BB;
+UNSUPPORTED("bydgyuxeazagl60ymagro1h9t"); // mp->ngcells = agnnodes(g);
+UNSUPPORTED("bvlzfj9xz0yyl1uqoyot7rtyg"); // cp = mp->gcells = (cell*)zmalloc((mp->ngcells)*sizeof(cell));
+UNSUPPORTED("ffxll70yqx7zs7ajl2nbmdgi"); // BB.LL.x = BB.LL.y = MAXDOUBLE;
+UNSUPPORTED("cz4gqh4qsnqvih07liqyudf1o"); // BB.UR.x = BB.UR.y = -MAXDOUBLE;
+UNSUPPORTED("2ci0azpwlbk63rcshlsj1ve8u"); // for (n = agfstnode (g); n; n = agnxtnode(g,n)) {
+UNSUPPORTED("9eyzmqvpe8fyomq6d83u60ad8"); // w2 = ND_xsize(n)/2.0;
+UNSUPPORTED("a5huvn2de51imlq70uxu06ix1"); // if (w2 < 1) w2 = 1;
+UNSUPPORTED("4165mxclove3sa7vcb5pab3lo"); // h2 = ND_ysize(n)/2.0;
+UNSUPPORTED("5udqpftmbh4p3ikl8bcptzbyf"); // if (h2 < 1) h2 = 1;
+UNSUPPORTED("9s6b5rf5dh58h3k6k8u0d9wpz"); // bb.LL.x = ND_coord(n).x - w2;
+UNSUPPORTED("7makiveicd97c7ttfkw3az03m"); // bb.UR.x = ND_coord(n).x + w2;
+UNSUPPORTED("4iy87lfal1aq0qmyvlj8e6rmy"); // bb.LL.y = ND_coord(n).y - h2;
+UNSUPPORTED("3e4m3beafo37vj6bje1w9qhnx"); // bb.UR.y = ND_coord(n).y + h2;
+UNSUPPORTED("ehjvhmi74i8b9imane6e9gs38"); // BB.LL.x = MIN(BB.LL.x, bb.LL.x);
+UNSUPPORTED("22q0hpto8htuccf0e98b8noee"); // BB.LL.y = MIN(BB.LL.y, bb.LL.y);
+UNSUPPORTED("ah47wdkrpv5cflac5mmhhjdn5"); // BB.UR.x = MAX(BB.UR.x, bb.UR.x);
+UNSUPPORTED("5jcljn7v3ijnrk5mw7tznxrai"); // BB.UR.y = MAX(BB.UR.y, bb.UR.y);
+UNSUPPORTED("cruvxryr09s05g4gxamylge5p"); // cp->bb = bb;
+UNSUPPORTED("1t8h7vwcednduaar7crw1obrk"); // cp->flags |= 1;
+UNSUPPORTED("61mx5zuc5l32rfja607gutu3k"); // ND_alg(n) = cp;
+UNSUPPORTED("4s1pb2i2w7q7dsgd38jko4ff2"); // cp++;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("71u00vuawtzqg4gz0lsai1m4a"); // if (doLbls) {
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("7sfcm5iivxihxyopxhnmyyv9w"); // BB.LL.x -= 36;;
+UNSUPPORTED("5illqz3dav1thosefdf7zf012"); // BB.LL.y -= 36;;
+UNSUPPORTED("5muslgfqvix4h5kxrntmnt2rh"); // BB.UR.x += 36;;
+UNSUPPORTED("5gw6fudbmpkabywynsetntifs"); // BB.UR.y += 36;;
+UNSUPPORTED("12xoan2rb09zbemcgjh189oso"); // rects = partition (mp->gcells, mp->ngcells, &nrect, BB);
+UNSUPPORTED("8qqibd1rblf4kt3wblfja4pch"); // if (odb_flags & 1) psdump (mp->gcells, mp->ngcells, BB, rects, nrect);
+UNSUPPORTED("f0ajael9mvkz908ohbsqp8u46"); // mp->cells = (cell*)zmalloc((nrect)*sizeof(cell));
+UNSUPPORTED("dzo2h9k9ofrv8aifrwhvdxlk"); // mp->ncells = nrect;
+UNSUPPORTED("cymbkb9p93tw0m4uu2kkj35a0"); // for (i = 0; i < nrect; i++) {
+UNSUPPORTED("qb6erte9h6etocgwnpipxn18"); // mp->cells[i].bb = rects[i];
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2uqylplzsbm0qd6yfhl4t4vqi"); // free (rects);
+UNSUPPORTED("ewcr081zwl8ssdtp4n9ofylo0"); // mp->sg = mkMazeGraph (mp, BB);
+UNSUPPORTED("965jxkqp2n8rpzvodac6mz9mg"); // return mp;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 babqclyzdgzlc9rs6vagsa3a9
+// void freeMaze (maze* mp)
+public static Object freeMaze(Object... arg) {
+UNSUPPORTED("ixanx2vs8hc7piq3w1asfrq5"); // void freeMaze (maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("65ltdjbqueg56kn1hn5igwiec"); // free (mp->cells[0].sides);
+UNSUPPORTED("8dgjx2dy276w12zps4vkayrht"); // free (mp->gcells[0].sides);
+UNSUPPORTED("4u4be1832al75o9ui7p8j20dy"); // free (mp->cells);
+UNSUPPORTED("4xldapnzfl3mjsal1a38po778"); // free (mp->gcells);
+UNSUPPORTED("19t5nwndr3zdn7ivgdejb45fh"); // freeSGraph (mp->sg);
+UNSUPPORTED("8v1nc3xpgspux65bxybvk2gxd"); // dtclose (mp->hchans);
+UNSUPPORTED("19jphht7cd5e7ovrg923dx1yo"); // dtclose (mp->vchans);
+UNSUPPORTED("29o1zsbwttldwz75iylxxkrm"); // free (mp);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/ortho__c.java b/src/gen/lib/ortho/ortho__c.java
new file mode 100644
index 0000000..8f66e6d
--- /dev/null
+++ b/src/gen/lib/ortho/ortho__c.java
@@ -0,0 +1,2477 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.JUtilsDebug.ENTERING;
+import static smetana.core.JUtilsDebug.LEAVING;
+import static smetana.core.Macro.UNSUPPORTED;
+import h.boxf;
+import h.pointf;
+import smetana.core.JUtils;
+import smetana.core.__struct__;
+import smetana.core.jmp_buf;
+
+public class ortho__c {
+//1 2digov3edok6d5srhgtlmrycs
+// extern lt_symlist_t lt_preloaded_symbols[]
+
+
+//1 baedz5i9est5csw3epz3cv7z
+// typedef Ppoly_t Ppolyline_t
+
+
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+//1 8dfqgf3u1v830qzcjqh9o8ha7
+// extern Agmemdisc_t AgMemDisc
+
+
+//1 18k2oh2t6llfsdc5x0wlcnby8
+// extern Agiddisc_t AgIdDisc
+
+
+//1 a4r7hi80gdxtsv4hdoqpyiivn
+// extern Agiodisc_t AgIoDisc
+
+
+//1 bnzt5syjb7mgeru19114vd6xx
+// extern Agdisc_t AgDefaultDisc
+
+
+//1 35y2gbegsdjilegaribes00mg
+// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected
+
+
+//1 c2rygslq6bcuka3awmvy2b3ow
+// typedef Agsubnode_t Agnoderef_t
+
+
+//1 xam6yv0dcsx57dtg44igpbzn
+// typedef Dtlink_t Agedgeref_t
+
+
+//1 7uu4dvqjnvvhc0gokmgcs954k
+// extern int odb_flags
+
+
+
+
+//3 ciez0pfggxdljedzsbklq49f0
+// static inline point pointof(int x, int y)
+public static Object pointof(Object... arg) {
+UNSUPPORTED("8e4tj258yvfq5uhsdpk37n5eq"); // static inline point pointof(int x, int y)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r;
+UNSUPPORTED("12jimkrzqxavaie0cpapbx18c"); // r.x = x;
+UNSUPPORTED("7ivmviysahgsc5nn9gtp7q2if"); // r.y = y;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 c1s4k85p1cdfn176o3uryeros
+// static inline pointf pointfof(double x, double y)
+public static __struct__<pointf> pointfof(double x, double y) {
+// WARNING!! STRUCT
+return pointfof_w_(x, y).copy();
+}
+private static __struct__<pointf> pointfof_w_(double x, double y) {
+ENTERING("c1s4k85p1cdfn176o3uryeros","pointfof");
+try {
+ final __struct__<pointf> r = JUtils.from(pointf.class);
+ r.setDouble("x", x);
+ r.setDouble("y", y);
+ return r;
+} finally {
+LEAVING("c1s4k85p1cdfn176o3uryeros","pointfof");
+}
+}
+
+
+
+
+//3 7cufnfitrh935ew093mw0i4b7
+// static inline box boxof(int llx, int lly, int urx, int ury)
+public static Object boxof(Object... arg) {
+UNSUPPORTED("3lzesfdd337h31jrlib1czocm"); // static inline box boxof(int llx, int lly, int urx, int ury)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b;
+UNSUPPORTED("cylhjlutoc0sc0uy7g98m9fb8"); // b.LL.x = llx, b.LL.y = lly;
+UNSUPPORTED("242of6revxzx8hpe7yerrchz6"); // b.UR.x = urx, b.UR.y = ury;
+UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1vvsta5i8of59frav6uymguav
+// static inline boxf boxfof(double llx, double lly, double urx, double ury)
+public static __struct__<boxf> boxfof(double llx, double lly, double urx, double ury) {
+// WARNING!! STRUCT
+return boxfof_w_(llx, lly, urx, ury).copy();
+}
+private static __struct__<boxf> boxfof_w_(double llx, double lly, double urx, double ury) {
+ENTERING("1vvsta5i8of59frav6uymguav","boxfof");
+try {
+ final __struct__<boxf> b = JUtils.from(boxf.class);
+ b.getStruct("LL").setDouble("x", llx);
+ b.getStruct("LL").setDouble("y", lly);
+ b.getStruct("UR").setDouble("x", urx);
+ b.getStruct("UR").setDouble("y", ury);
+ return b;
+} finally {
+LEAVING("1vvsta5i8of59frav6uymguav","boxfof");
+}
+}
+
+
+
+
+//3 1n5xl70wxuabyf97mclvilsm6
+// static inline point add_point(point p, point q)
+public static Object add_point(Object... arg) {
+UNSUPPORTED("6iamka1fx8fk1rohzzse8phte"); // static inline point add_point(point p, point q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r;
+UNSUPPORTED("3n2sizjd0civbzm6iq7su1s2p"); // r.x = p.x + q.x;
+UNSUPPORTED("65ygdo31w09i5i6bd2f7azcd3"); // r.y = p.y + q.y;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 arrsbik9b5tnfcbzsm8gr2chx
+// static inline pointf add_pointf(pointf p, pointf q)
+public static __struct__<pointf> add_pointf(final __struct__<pointf> p, final __struct__<pointf> q) {
+// WARNING!! STRUCT
+return add_pointf_w_(p.copy(), q.copy()).copy();
+}
+private static __struct__<pointf> add_pointf_w_(final __struct__<pointf> p, final __struct__<pointf> q) {
+ENTERING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf");
+try {
+ final __struct__<pointf> r = JUtils.from(pointf.class);
+ r.setDouble("x", p.getDouble("x") + q.getDouble("x"));
+ r.setDouble("y", p.getDouble("y") + q.getDouble("y"));
+ return r;
+} finally {
+LEAVING("arrsbik9b5tnfcbzsm8gr2chx","add_pointf");
+}
+}
+
+
+
+
+//3 ai2dprak5y6obdsflguh5qbd7
+// static inline point sub_point(point p, point q)
+public static Object sub_point(Object... arg) {
+UNSUPPORTED("cd602849h0bce8lu9xegka0ia"); // static inline point sub_point(point p, point q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r;
+UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x;
+UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 16f6pyogcv3j7n2p0n8giqqgh
+// static inline pointf sub_pointf(pointf p, pointf q)
+public static Object sub_pointf(Object... arg) {
+UNSUPPORTED("dmufj44lddsnj0wjyxsg2fcso"); // static inline pointf sub_pointf(pointf p, pointf q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r;
+UNSUPPORTED("4q4q9dveah93si8ajfv59gz27"); // r.x = p.x - q.x;
+UNSUPPORTED("9f90ik0o2yqhanzntpy3d2ydy"); // r.y = p.y - q.y;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9k50jgrhc4f9824vf8ony74rw
+// static inline point mid_point(point p, point q)
+public static Object mid_point(Object... arg) {
+UNSUPPORTED("evy44tdsmu3erff9dp2x835u2"); // static inline point mid_point(point p, point q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r;
+UNSUPPORTED("1a6p6fm57o0wt5ze2btsx06c7"); // r.x = (p.x + q.x) / 2;
+UNSUPPORTED("1kbj5tgdmfi6kf4jgg6skhr6e"); // r.y = (p.y + q.y) / 2;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 59c4f7im0ftyowhnzzq2v9o1x
+// static inline pointf mid_pointf(pointf p, pointf q)
+public static Object mid_pointf(Object... arg) {
+UNSUPPORTED("381o63o9kb04d7gzg65v0r3q"); // static inline pointf mid_pointf(pointf p, pointf q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r;
+UNSUPPORTED("c5vboetlr3mf43wns7iik6m1w"); // r.x = (p.x + q.x) / 2.;
+UNSUPPORTED("bcdf562ldr3bjn78hcay5xd63"); // r.y = (p.y + q.y) / 2.;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 5r18p38gisvcx3zsvbb9saixx
+// static inline pointf interpolate_pointf(double t, pointf p, pointf q)
+public static Object interpolate_pointf(Object... arg) {
+UNSUPPORTED("894yimn33kmtm454llwdaotu8"); // static inline pointf interpolate_pointf(double t, pointf p, pointf q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("ef2acl8wa2ooqcb5vz3098maz"); // pointf r;
+UNSUPPORTED("5tpwuyf5iidesy80v8o4nwkmk"); // r.x = p.x + t * (q.x - p.x);
+UNSUPPORTED("ewnrc5uloj3w5jbmsjcn3wja0"); // r.y = p.y + t * (q.y - p.y);
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 bxzrv2ghq04qk5cbyy68s4mol
+// static inline point exch_xy(point p)
+public static Object exch_xy(Object... arg) {
+UNSUPPORTED("2vxya0v2fzlv5e0vjaa8d414"); // static inline point exch_xy(point p)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c0j3k9xv06332q98k2pgpacto"); // point r;
+UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y;
+UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9lt3e03tac6h6sydljrcws8fd
+// static inline pointf exch_xyf(pointf p)
+public static Object exch_xyf(Object... arg) {
+UNSUPPORTED("8qamrobrqi8jsvvfrxkimrsnw"); // static inline pointf exch_xyf(pointf p)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r;
+UNSUPPORTED("60cojdwc2h7f0m51s9jdwvup7"); // r.x = p.y;
+UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 8l9qhieokthntzdorlu5zn29b
+// static inline box box_bb(box b0, box b1)
+public static Object box_bb(Object... arg) {
+UNSUPPORTED("36et5gmnjrby6o7bq9sgh1hx6"); // static inline box box_bb(box b0, box b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b;
+UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x);
+UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y);
+UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x);
+UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y);
+UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 clws9h3bbjm0lw3hexf8nl4c4
+// static inline boxf boxf_bb(boxf b0, boxf b1)
+public static Object boxf_bb(Object... arg) {
+UNSUPPORTED("dyrqu4ww9osr9c86gqgmifcp6"); // static inline boxf boxf_bb(boxf b0, boxf b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b;
+UNSUPPORTED("8mr2c9xitsqi8z1plbp7ox1hu"); // b.LL.x = MIN(b0.LL.x, b1.LL.x);
+UNSUPPORTED("2egu55ef4u1i03nwz01k7kcrl"); // b.LL.y = MIN(b0.LL.y, b1.LL.y);
+UNSUPPORTED("9n6ei3odbgefwfxvql9whcpe"); // b.UR.x = MAX(b0.UR.x, b1.UR.x);
+UNSUPPORTED("19ocysbuh4pxyft2bqhyhigr1"); // b.UR.y = MAX(b0.UR.y, b1.UR.y);
+UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 bit6ycxo1iqd2al92y8gkzlvb
+// static inline box box_intersect(box b0, box b1)
+public static Object box_intersect(Object... arg) {
+UNSUPPORTED("34gv28cldst09bl71itjgviue"); // static inline box box_intersect(box b0, box b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("52u27kayecy1i1e8bbo8f7s9r"); // box b;
+UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x);
+UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y);
+UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x);
+UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y);
+UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 8gfybie7k6pgb3o1a6llgpwng
+// static inline boxf boxf_intersect(boxf b0, boxf b1)
+public static Object boxf_intersect(Object... arg) {
+UNSUPPORTED("ape22b8z6jfg17gvo42hok9eb"); // static inline boxf boxf_intersect(boxf b0, boxf b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("c57pq0f87j6dnbcvygu7v6k84"); // boxf b;
+UNSUPPORTED("9slu7bixuymxttjic76ha2nl2"); // b.LL.x = MAX(b0.LL.x, b1.LL.x);
+UNSUPPORTED("3uv943c2f82yuif249pf5azob"); // b.LL.y = MAX(b0.LL.y, b1.LL.y);
+UNSUPPORTED("74tf5h16bc9zabq3s3dyny543"); // b.UR.x = MIN(b0.UR.x, b1.UR.x);
+UNSUPPORTED("d99gcv3i7xes7y7rqf8ii20ux"); // b.UR.y = MIN(b0.UR.y, b1.UR.y);
+UNSUPPORTED("2vmm1j57brhn455f8f3iyw6mo"); // return b;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7z8j2quq65govaaejrz7b4cvb
+// static inline int box_overlap(box b0, box b1)
+public static Object box_overlap(Object... arg) {
+UNSUPPORTED("1e9k599x7ygct7r4cfdxlk9u9"); // static inline int box_overlap(box b0, box b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4z0suuut2acsay5m8mg9dqjdu
+// static inline int boxf_overlap(boxf b0, boxf b1)
+public static Object boxf_overlap(Object... arg) {
+UNSUPPORTED("905nejsewihwhhc3bhnrz9nwo"); // static inline int boxf_overlap(boxf b0, boxf b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7a9wwpu7dhdphd08y1ecw54w5"); // return OVERLAP(b0, b1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 dd34swz5rmdgu3a2np2a4h1dy
+// static inline int box_contains(box b0, box b1)
+public static Object box_contains(Object... arg) {
+UNSUPPORTED("aputfc30fjkvy6jx4otljaczq"); // static inline int box_contains(box b0, box b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 8laj1bspbu2i1cjd9upr7xt32
+// static inline int boxf_contains(boxf b0, boxf b1)
+public static Object boxf_contains(Object... arg) {
+UNSUPPORTED("7ccnttkiwt834yfyw0evcm18v"); // static inline int boxf_contains(boxf b0, boxf b1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("87ap80vrh2a4gpprbxr33lrg3"); // return CONTAINS(b0, b1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4wf5swkz24xx51ja2dynbycu1
+// static inline pointf perp (pointf p)
+public static Object perp(Object... arg) {
+UNSUPPORTED("567wpqlg9rv63ynyvxd9sgkww"); // static inline pointf perp (pointf p)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r;
+UNSUPPORTED("2fyydy6t6yifjsczccsb9szeg"); // r.x = -p.y;
+UNSUPPORTED("evp2x66oa4s1tlnc0ytxq2qbq"); // r.y = p.x;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 6dtlpzv4mvgzb9o0b252yweuv
+// static inline pointf scale (double c, pointf p)
+public static Object scale(Object... arg) {
+UNSUPPORTED("c1ngytew34bmkdb7vps5h3dh8"); // static inline pointf scale (double c, pointf p)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cvexv13y9fq49v0j4d5t4cm9f"); // pointf r;
+UNSUPPORTED("dznf7nac14snww4usquyd6r3r"); // r.x = c * p.x;
+UNSUPPORTED("33kk73m8vjcux5tnjl8co2pe6"); // r.y = c * p.y;
+UNSUPPORTED("a2hk6w52njqjx48nq3nnn2e5i"); // return r;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+//1 nye6dsi1twkbddwo9iffca1j
+// extern char *Version
+
+
+//1 65mu6k7h7lb7bx14jpiw7iyxr
+// extern char **Files
+
+
+//1 2rpjdzsdyrvomf00zcs3u3dyn
+// extern const char **Lib
+
+
+//1 6d2f111lntd2rsdt4gswh5909
+// extern char *CmdName
+
+
+//1 a0ltq04fpeg83soa05a2fkwb2
+// extern char *specificFlags
+
+
+//1 1uv30qeqq2jh6uznlr4dziv0y
+// extern char *specificItems
+
+
+//1 7i4hkvngxe3x7lmg5h6b3t9g3
+// extern char *Gvfilepath
+
+
+//1 9jp96pa73kseya3w6sulxzok6
+// extern char *Gvimagepath
+
+
+//1 40ylumfu7mrvawwf4v2asvtwk
+// extern unsigned char Verbose
+
+
+//1 93st8awjy1z0h07n28qycbaka
+// extern unsigned char Reduce
+
+
+//1 f2vs67ts992erf8onwfglurzp
+// extern int MemTest
+
+
+//1 c6f8whijgjwwagjigmxlwz3gb
+// extern char *HTTPServerEnVar
+
+
+//1 cp4hzj7p87m7arw776d3bt7aj
+// extern char *Output_file_name
+
+
+//1 a3rqagofsgraie6mx0krzkgsy
+// extern int graphviz_errors
+
+
+//1 5up05203r4kxvjn1m4njcgq5x
+// extern int Nop
+
+
+//1 umig46cco431x14b3kosde2t
+// extern double PSinputscale
+
+
+//1 52bj6v8fqz39khasobljfukk9
+// extern int Syntax_errors
+
+
+//1 9ekf2ina8fsjj6y6i0an6somj
+// extern int Show_cnt
+
+
+//1 38di5qi3nkxkq65onyvconk3r
+// extern char** Show_boxes
+
+
+//1 6ri6iu712m8mpc7t2670etpcw
+// extern int CL_type
+
+
+//1 bomxiw3gy0cgd1ydqtek7fpxr
+// extern unsigned char Concentrate
+
+
+//1 cqy3gqgcq8empdrbnrhn84058
+// extern double Epsilon
+
+
+//1 64slegfoouqeg0rmbyjrm8wgr
+// extern int MaxIter
+
+
+//1 88wdinpnmfs4mab4aw62yb0bg
+// extern int Ndim
+
+
+//1 8bbad3ogcelqnnvo5br5s05gq
+// extern int State
+
+
+//1 17rnd8q45zclfn68qqst2vxxn
+// extern int EdgeLabelsDone
+
+
+//1 ymx1z4s8cznjifl2d9f9m8jr
+// extern double Initial_dist
+
+
+//1 a33bgl0c3uqb3trx419qulj1x
+// extern double Damping
+
+
+//1 d9lvrpjg1r0ojv40pod1xwk8n
+// extern int Y_invert
+
+
+//1 71efkfs77q5tq9ex6y0f4kanh
+// extern int GvExitOnUsage
+
+
+//1 4xy2dkdkv0acs2ue9eca8hh2e
+// extern Agsym_t *G_activepencolor, *G_activefillcolor, *G_selectedpencolor, *G_selectedfillcolor, *G_visitedpencolor, *G_visitedfillcolor, *G_deletedpencolor, *G_deletedfillcolor, *G_ordering, *G_peripheries, *G_penwidth, *G_gradientangle, *G_margin
+
+
+//1 9js5gxgzr74eakgtfhnbws3t9
+// extern Agsym_t *N_height, *N_width, *N_shape, *N_color, *N_fillcolor, *N_activepencolor, *N_activefillcolor, *N_selectedpencolor, *N_selectedfillcolor, *N_visitedpencolor, *N_visitedfillcolor, *N_deletedpencolor, *N_deletedfillcolor, *N_fontsize, *N_fontname, *N_fontcolor, *N_margin, *N_label, *N_xlabel, *N_nojustify, *N_style, *N_showboxes, *N_sides, *N_peripheries, *N_ordering, *N_orientation, *N_skew, *N_distortion, *N_fixed, *N_imagescale, *N_layer, *N_group, *N_comment, *N_vertices, *N_z, *N_penwidth, *N_gradientangle
+
+
+//1 anqllp9sj7wo45w6bm11j8trn
+// extern Agsym_t *E_weight, *E_minlen, *E_color, *E_fillcolor, *E_activepencolor, *E_activefillcolor, *E_selectedpencolor, *E_selectedfillcolor, *E_visitedpencolor, *E_visitedfillcolor, *E_deletedpencolor, *E_deletedfillcolor, *E_fontsize, *E_fontname, *E_fontcolor, *E_label, *E_xlabel, *E_dir, *E_style, *E_decorate, *E_showboxes, *E_arrowsz, *E_constr, *E_layer, *E_comment, *E_label_float, *E_samehead, *E_sametail, *E_arrowhead, *E_arrowtail, *E_headlabel, *E_taillabel, *E_labelfontsize, *E_labelfontname, *E_labelfontcolor, *E_labeldistance, *E_labelangle, *E_tailclip, *E_headclip, *E_penwidth
+
+
+//1 bh0z9puipqw7gymjd5h5b8s6i
+// extern struct fdpParms_s* fdp_parms
+
+
+//1 6ddu6mrp88g3kun2w1gg8ck8t
+// typedef Dict_t PointSet
+
+
+//1 6t1gwljnc5qkhgkp9oc8y7lhm
+// typedef Dict_t PointMap
+
+
+//1 540u5gu9i0x1wzoxqqx5n2vwp
+// static jmp_buf jbuf
+private static jmp_buf jbuf = new jmp_buf();
+
+//1 4i7exv80uvzrbbvqtmcwqgujj
+// int odb_flags
+
+
+
+
+//3 1fgp1w41g6nj3rcw29phstsaj
+// static cell* cellOf (snode* p, snode* q)
+public static Object cellOf(Object... arg) {
+UNSUPPORTED("earoc9gw4gdp2iwqsdlz5babo"); // static cell*
+UNSUPPORTED("a81f9eexacyqhjwx31312aaij"); // cellOf (snode* p, snode* q)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2p9afojds64j2415r77pe11ot"); // cell* cp = p->cells[0];
+UNSUPPORTED("6s9p9cp0t5f776vclqnqj9dps"); // if ((cp == q->cells[0]) || (cp == q->cells[1])) return cp;
+UNSUPPORTED("3x1wxbq1zv1fxtxbt8cqyf2zm"); // else return p->cells[1];
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 d9bq37gvmpmw51z5hep2ibevp
+// static pointf midPt (cell* cp)
+public static Object midPt(Object... arg) {
+UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf
+UNSUPPORTED("5m9iv8q1cwqhqjdweoca9fxwp"); // midPt (cell* cp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2bghyit203pd6xw2ihhenzyn8"); // pointf p;
+UNSUPPORTED("6wfic6l7qkikzq3uxy7ra5rk8"); // p.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0);
+UNSUPPORTED("270uxtsi045j2nyb091mgys86"); // p.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0);
+UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3fs08z3b3bgjahvaa5l6b4zo0
+// static pointf sidePt (snode* ptr, cell* cp)
+public static Object sidePt(Object... arg) {
+UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf
+UNSUPPORTED("a38yr0nzj0vkqomj9uks960c1"); // sidePt (snode* ptr, cell* cp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2e0v7u9pfngzg11mt4kn3oudg"); // pointf pt;
+UNSUPPORTED("67cqw53uchqjz2cyglbs25v99"); // if (cp == ptr->cells[1]) {
+UNSUPPORTED("7hlq358idsgr518ei0otfvvzn"); // if (ptr->isVert) {
+UNSUPPORTED("dxvnot4cde33jxs0bsb7nz382"); // pt.x = cp->bb.LL.x;
+UNSUPPORTED("64l4d6adxd1dwebr9az75w0bq"); // pt.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("b55gnqjtnj37pizchlqw7tuat"); // pt.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0);
+UNSUPPORTED("d899yxmcyrxgknu569q83j56y"); // pt.y = cp->bb.LL.y;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("7hlq358idsgr518ei0otfvvzn"); // if (ptr->isVert) {
+UNSUPPORTED("5jm345o0dxsgpqu2h67gvkukd"); // pt.x = cp->bb.UR.x;
+UNSUPPORTED("64l4d6adxd1dwebr9az75w0bq"); // pt.y = (((cp->bb.LL.y)+(cp->bb.UR.y))/2.0);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("b55gnqjtnj37pizchlqw7tuat"); // pt.x = (((cp->bb.LL.x)+(cp->bb.UR.x))/2.0);
+UNSUPPORTED("3p9qsubmglgugaw1d40s99klt"); // pt.y = cp->bb.UR.y;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("ak6zrr3ug1q6nedtkthjyg33a"); // return pt;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7emnes5443mx9i54qiv085z3c
+// static void setSeg (segment* sp, int dir, double fix, double b1, double b2, int l1, int l2)
+public static Object setSeg(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("czy1oo8vy1jomzgzissjz1pa8"); // setSeg (segment* sp, int dir, double fix, double b1, double b2, int l1, int l2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2lzx2lnk6n6qiepwpcof58amv"); // sp->isVert = dir;
+UNSUPPORTED("egu7wy8np7s0sfcam1ccn50l8"); // sp->comm_coord = fix;
+UNSUPPORTED("4k7kksif599bd6vj4gbjlgdvu"); // if (b1 < b2) {
+UNSUPPORTED("2kbc7nvci81onspyljnbbm2yy"); // sp->p.p1 = b1;
+UNSUPPORTED("69ntpjs4vuyb4c55h77zuda23"); // sp->p.p2 = b2;
+UNSUPPORTED("a5cq2nxrju7radz9bujgt4rhr"); // sp->l1 = l1;
+UNSUPPORTED("9tatc5wgmjq70eejnp326bw0s"); // sp->l2 = l2;
+UNSUPPORTED("20uja4lokugnba2pfzz5gomz4"); // sp->flipped = 0;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("dmrpx7gtvzbduny1jg7iwe9m4"); // sp->p.p2 = b1;
+UNSUPPORTED("1fydpfnyspbu5e91gaqjd462s"); // sp->p.p1 = b2;
+UNSUPPORTED("1q9i62p8y6lpofiaqtwag6ytb"); // sp->l2 = l1;
+UNSUPPORTED("askwqfrybpj6e7cjozg2h65p2"); // sp->l1 = l2;
+UNSUPPORTED("etuylyul4aqlllu3yotsuuzp8"); // sp->flipped = 1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ejdbblkeiy6k5qhpj8qsj0z8y
+// static route convertSPtoRoute (sgraph* g, snode* fst, snode* lst)
+public static Object convertSPtoRoute(Object... arg) {
+UNSUPPORTED("8fb3yibi0votqqanq3fr6x8pj"); // static route
+UNSUPPORTED("wyj8sug7d8lkktfaafr8tnj7"); // convertSPtoRoute (sgraph* g, snode* fst, snode* lst)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("76tjoqkn7jsh2pn0trcuu3nvs"); // route rte;
+UNSUPPORTED("au5gm9chihcao74rl90b6ryps"); // snode* ptr;
+UNSUPPORTED("cywzrf8tem3eh04r3uc8ah1di"); // snode* next;
+UNSUPPORTED("dvl617t5wak51pbm6b2wwpq7a"); // snode* prev; /* node in shortest path just previous to next */
+UNSUPPORTED("ccl0rgdbwuva223xhat8drba8"); // int i, sz = 0;
+UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp;
+UNSUPPORTED("a5qjw7t9yw4fy2yn8wybaubwv"); // cell* ncp;
+UNSUPPORTED("8tfdncboqzrme5mtb8miqamt8"); // segment seg;
+UNSUPPORTED("e8ttz1kqzt1p2bbcbynxzgxwr"); // double fix, b1, b2;
+UNSUPPORTED("1znk1bh9hsbr0uenjzfdyl00x"); // int l1, l2;
+UNSUPPORTED("af5fm46r9aa1jyef1lcxmilbj"); // pointf bp1, bp2, prevbp; /* bend points */
+UNSUPPORTED("b6zcm30rwu0uuagbtdyocmn03"); // /* count no. of nodes in shortest path */
+UNSUPPORTED("2wn8ggohh5i2zmr4zmswe82yn"); // for (ptr = fst; ptr; ptr = (ptr)->n_dad) sz++;
+UNSUPPORTED("32gg7r7g3ge2w1h3so5nleqkn"); // rte.n = 0;
+UNSUPPORTED("c8dglxlwc6735e241xb2kleps"); // rte.segs = (segment*)zmalloc((sz-2)*sizeof(segment)); /* at most sz-2 segments */
+UNSUPPORTED("anlmm69dbu1fyet3im0yytjdv"); // seg.prev = seg.next = 0;
+UNSUPPORTED("99cys70aea9mlxqhd6l7nznh8"); // ptr = prev = (fst)->n_dad;
+UNSUPPORTED("adcxm0zct91fjkt21xpk7t2oc"); // next = (ptr)->n_dad;
+UNSUPPORTED("cw4hqow3w9qpnqan38q4lzr80"); // if ((ptr->cells[0]->flags & 1))
+UNSUPPORTED("f3ouda0gkwbhpq1ghgnvzs28s"); // cp = ptr->cells[1];
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("bwecpy85k4r89mdewgkqnxmqs"); // cp = ptr->cells[0];
+UNSUPPORTED("8hu317tt07i24q0t1njlxgaaj"); // bp1 = sidePt (ptr, cp);
+UNSUPPORTED("fojny6cnx3nf3wyctl8jt3m1"); // while ((next)->n_dad!=NULL) {
+UNSUPPORTED("4685y9um6houwpnmq3o3xdnbl"); // ncp = cellOf (prev, next);
+UNSUPPORTED("8avl1rf7puyncfn3xpiz6jmyq"); // updateWts (g, ncp, (ptr)->n_edge);
+UNSUPPORTED("e9wkqtlau9mlc4plmvuuh9n7t"); // /* add seg if path bends or at end */
+UNSUPPORTED("f4tdpv7sv5hrh14s0m0qn6ijr"); // if ((ptr->isVert != next->isVert) || ((next)->n_dad == lst)) {
+UNSUPPORTED("c536jildnbvxtl2yss5a5uez"); // if (ptr->isVert != next->isVert)
+UNSUPPORTED("8hpdisbshs8wjwypt17ftfmfg"); // bp2 = midPt (ncp);
+UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else
+UNSUPPORTED("c06vwwj01jup12zkp64pdhnl5"); // bp2 = sidePt(next, ncp);
+UNSUPPORTED("1yychnglbjeaemvsoqr67uc24"); // if (ptr->isVert) { /* horizontal segment */
+UNSUPPORTED("dvn1bwxcs69692i2rl1pm8ks9"); // if (ptr == (fst)->n_dad) l1 = B_NODE;
+UNSUPPORTED("7xkaeei1db8jok1w7cm6ipvij"); // else if (prevbp.y > bp1.y) l1 = B_UP;
+UNSUPPORTED("eudlpvdzus72tg534zqj1oyt2"); // else l1 = B_DOWN;
+UNSUPPORTED("2u5nit0ixq58ppnkni37zkx0p"); // if (ptr->isVert != next->isVert) {
+UNSUPPORTED("ho3qdbjkg3vo1gms22e3owtc"); // if (next->cells[0] == ncp) l2 = B_UP;
+UNSUPPORTED("yfq0lkdewjlujiizjym1ixwn"); // else l2 = B_DOWN;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("wfw1pwgc72zyl8jhmc2mx9q1"); // else l2 = B_NODE;
+UNSUPPORTED("1kjvrvanocnesq3lr4m4rkpql"); // fix = cp->bb.LL.y;
+UNSUPPORTED("3l1nsh8rq7tmjt0aaypvrjafd"); // b1 = cp->bb.LL.x;
+UNSUPPORTED("bdk1ammkqt91fkcw3tko38c4f"); // b2 = ncp->bb.LL.x;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("3jhmgphu961hd77sesd05sgwa"); // else { /* vertical segment */
+UNSUPPORTED("dvn1bwxcs69692i2rl1pm8ks9"); // if (ptr == (fst)->n_dad) l1 = B_NODE;
+UNSUPPORTED("5omok2oqvkufnr17ynsa5l31u"); // else if (prevbp.x > bp1.x) l1 = B_RIGHT;
+UNSUPPORTED("5u8ur9yzca1q5snap89wagubu"); // else l1 = B_LEFT;
+UNSUPPORTED("2u5nit0ixq58ppnkni37zkx0p"); // if (ptr->isVert != next->isVert) {
+UNSUPPORTED("70wuwqcivcyzgs1tpuyker0tw"); // if (next->cells[0] == ncp) l2 = B_RIGHT;
+UNSUPPORTED("b1h57bzme4p9um8dgwvjorz6d"); // else l2 = B_LEFT;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("wfw1pwgc72zyl8jhmc2mx9q1"); // else l2 = B_NODE;
+UNSUPPORTED("a6wqml6r0ya7a0ukfjl1akcof"); // fix = cp->bb.LL.x;
+UNSUPPORTED("c5y1a76ll49xwb6f525w31cxw"); // b1 = cp->bb.LL.y;
+UNSUPPORTED("5y9rsak5s8cwzp9r7hqzjtdn2"); // b2 = ncp->bb.LL.y;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("5ytq0i1egd8zgjegz2alyi2l"); // setSeg (&seg, !ptr->isVert, fix, b1, b2, l1, l2);
+UNSUPPORTED("3d5wnmejfwzawn8av2oedjr6w"); // rte.segs[rte.n++] = seg;
+UNSUPPORTED("4butkpw7q0mfe8ci5ktgzfx7h"); // cp = ncp;
+UNSUPPORTED("6euarq5hpmo6fnhw9236tny10"); // prevbp = bp1;
+UNSUPPORTED("9ak3tu9gfug7h6n5oe3atds63"); // bp1 = bp2;
+UNSUPPORTED("6upeg6isij4ds1zu1jxrpacvy"); // if ((ptr->isVert != next->isVert) && ((next)->n_dad == lst)) {
+UNSUPPORTED("c06vwwj01jup12zkp64pdhnl5"); // bp2 = sidePt(next, ncp);
+UNSUPPORTED("1ud8fuhorhhfedc95moinbg3n"); // l2 = B_NODE;
+UNSUPPORTED("7i3it08m376phdxh0p1uzqai5"); // if (next->isVert) { /* horizontal segment */
+UNSUPPORTED("6i41faageoastaoondsec5yp4"); // if (prevbp.y > bp1.y) l1 = B_UP;
+UNSUPPORTED("5g30gkn2ryx49ev1n4e2smcx9"); // else l1 = B_DOWN;
+UNSUPPORTED("8fxukh2rk7ex4092kgv805ite"); // fix = cp->bb.LL.y;
+UNSUPPORTED("cuz1j4nsn7d1nc8gyk6pwxms4"); // b1 = cp->bb.LL.x;
+UNSUPPORTED("6bi6zqtgdmd0jnfszi2huxntb"); // b2 = ncp->bb.LL.x;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("qmgaeq8ywmhhu9os2y3ykl5h"); // if (prevbp.x > bp1.x) l1 = B_RIGHT;
+UNSUPPORTED("elww0yfcft9fn920zdzqjqag4"); // else l1 = B_LEFT;
+UNSUPPORTED("e942krdqcom8eneazkyc1gf5i"); // fix = cp->bb.LL.x;
+UNSUPPORTED("225z3yt58cl9ma5i7jb3b6zj1"); // b1 = cp->bb.LL.y;
+UNSUPPORTED("2grsi5yyliiziqp3ehv7saoqg"); // b2 = ncp->bb.LL.y;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("atcm0274c8dmqoq2enw1723k1"); // setSeg (&seg, !next->isVert, fix, b1, b2, l1, l2);
+UNSUPPORTED("6eajjgh7sernfrp1c4gqwdqva"); // rte.segs[rte.n++] = seg;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("5oraagbeabq0cwuspqij33hro"); // ptr = next;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("1qyv8z4yk5u9fxyioeycj4pg4"); // prev = next;
+UNSUPPORTED("dtddoorswdnxqgywntqy6r3rj"); // next = (next)->n_dad;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6wc8b07bbvef9c5f0xaq0a7w7"); // rte.segs = realloc (rte.segs, rte.n*sizeof(segment));
+UNSUPPORTED("9t92jm5uuo94z4984kskv1zs1"); // for (i=0; i<rte.n; i++) {
+UNSUPPORTED("5lyp63c6dqwdpk6sdzho7f12g"); // if (i > 0)
+UNSUPPORTED("6ocqv4us3offjwlpkz1trldjf"); // rte.segs[i].prev = rte.segs + (i-1);
+UNSUPPORTED("140nkijwoi101c4avzme9y00x"); // if (i < rte.n-1)
+UNSUPPORTED("2zgm1op1kek2062uh1ir84v1p"); // rte.segs[i].next = rte.segs + (i+1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6rsvido8aoxm4xz31egwihvie"); // return rte;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 aqw2pcwz2wbv0f1rw9usmyqgf
+// static void freeChannel (Dt_t* d, channel* cp, Dtdisc_t* disc)
+public static Object freeChannel(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("c9euy7p3sclc7ckkp1bzs1jx"); // freeChannel (Dt_t* d, channel* cp, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b9qijws3odg8l7q5fou8uuguj"); // free_graph (cp->G);
+UNSUPPORTED("q5fdp3fynm4ytf68bfq4eyi1"); // free (cp->seg_list);
+UNSUPPORTED("15g2jqm1fxtvztnindiv43hg9"); // free (cp);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 czg5smuwmyt5ciilshur9hm5e
+// static void freeChanItem (Dt_t* d, chanItem* cp, Dtdisc_t* disc)
+public static Object freeChanItem(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("3shy48lfkzdtnmko723ebxmhv"); // freeChanItem (Dt_t* d, chanItem* cp, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2j623061b9jjl1jqz6i2eartz"); // dtclose (cp->chans);
+UNSUPPORTED("15g2jqm1fxtvztnindiv43hg9"); // free (cp);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 cbapcnadrscvk8m1ip2223p3e
+// static int chancmpid(Dt_t* d, paird* key1, paird* key2, Dtdisc_t* disc)
+public static Object chancmpid(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("c3dmj421aezge5a3ggj2xi34t"); // chancmpid(Dt_t* d, paird* key1, paird* key2, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2jh3acz833d3cdotdb2s5kr3v"); // if (key1->p1 > key2->p1) {
+UNSUPPORTED("p297m3b0zcsixgurzbmjqkqr"); // if (key1->p2 <= key2->p2) return 0;
+UNSUPPORTED("ayizfb4et318igswkluxa6rgf"); // else return 1;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("awnfnp6rvvw6qa9g0i6vjio9k"); // else if (key1->p1 < key2->p1) {
+UNSUPPORTED("6hzvi4g07ent2az0wn1att4zj"); // if (key1->p2 >= key2->p2) return 0;
+UNSUPPORTED("c20igl46iqplts26214lc7ebm"); // else return -1;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 659jucoqq7j1ud5wehj42ik2d
+// static int dcmpid(Dt_t* d, double* key1, double* key2, Dtdisc_t* disc)
+public static Object dcmpid(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("6vxm1h1q3grwa81zaivfch1re"); // dcmpid(Dt_t* d, double* key1, double* key2, Dtdisc_t* disc)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1cu94gjng90rrt7xtp42ifr1"); // if (*key1 > *key2) return 1;
+UNSUPPORTED("3h1tdtwyfqaqhne2o7pz8yq9h"); // else if (*key1 < *key2) return -1;
+UNSUPPORTED("7lrkjjj5lce2uf86c1y9o9yoa"); // else return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+//1 ethokur0ooay9stl4lw8geq1r
+// static Dtdisc_t chanDisc =
+
+
+//1 db0w2llnzryezehbaes3knwwv
+// static Dtdisc_t chanItemDisc =
+
+
+
+
+//3 1yykle604b3x2mutto2rk7k0q
+// static void addChan (Dt_t* chdict, channel* cp, double j)
+public static Object addChan(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("5y1j3qnhsbg3b86o7hpanej1s"); // addChan (Dt_t* chdict, channel* cp, double j)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("67yxlxmzwjczlfm96jhe7luye"); // chanItem* subd = (*(((Dt_t*)(chdict))->searchf))((chdict),(void*)(&j),0001000);
+UNSUPPORTED("bl97x4t04cnuvu98zcsh3u3r1"); // if (!subd) {
+UNSUPPORTED("92ya0nhv9b16cc5o2095t5rp2"); // subd = (chanItem*)zmalloc(sizeof(chanItem));
+UNSUPPORTED("6kkqd46tx54vo55rc8xyc93dg"); // subd->v = j;
+UNSUPPORTED("e4cijg0myh4jmsjklqxc3ia0r"); // subd->chans = dtopen (&chanDisc, Dtoset);
+UNSUPPORTED("anh61bjg3nlucvypx7x43xfk7"); // (*(((Dt_t*)(chdict))->searchf))((chdict),(void*)(subd),0000001);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("344a2yp8gxqtygac1hl0bxduf"); // (*(((Dt_t*)(subd->chans))->searchf))((subd->chans),(void*)(cp),0000001);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 870j0jbluhoffx3ke1eog9a0e
+// static Dt_t* extractHChans (maze* mp)
+public static Object extractHChans(Object... arg) {
+UNSUPPORTED("2xt7ub3z01qt6i7l0luh5zpbd"); // static Dt_t*
+UNSUPPORTED("6h6avfk40i1d436sls3sjaic3"); // extractHChans (maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np;
+UNSUPPORTED("2pyx8we0m19pr0whdh4wa2df9"); // Dt_t* hchans = dtopen (&chanItemDisc, Dtoset);
+UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) {
+UNSUPPORTED("6mflke7nml2pfj18uu5t0itb2"); // channel* chp;
+UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i;
+UNSUPPORTED("4id7mgutk26h361i0yn0dr0c9"); // cell* nextcp;
+UNSUPPORTED("lrx70e5v1i9g2x8dyh0781af"); // if ((cp->flags & 4)) continue;
+UNSUPPORTED("4fw3zqbj9rdk41p6d04n8l4p9"); // /* move left */
+UNSUPPORTED("4hw0byd0u8kw6qzgqn54tsvsm"); // while ((np = cp->sides[M_LEFT]) && (nextcp = np->cells[0]) &&
+UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) {
+UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("cor1kngy665478bu9tlxw55y0"); // chp = (channel*)zmalloc(sizeof(channel));
+UNSUPPORTED("3tv0uje2s5tbgyq4tltlazjfp"); // chp->cp = cp;
+UNSUPPORTED("241dtcbm0olj1vf27gmksfshg"); // chp->p.p1 = cp->bb.LL.x;
+UNSUPPORTED("67k0t4al7ygki756mk386ga5v"); // /* move right */
+UNSUPPORTED("c89349lhw5ip8nh8afxcjd01t"); // cp->flags |= 4;
+UNSUPPORTED("6ky3mzdgm24nohd7cwj4ljp2k"); // while ((np = cp->sides[M_RIGHT]) && (nextcp = np->cells[1]) &&
+UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) {
+UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp;
+UNSUPPORTED("1en3ueviartdiagf21oyb422w"); // cp->flags |= 4;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("78071fo42hy6imylzbfy3bf8i"); // chp->p.p2 = cp->bb.UR.x;
+UNSUPPORTED("e8p02vlsess6lxodmtmo1c1ms"); // addChan (hchans, chp, chp->cp->bb.LL.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("bq8ebjnwnc14ngjegh07xcdh7"); // return hchans;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7s43hm0mz2wo1mdduca26ojr5
+// static Dt_t* extractVChans (maze* mp)
+public static Object extractVChans(Object... arg) {
+UNSUPPORTED("2xt7ub3z01qt6i7l0luh5zpbd"); // static Dt_t*
+UNSUPPORTED("c36zuoh2qlc3lrap5d8f3y8lk"); // extractVChans (maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np;
+UNSUPPORTED("dnn2hmk22k5leb4unfdv23ay"); // Dt_t* vchans = dtopen (&chanItemDisc, Dtoset);
+UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) {
+UNSUPPORTED("6mflke7nml2pfj18uu5t0itb2"); // channel* chp;
+UNSUPPORTED("2noex6z427j2b0xavovcqkxja"); // cell* cp = mp->cells+i;
+UNSUPPORTED("4id7mgutk26h361i0yn0dr0c9"); // cell* nextcp;
+UNSUPPORTED("4oetph2txtwv1olvghotnhpps"); // if ((cp->flags & 2)) continue;
+UNSUPPORTED("c6rkuey5ihzorfjp9881pbmej"); // /* move down */
+UNSUPPORTED("a9307fsrcb38pq8una61um0oe"); // while ((np = cp->sides[M_BOTTOM]) && (nextcp = np->cells[0]) &&
+UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) {
+UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("cor1kngy665478bu9tlxw55y0"); // chp = (channel*)zmalloc(sizeof(channel));
+UNSUPPORTED("3tv0uje2s5tbgyq4tltlazjfp"); // chp->cp = cp;
+UNSUPPORTED("1yizwyrbv5k2pljd9srrt507t"); // chp->p.p1 = cp->bb.LL.y;
+UNSUPPORTED("9l69ytmot9sii7jf1nezunp0j"); // /* move up */
+UNSUPPORTED("ekzngugyx3nx0hy0tcenivo3e"); // cp->flags |= 2;
+UNSUPPORTED("eaga01f5n4bcc04jzd7koe2zn"); // while ((np = cp->sides[M_TOP]) && (nextcp = np->cells[1]) &&
+UNSUPPORTED("rfl3ehaprpjsjs96qg8xsipw"); // !(nextcp->flags & 1)) {
+UNSUPPORTED("292smg9hw43fsfevnum565skt"); // cp = nextcp;
+UNSUPPORTED("2z9bt6rzic3h5f2bswrctlkm5"); // cp->flags |= 2;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("4t6wc1803m511jzzii1e5refw"); // chp->p.p2 = cp->bb.UR.y;
+UNSUPPORTED("117s1riz7scnahvfdhjad7oo7"); // addChan (vchans, chp, chp->cp->bb.LL.x);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("mc3k9myynjaxs0u8wam7xntw"); // return vchans;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3fx0dtmoubptoy863qaohsyiv
+// static void insertChan (channel* chan, segment* seg)
+public static Object insertChan(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("9wvfovtdcnhpa9y21q29xb2xs"); // insertChan (channel* chan, segment* seg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8rut445afekmag201py7zerog"); // seg->ind_no = chan->cnt++;
+UNSUPPORTED("1fpx5uvyy1jw7h6nzfgxqij4q"); // chan->seg_list = ALLOC(chan->cnt, chan->seg_list, segment*);
+UNSUPPORTED("dtkgbijbhv6zio2otpjus55me"); // chan->seg_list[chan->cnt-1] = seg;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2k7dmuexcawtry3q8ifzylkb9
+// static channel* chanSearch (Dt_t* chans, segment* seg)
+public static Object chanSearch(Object... arg) {
+UNSUPPORTED("9qh7gtx6joh26yrtekarlkx5k"); // static channel*
+UNSUPPORTED("6iggv78oc0ydb9b7w5c37fcdb"); // chanSearch (Dt_t* chans, segment* seg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6ysgprb9sb91hot466r1pbjvf"); // channel* cp;
+UNSUPPORTED("3eoemzrlaus9ecq2mmuirfx2e"); // chanItem* chani = (*(((Dt_t*)(chans))->searchf))((chans),(void*)(&seg->comm_coord),0001000);
+UNSUPPORTED("xbnh2djh0amu19ivzrfv1zrb"); // assert (chani);
+UNSUPPORTED("a5sgr1i6e2c5nbli6kjtt8w0o"); // cp = (*(((Dt_t*)(chani->chans))->searchf))((chani->chans),(void*)(&seg->p),0001000);
+UNSUPPORTED("1e4wppypayzgri783mhjwfvr3"); // assert (cp);
+UNSUPPORTED("4jjmko29xep9s4rocrlxrqsof"); // return cp;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 e8ecrel25ykgpfve8c2pg90bt
+// static void assignSegs (int nrtes, route* route_list, maze* mp)
+public static Object assignSegs(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("9gbzlbbthoblu6f8211e9rp46"); // assignSegs (int nrtes, route* route_list, maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan;
+UNSUPPORTED("dzpsknrwv8qkqq20hjnjpjn68"); // int i, j;
+UNSUPPORTED("arcr89i9kld6j0uwf2fd919vf"); // for (i=0;i<nrtes;i++) {
+UNSUPPORTED("8nmg5kva9un1iagmu3w2ewcpz"); // route rte = route_list[i];
+UNSUPPORTED("9ken3gc0llddmodnj5r6bw80u"); // for (j=0;j<rte.n;j++) {
+UNSUPPORTED("x3l60c48rutxrsfwa82yiy0b"); // segment* seg = rte.segs+j;
+UNSUPPORTED("b131wmg0a9ey6t0bzxmyjvujo"); // if (seg->isVert)
+UNSUPPORTED("bdeg9z0esjwizlyn8av1pup0v"); // chan = chanSearch(mp->vchans, seg);
+UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else
+UNSUPPORTED("52uzmq8ikrhropj8svxedldsn"); // chan = chanSearch(mp->hchans, seg);
+UNSUPPORTED("73ufkqlb3bea3t1t87hm2wgdl"); // insertChan (chan, seg);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4648ghx1zvrhmfvw1szjx5en
+// static void addLoop (sgraph* sg, cell* cp, snode* dp, snode* sp)
+public static Object addLoop(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("a3tsmcxhg7iyjoceb1tpll3mb"); // addLoop (sgraph* sg, cell* cp, snode* dp, snode* sp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("a5bapcojbf1pon4upj40dgnit"); // int onTop;
+UNSUPPORTED("2mmprwecm43sdonztnzfjh86u"); // pointf midp = midPt (cp);
+UNSUPPORTED("2zty3wxdquu2fbdk9ag3eibug"); // for (i = 0; i < cp->nsides; i++) {
+UNSUPPORTED("6aknf99z3dbb067he348v23c2"); // cell* ocp;
+UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p;
+UNSUPPORTED("97a26i8tw0qmzg5i2dlia94tf"); // double wt;
+UNSUPPORTED("2o74t2kk9zszzjmhl2o58radp"); // snode* onp = cp->sides[i];
+UNSUPPORTED("2bh0qvoskfpyikivdli33p1t7"); // if (onp->isVert) continue;
+UNSUPPORTED("3r96db0og4bylr45sqo2u7ire"); // if (onp->cells[0] == cp) {
+UNSUPPORTED("5ld3bwx3i8kedyixr9hiunybw"); // onTop = 1;
+UNSUPPORTED("7u4yqyzc7gp7vvs8j9a8o1vz3"); // ocp = onp->cells[1];
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("4nrjdhrb9ccxue57dab1e82ec"); // onTop = 0;
+UNSUPPORTED("5t2fdtivke5zplmmsz3noc2h2"); // ocp = onp->cells[0];
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("3o5hqzfql7utdq40v2mp489na"); // p = sidePt (onp, ocp);
+UNSUPPORTED("2pqzno9l1yhihvq61yikfha7x"); // wt = abs(p.x - midp.x) + abs(p.y - midp.y);
+UNSUPPORTED("eeypctdtd8leg1t71p1ef13ns"); // if (onTop)
+UNSUPPORTED("ay6bley4n4nuqyi003sc8kb3d"); // createSEdge (sg, sp, onp, 0); /* FIX weight */
+UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else
+UNSUPPORTED("bhgjjjfikli3ur37hc7x7pvem"); // createSEdge (sg, dp, onp, 0); /* FIX weight */
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("3o1amzqcqc6xflt5rclqgaoop"); // sg->nnodes += 2;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 89iyhk6f9rhg0e8rz0hlwkesx
+// static void addNodeEdges (sgraph* sg, cell* cp, snode* np)
+public static Object addNodeEdges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("3s08k325s6c0dzl8xxm0e71pf"); // addNodeEdges (sgraph* sg, cell* cp, snode* np)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("2mmprwecm43sdonztnzfjh86u"); // pointf midp = midPt (cp);
+UNSUPPORTED("2zty3wxdquu2fbdk9ag3eibug"); // for (i = 0; i < cp->nsides; i++) {
+UNSUPPORTED("2o74t2kk9zszzjmhl2o58radp"); // snode* onp = cp->sides[i];
+UNSUPPORTED("6aknf99z3dbb067he348v23c2"); // cell* ocp;
+UNSUPPORTED("9wdrv4uc4c7ssn0qpmxgz5eu1"); // pointf p;
+UNSUPPORTED("97a26i8tw0qmzg5i2dlia94tf"); // double wt;
+UNSUPPORTED("5tmebwuyw7chpq5iitcyuvnod"); // if (onp->cells[0] == cp)
+UNSUPPORTED("7u4yqyzc7gp7vvs8j9a8o1vz3"); // ocp = onp->cells[1];
+UNSUPPORTED("9352ql3e58qs4fzapgjfrms2s"); // else
+UNSUPPORTED("5t2fdtivke5zplmmsz3noc2h2"); // ocp = onp->cells[0];
+UNSUPPORTED("3o5hqzfql7utdq40v2mp489na"); // p = sidePt (onp, ocp);
+UNSUPPORTED("2pqzno9l1yhihvq61yikfha7x"); // wt = abs(p.x - midp.x) + abs(p.y - midp.y);
+UNSUPPORTED("d513bewr1npimr2it2ia2k56r"); // createSEdge (sg, np, onp, 0); /* FIX weight */
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("580kqdl0txe4fd1g3jdsx7oj8"); // sg->nnodes++;
+UNSUPPORTED("8dkxzvuy1kheqf9w0lmvljni5"); // np->cells[0] = np->cells[1] = cp;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7yrubx0zxon9c2uglsfqdw6wb
+// static char* bendToStr (bend b)
+public static Object bendToStr(Object... arg) {
+UNSUPPORTED("aso9sesbnmywhnboxv863whri"); // static char* bendToStr (bend b)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1nqf38mopzr5h6gz1w5jgibcq"); // char* s;
+UNSUPPORTED("6ep6naubtnkle2baax49za5kt"); // switch (b) {
+UNSUPPORTED("468ky1b2wfpa4muv0a4vayt73"); // case B_NODE :
+UNSUPPORTED("7asao4q2agscqkw1vxzbiovd"); // s = "B_NODE";
+UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break;
+UNSUPPORTED("9p3ucw6vl509wdnlc9fo3qviu"); // case B_UP :
+UNSUPPORTED("eabybll1yskskaq7a8kxvc8tp"); // s = "B_UP";
+UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break;
+UNSUPPORTED("6y3zt8d6u1qyjwi9sxz0vhxov"); // case B_LEFT :
+UNSUPPORTED("83j5r4h8qfyqcjko2filk6pf6"); // s = "B_LEFT";
+UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break;
+UNSUPPORTED("9twa5d2kxeox6wxq7il75kpvb"); // case B_DOWN :
+UNSUPPORTED("2lrnwyogg8ylvavh64j9fsc4v"); // s = "B_DOWN";
+UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break;
+UNSUPPORTED("e3th0xydbkfhgz8nlphys6knw"); // case B_RIGHT :
+UNSUPPORTED("4z5jeqjq3629k9tjxww0ixjqv"); // s = "B_RIGHT";
+UNSUPPORTED("8ofzhd1f1qc2gz9hfk7vzz6ox"); // break;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("cw8hinum739bvjkye9axxkjp3"); // return s;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 90xcxnm75ks9geu9fenh3dm1y
+// static void putSeg (FILE* fp, segment* seg)
+public static Object putSeg(Object... arg) {
+UNSUPPORTED("ezdh139xemkeu6ueshufvm7w2"); // static void putSeg (FILE* fp, segment* seg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("70c5pnzzsu7czszgxj1512qab"); // if (seg->isVert)
+UNSUPPORTED("ah8jrf48288m893sn0xhnsoyl"); // fprintf (fp, "((%f,%f),(%f,%f)) %s %s", seg->comm_coord, seg->p.p1,
+UNSUPPORTED("1m3ectywf3939xa468uztvqoq"); // seg->comm_coord, seg->p.p2, bendToStr (seg->l1), bendToStr (seg->l2));
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("c1qsbthiirdz2q4klv9p53rth"); // fprintf (fp, "((%f,%f),(%f,%f)) %s %s", seg->p.p1,seg->comm_coord,
+UNSUPPORTED("bxjfdk1v4pdjllz1clm0jzi7c"); // seg->p.p2, seg->comm_coord, bendToStr (seg->l1), bendToStr (seg->l2));
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2fdwckbttldonqwo3v1bwb0tx
+// static void dumpChanG (channel* cp, int v)
+public static Object dumpChanG(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("1jiwdzplvv49bv58z35y6cdxe"); // dumpChanG (channel* cp, int v)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8ebsbykup813mmiz374hgxn60"); // int k;
+UNSUPPORTED("9sznn1kro0jd847rh8vo0hwbc"); // intitem* ip;
+UNSUPPORTED("1e46umbsk6iochvxe1wvpa4hm"); // Dt_t* adj;
+UNSUPPORTED("6oro5r2fdy2jr6tual6x7sagh"); // if (cp->cnt < 2) return;
+UNSUPPORTED("cz9tbd9xi7o70lfrwgwnls8ry"); // fprintf (stderr, "channel %d (%f,%f)\n", v, cp->p.p1, cp->p.p2);
+UNSUPPORTED("2e81m6ga4aivsowi1d0mro7qz"); // for (k=0;k<cp->cnt;k++) {
+UNSUPPORTED("esbukm9onpnxbeewu9ks5cx7q"); // adj = cp->G->vertices[k].adj_list;
+UNSUPPORTED("7d5y6bg0ngegbqsnsn7gu87bt"); // if (dtsize(adj) == 0) continue;
+UNSUPPORTED("7wdg4xscc6apj5ksye6gvz131"); // putSeg (stderr, cp->seg_list[k]);
+UNSUPPORTED("d811shlhb0ykm0lp0t2naamkw"); // fputs (" ->\n", stderr);
+UNSUPPORTED("4lca7ud2mcwkyvh8ynb1pjo61"); // for (ip = (intitem*)(*(((Dt_t*)(adj))->searchf))((adj),(void*)(0),0000200); ip; ip = (intitem*)(*(((Dt_t*)(adj))->searchf))((adj),(void*)(ip),0000010)) {
+UNSUPPORTED("drhixa423prmpgu5j6qe8l3je"); // fputs (" ", stderr);
+UNSUPPORTED("8kybw0d4hrww4xqhdna4mlsgc"); // putSeg (stderr, cp->seg_list[ip->id]);
+UNSUPPORTED("24p9gcmr0oxvz0sli52c722vt"); // fputs ("\n", stderr);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 d0tqkl09dlk95z7uv7a0esz2h
+// static void assignTrackNo (Dt_t* chans)
+public static Object assignTrackNo(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("32zdrf69xvfxhlj0l5jffzppy"); // assignTrackNo (Dt_t* chans)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp;
+UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1;
+UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2;
+UNSUPPORTED("dbd08d8bpiw762wer960cicgj"); // channel* cp;
+UNSUPPORTED("b0kisc5bimb4jnz3z1g2yhbqv"); // int k;
+UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) {
+UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans;
+UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) {
+UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2;
+UNSUPPORTED("jmhm2rezhg6jgnyq2vvyf1xt"); // if (cp->cnt) {
+UNSUPPORTED("oz7u32hmswbxtvcx0h9iwqbc"); // if (odb_flags & 8) dumpChanG (cp, ((chanItem*)l1)->v);
+UNSUPPORTED("4g04bc8ywv1z7gpxqhucbcys2"); // top_sort (cp->G);
+UNSUPPORTED("9u4bikrj4ida8i29gym2jn5b9"); // for (k=0;k<cp->cnt;k++)
+UNSUPPORTED("8o41cm37dmlh7y14o8j7byzbn"); // cp->seg_list[k]->track_no = cp->G->vertices[k].topsort_order+1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4cvz30tum1j5kh2mr4tikagu7
+// static void create_graphs(Dt_t* chans)
+public static Object create_graphs(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("bhabfg4ovu9hg3f74xotdq8w2"); // create_graphs(Dt_t* chans)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp;
+UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1;
+UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2;
+UNSUPPORTED("dbd08d8bpiw762wer960cicgj"); // channel* cp;
+UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) {
+UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans;
+UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) {
+UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2;
+UNSUPPORTED("3cr2g51ro0c0oi5l2n756dpbt"); // cp->G = make_graph (cp->cnt);
+UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 bzybz2vhse04djha8f0fquflw
+// static int eqEndSeg (bend S1l2, bend S2l2, bend T1, bend T2)
+public static Object eqEndSeg(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("85zkrfkxr894bmai11bwpink8"); // eqEndSeg (bend S1l2, bend S2l2, bend T1, bend T2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7gxac6sgui9mlexwzhcjde73q"); // if (((S1l2==T2)&&(S2l2=!T2))
+UNSUPPORTED("60oyzebkxpkavx2feau5rt7kl"); // || ((S1l2==B_NODE)&&(S2l2==T1)))
+UNSUPPORTED("dcqs008t3a3ccoe71d0lqe7yd"); // return(0);
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("1b9bshcz3yhp7bwyu248z4k9t"); // return(-1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 eb1uhz6fkbngny6t6auaxxt9b
+// static int overlapSeg (segment* S1, segment* S2, bend T1, bend T2)
+public static Object overlapSeg(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("ezv23yz3jqikw7nzsie354dxc"); // overlapSeg (segment* S1, segment* S2, bend T1, bend T2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("a78h8j082nhcdjv739yn4qppz"); // if(S1->p.p2<S2->p.p2) {
+UNSUPPORTED("4rsshkwyw60o88gdb3dn0ovf4"); // if(S1->l2==T1&&S2->l1==T2) return(-1);
+UNSUPPORTED("2mabne1z2rhv79s1slqsz0khx"); // else if(S1->l2==T2&&S2->l1==T1) return(1);
+UNSUPPORTED("2vzk76estb6plbulns7pz9fh4"); // else return(0);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("f2sgqrqg5ty4z7q2umaxpejio"); // else if(S1->p.p2==S2->p.p2) {
+UNSUPPORTED("ct6utyz0mi3m48f5wk8rnqoc3"); // if(S2->l1==T2) return eqEndSeg (S1->l2, S2->l2, T1, T2);
+UNSUPPORTED("5ot15cxdtf6ibi79p9ahnuiyy"); // else return -1*eqEndSeg (S2->l2, S1->l2, T1, T2);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("7aq9p42tl9bfo9gar2o9pyo6"); // else { /* S1->p.p2>S2->p.p2 */
+UNSUPPORTED("89qwmoj26o4fkmkwqkugfzwjf"); // if(S2->l1==T2&&S2->l2==T2) return(-1);
+UNSUPPORTED("adhycem4k08o2rbxo59z3jkhz"); // else if (S2->l1==T1&&S2->l2==T1) return(1);
+UNSUPPORTED("2vzk76estb6plbulns7pz9fh4"); // else return(0);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 916xnvutvt73y05azmf2m6y6t
+// static int ellSeg (bend S1l1, bend S1l2, bend T)
+public static Object ellSeg(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("akzolart54jjjeeqmyxqrnmuc"); // ellSeg (bend S1l1, bend S1l2, bend T)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("be5bxc372qf9z4u0bn8p5f3a2"); // if (S1l1 == T) {
+UNSUPPORTED("19rq2setuug0dsuwd18u6bp16"); // if (S1l2== T) return -1;
+UNSUPPORTED("3x8iplz4npgo85ip5rp23jmcu"); // else return 0;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("ayizfb4et318igswkluxa6rgf"); // else return 1;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3set1dgc7lhl9wfckj4voync3
+// static int segCmp (segment* S1, segment* S2, bend T1, bend T2)
+public static Object segCmp(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("5so0u4o583yem7g066n6h5h8v"); // segCmp (segment* S1, segment* S2, bend T1, bend T2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cgb5j5ouyqocl1eu5sq5ul1m1"); // /* no overlap */
+UNSUPPORTED("1m7w9c5br675ne9d38ak6hu53"); // if((S1->p.p2<S2->p.p1)||(S1->p.p1>S2->p.p2)) return(0);
+UNSUPPORTED("edg1u6oyftrvreqlbjqxcznnc"); // /* left endpoint of S2 inside S1 */
+UNSUPPORTED("1x0gxclmpt2dwwdqev2ara450"); // if(S1->p.p1<S2->p.p1&&S2->p.p1<S1->p.p2)
+UNSUPPORTED("am1178qaqllybktyjo3nv97xc"); // return overlapSeg (S1, S2, T1, T2);
+UNSUPPORTED("bvhn7dxguoamigzpbv1635rse"); // /* left endpoint of S1 inside S2 */
+UNSUPPORTED("1x5d71ow7dh9gcypm1uex4adi"); // else if(S2->p.p1<S1->p.p1&&S1->p.p1<S2->p.p2)
+UNSUPPORTED("8jh6cjdtp573oq8qqbvo18fjx"); // return -1*overlapSeg (S2, S1, T1, T2);
+UNSUPPORTED("cjqc4716c7f0ty1biibdcbi3b"); // else if(S1->p.p1==S2->p.p1) {
+UNSUPPORTED("1a96hc1yp8pa6nhuky2f3kpov"); // if(S1->p.p2==S2->p.p2) {
+UNSUPPORTED("dakz4gu568b47ilof0mjlkp3g"); // if((S1->l1==S2->l1)&&(S1->l2==S2->l2))
+UNSUPPORTED("dtxrebylagy9i05p1v1fhxnuz"); // return(0);
+UNSUPPORTED("57vde3e47agnudbdc9bacshif"); // else if (S2->l1==S2->l2) {
+UNSUPPORTED("67o69o09wpy0v0ur5f1l1c5s5"); // if(S2->l1==T1) return(1);
+UNSUPPORTED("b6r32yfv7dexk3ru7g6nqwg1g"); // else if(S2->l1==T2) return(-1);
+UNSUPPORTED("ek9n5w1l5tq5so113ne9728y8"); // else if ((S1->l1!=T1)&&(S1->l2!=T1)) return (1);
+UNSUPPORTED("3877rrvm4cl9vsly8mophiluw"); // else if ((S1->l1!=T2)&&(S1->l2!=T2)) return (-1);
+UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("3lz4dhijiqr5ht941jdjwgi7z"); // else if ((S2->l1==T1)&&(S2->l2==T2)) {
+UNSUPPORTED("6679v73zr10343sabv0545ajx"); // if ((S1->l1!=T1)&&(S1->l2==T2)) return 1;
+UNSUPPORTED("5c357ofc3tlta7b6ntliniwd9"); // else if ((S1->l1==T1)&&(S1->l2!=T2)) return -1;
+UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("evz657j0gnvx74823jqra523c"); // else if ((S2->l2==T1)&&(S2->l1==T2)) {
+UNSUPPORTED("aitlrwojh186x6j2ty4o4gocm"); // if ((S1->l2!=T1)&&(S1->l1==T2)) return 1;
+UNSUPPORTED("er78pkwc9gkhcxvyjq62zor6c"); // else if ((S1->l2==T1)&&(S1->l1!=T2)) return -1;
+UNSUPPORTED("7ke2h1gpwvqi6ougdwfz82wmh"); // else return 0;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("1ny3yv8c13bp4zcfp8dvffoa8"); // else if ((S2->l1==B_NODE)&&(S2->l2==T1)) {
+UNSUPPORTED("4mlaa90t6h9d80djun5rflzkq"); // return ellSeg (S1->l1, S1->l2, T1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("3dq7kw6w7e1wh4etca0rl6d0v"); // else if ((S2->l1==B_NODE)&&(S2->l2==T2)) {
+UNSUPPORTED("4i2pfdj4zt2umblnmyoloiduk"); // return -1*ellSeg (S1->l1, S1->l2, T2);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("2v5dfnazye6510cbha31l8i7w"); // else if ((S2->l1==T1)&&(S2->l2==B_NODE)) {
+UNSUPPORTED("4rq25g617jse4401t7v75md57"); // return ellSeg (S1->l2, S1->l1, T1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("96b656c5ejlopals3g50cqegi"); // else { /* ((S2->l1==T2)&&(S2->l2==B_NODE)) */
+UNSUPPORTED("bcifb3xs85visnlkzrg2nt70g"); // return -1*ellSeg (S1->l2, S1->l1, T2);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("bmcaw8gehzc5d62dx0w3skyig"); // else if(S1->p.p2<S2->p.p2) {
+UNSUPPORTED("1u3o14xi8e1cxvb445iu3kct6"); // if(S1->l2==T1)
+UNSUPPORTED("1qnx7k0mdbkhofu0mdzisxijd"); // return eqEndSeg (S2->l1, S1->l1, T1, T2);
+UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else
+UNSUPPORTED("d9rodbu7eiqzjvik47smclsdl"); // return -1*eqEndSeg (S2->l1, S1->l1, T1, T2);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("7aq9p42tl9bfo9gar2o9pyo6"); // else { /* S1->p.p2>S2->p.p2 */
+UNSUPPORTED("51m1xa8u2znzxazdwantwyuyv"); // if(S2->l2==T2)
+UNSUPPORTED("4f3mewxm7upg06y9z4bjrn4vf"); // return eqEndSeg (S1->l1, S2->l1, T1, T2);
+UNSUPPORTED("5c97f6vfxny0zz35l2bu4maox"); // else
+UNSUPPORTED("b7xkdbwtc22b1j95kr0hty8sp"); // return -1*eqEndSeg (S1->l1, S2->l1, T1, T2);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1z3rgo8s9sfovtqdrlci7ydng"); // else if(S1->p.p2==S2->p.p1) {
+UNSUPPORTED("dryuqkmwg4utuh4fz56nec4iu"); // if(S1->l2==S2->l1) return(0);
+UNSUPPORTED("92dwbh0qiegdwle729knbwdao"); // else if(S1->l2==T2) return(1);
+UNSUPPORTED("2yl5dq1it450fqpkn8wjdxab4"); // else return(-1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("ewjrcchl8l1d8fp4y1r6qfbp3"); // else { /* S1->p.p1==S2->p.p2 */
+UNSUPPORTED("1h7f8h4o89nvu26mb04i68h34"); // if(S1->l1==S2->l2) return(0);
+UNSUPPORTED("e97u2o9q8t0rv2icxkb8fsowu"); // else if(S1->l1==T2) return(1);
+UNSUPPORTED("2yl5dq1it450fqpkn8wjdxab4"); // else return(-1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6ufddz487491174h94zezajk8"); // assert(0);
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2why0kxj0qrlrn435c0twfblb
+// static int seg_cmp(segment* S1, segment* S2)
+public static Object seg_cmp(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("5ucj9rj7ohyk0eh1h5jzk9qhh"); // seg_cmp(segment* S1, segment* S2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("ef82t09fd18di0isi59csjlwu"); // if(S1->isVert!=S2->isVert||S1->comm_coord!=S2->comm_coord) {
+UNSUPPORTED("2a6h1eg3z0m4zzhdw7vtdz33i"); // agerr (AGERR, "incomparable segments !! -- Aborting\n");
+UNSUPPORTED("1ghgraebed3srgimi1gdqx5nj"); // longjmp(jbuf, 1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("88n6v57rjcx5w9zz51wjd80mn"); // if(S1->isVert)
+UNSUPPORTED("10jcxkwtbmjakpk36jpzzhsnm"); // return segCmp (S1, S2, B_RIGHT, B_LEFT);
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("1ealfunb0xbji4f46jf9balu7"); // return segCmp (S1, S2, B_DOWN, B_UP);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7ycppm4b8xqpa85ov0gpp4r1w
+// static void add_edges_in_G(channel* cp)
+public static Object add_edges_in_G(Object... arg) {
+UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void
+UNSUPPORTED("e7prlxhst1riecg8sy2dq7ho3"); // add_edges_in_G(channel* cp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2b5x6xxv7d1fwjdnit9o6fac4"); // int x,y;
+UNSUPPORTED("462fowlguwrqt49rjdjc35vdl"); // segment** seg_list = cp->seg_list;
+UNSUPPORTED("9zouge4neqmqsg96284lxensf"); // int size = cp->cnt;
+UNSUPPORTED("dmbfnx3582vhxsi4o65ruesyn"); // rawgraph* G = cp->G;
+UNSUPPORTED("8uyd6tjjadhk8ovw1osaocc0g"); // for(x=0;x+1<size;x++) {
+UNSUPPORTED("d6rcr7i0zif84j0etj6znobof"); // for(y=x+1;y<size;y++) {
+UNSUPPORTED("13nwmc2b6etct75wmtn4vn94z"); // switch (seg_cmp(seg_list[x],seg_list[y])) {
+UNSUPPORTED("5224921bwtkpbe3zt8fvgs1bu"); // case 1:
+UNSUPPORTED("5e6oqdqibspr5jq2bc2n7dkk2"); // insert_edge(G,x,y);
+UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break;
+UNSUPPORTED("7v6ydzgso87upf4u6dz4wpwrk"); // case 0:
+UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break;
+UNSUPPORTED("6d61fnn1tbjq1dmeag53gout6"); // case -1:
+UNSUPPORTED("pcg0zn469jrk5lvqquyyj7oi"); // insert_edge(G,y,x);
+UNSUPPORTED("9ekmvj13iaml5ndszqyxa8eq"); // break;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 d5ycixr4ake5beje9bmkeg5p0
+// static void add_np_edges (Dt_t* chans)
+public static Object add_np_edges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("4pvanrmfcrnmuei62le54kcbt"); // add_np_edges (Dt_t* chans)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp;
+UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1;
+UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2;
+UNSUPPORTED("dbd08d8bpiw762wer960cicgj"); // channel* cp;
+UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) {
+UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans;
+UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) {
+UNSUPPORTED("135wr0zp93ul7lqzg4608t7cy"); // cp = (channel*)l2;
+UNSUPPORTED("b9bbgy74zwpeh6zk1wsld8tx2"); // if (cp->cnt)
+UNSUPPORTED("37n1ytiss9w7m68eh2a5ahf44"); // add_edges_in_G(cp);
+UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 emn5p2pij0zdp2hl3dyjefe36
+// static segment* next_seg(segment* seg, int dir)
+public static Object next_seg(Object... arg) {
+UNSUPPORTED("5hl6i4lkcopw8a7eywmfv5qyv"); // static segment*
+UNSUPPORTED("6ov8c8zpwswdr0pj1gzchtfwx"); // next_seg(segment* seg, int dir)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6ri8jco2tikytst7ste1069yq"); // assert(seg);
+UNSUPPORTED("9yxubvqbrubzc3jcqnh9rpnmf"); // if (!dir)
+UNSUPPORTED("8dd4jx4ni1rdife7uof1nuwi9"); // return(seg->prev);
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("5c5he207xx8av0i912x9hawr2"); // return(seg->next);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 cs3u9dks2e2tzv2xu98p77w90
+// static int propagate_prec(segment* seg, int prec, int hops, int dir)
+public static Object propagate_prec(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("tr6cv9djjf64a8yuh6q95jsp"); // propagate_prec(segment* seg, int prec, int hops, int dir)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dpr58lv2eeka28wequlp2xrzl"); // int x;
+UNSUPPORTED("ay64podpnebhkrkm9jq6r391s"); // int ans=prec;
+UNSUPPORTED("5ih4ipri3bjcgm61xdrc8ud4y"); // segment* next;
+UNSUPPORTED("cbeluzwuxiponx0az49dgkui4"); // segment* current;
+UNSUPPORTED("o8icbmalf0qgkleaf5kmc0ui"); // current = seg;
+UNSUPPORTED("yvzhy5oaj4saluubblynzmhv"); // for(x=1;x<=hops;x++) {
+UNSUPPORTED("9h1ebsbxexcfuink8l7o97r07"); // next = next_seg(current, dir);
+UNSUPPORTED("2gosr1fjv173ysmvks0ybbgvt"); // if(!current->isVert) {
+UNSUPPORTED("4v64kcbbxxsk315fnsi8ya930"); // if(next->comm_coord==current->p.p1) {
+UNSUPPORTED("6gkb69knhwko2b5weglnqbil9"); // if(current->l1==B_UP) ans *= -1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("6q044im7742qhglc4553noina"); // else {
+UNSUPPORTED("2o8y0vj6uxky1dqkbntiyges"); // if(current->l2==B_DOWN) ans *= -1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("4v64kcbbxxsk315fnsi8ya930"); // if(next->comm_coord==current->p.p1) {
+UNSUPPORTED("bzsdu04we48ifrljpe0az0g4j"); // if(current->l1==B_RIGHT) ans *= -1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("6q044im7742qhglc4553noina"); // else {
+UNSUPPORTED("2q2w4w0cp24ko6jdyfchiodyq"); // if(current->l2==B_LEFT) ans *= -1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("10sew6kuf3dcpt2wqk10ptksi"); // current = next;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("dhivmxtyss2i31bgun146pdvx"); // return(ans);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 bp53nx2ri4vm9anrojt7u7c2u
+// static int is_parallel(segment* s1, segment* s2)
+public static Object is_parallel(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("ddygyr541ybi2kvxacd9n2m9j"); // is_parallel(segment* s1, segment* s2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("51or2j2w3vw4tt3ek3h4o7r2t"); // assert (s1->comm_coord==s2->comm_coord);
+UNSUPPORTED("9gufgbv51f5we43a6jx1uyqh9"); // return ((s1->p.p1==s2->p.p1)&&
+UNSUPPORTED("4cxvzf3a2g1ubcxf02lgmj2xh"); // (s1->p.p2==s2->p.p2)&&
+UNSUPPORTED("bzty8iew02v127lmuh0uuecmi"); // (s1->l1==s2->l1)&&
+UNSUPPORTED("8ilakshy93x5k5my1hijj1fpw"); // (s1->l2==s2->l2));
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 5cy5xm5pageww1ken6y8teea4
+// static pair decide_point(segment* si, segment* sj, int dir1, int dir2)
+public static Object decide_point(Object... arg) {
+UNSUPPORTED("f1byl3savsjxfld9h2fobwfo3"); // static pair
+UNSUPPORTED("7l2qer0l7u4rucnbo5kqj4vgc"); // decide_point(segment* si, segment* sj, int dir1, int dir2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dfk7h3txri9a3b4e7wkrzosju"); // int prec, ans = 0, temp;
+UNSUPPORTED("axbwlxs3xs2c5t2is2ke1ham5"); // pair ret;
+UNSUPPORTED("36dbtz3qjw44q55zoxfkmkykb"); // segment* np1;
+UNSUPPORTED("b95suv5ftmjl1s7ra4hrpi2db"); // segment* np2;
+UNSUPPORTED("afc9pg3q0h9ku0fioayd8nokq"); // while ((np1 = next_seg(si,dir1)) && (np2 = next_seg(sj,dir2)) &&
+UNSUPPORTED("a0ti049y8u1wrflxigii3nmuq"); // is_parallel(np1, np2)) {
+UNSUPPORTED("aunxscflrorekqz8lv1sco0h1"); // ans++;
+UNSUPPORTED("ok657kaukdbv5j6b55n9lu6c"); // si = np1;
+UNSUPPORTED("7e7drakmuxwngzq18f1lbsn1g"); // sj = np2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("4z9en58svufdyqqt3fyi3z80j"); // if (!np1)
+UNSUPPORTED("98h93apvsb643md8j6fnbun83"); // prec = 0;
+UNSUPPORTED("8p3l7vg6fa42z5f9qr4kcwdbk"); // else if (!np2)
+UNSUPPORTED("9o9tshvh3903w7oznf4dx4ksw"); // assert(0); /* FIXME */
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("9sednl43da21gajvwpmk1pyle"); // temp = seg_cmp(np1, np2);
+UNSUPPORTED("bojwazeev7k8w4xnz842s9dc6"); // prec = propagate_prec(np1, temp, ans+1, 1-dir1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c46mwi9n2qk3nz5az4iu04e2s"); // ret.a = ans;
+UNSUPPORTED("5vibf15888faapk0uzvvophg9"); // ret.b = prec;
+UNSUPPORTED("35t727xxibdqfcn6xwikpae5w"); // return(ret);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9lqaqtqdkw9rqhmyltdrzs6xy
+// static void set_parallel_edges (segment* seg1, segment* seg2, int dir1, int dir2, int hops, maze* mp)
+public static Object set_parallel_edges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("3p9s2fmb4u10tilwejs0l9pp1"); // set_parallel_edges (segment* seg1, segment* seg2, int dir1, int dir2, int hops,
+UNSUPPORTED("1rikd6gjoe3cvxggpkhj7z34d"); // maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dpr58lv2eeka28wequlp2xrzl"); // int x;
+UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan;
+UNSUPPORTED("81v3bzorfnk43chwizhwmbb1n"); // channel* nchan;
+UNSUPPORTED("2qv0nvdra5zvo2b2ewep1ala4"); // segment* prev1;
+UNSUPPORTED("6s95g7xlatuyfm26klez18no0"); // segment* prev2;
+UNSUPPORTED("430rnwqjk85b89sh9kt07e6a0"); // if (seg1->isVert)
+UNSUPPORTED("4m8jh0bz7h9xwt55zl1stxnm8"); // chan = chanSearch(mp->vchans, seg1);
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("4sukugpamblizlwievszn8nl3"); // chan = chanSearch(mp->hchans, seg1);
+UNSUPPORTED("1elt521vxb74ewc1nqabq3gby"); // insert_edge(chan->G, seg1->ind_no, seg2->ind_no);
+UNSUPPORTED("2n7xloj5t3tkvc8h58imqk8td"); // for (x=1;x<=hops;x++) {
+UNSUPPORTED("iytowix4us30gxbxx69ke9rn"); // prev1 = next_seg(seg1, dir1);
+UNSUPPORTED("9v39bw7og01cgrd9fnjubn0pi"); // prev2 = next_seg(seg2, dir2);
+UNSUPPORTED("7q2x5kqynrhvcsduekv09bdn4"); // if(!seg1->isVert) {
+UNSUPPORTED("7hs0lytek5umsxrj0a6jc8t5f"); // nchan = chanSearch(mp->vchans, prev1);
+UNSUPPORTED("7lpjkbjai262xfygabcg0nwnu"); // if(prev1->comm_coord==seg1->p.p1) {
+UNSUPPORTED("13ucbaachj06c0mvgupkiswfl"); // if(seg1->l1==B_UP) {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("6q044im7742qhglc4553noina"); // else {
+UNSUPPORTED("8vywd7o1vdaaij4z9jtx8pi63"); // if(seg1->l2==B_UP) {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("173hlqu5ukdae2k6wt7ch1x8p"); // insert_edge(nchan->G,prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("7lby5m10dvjryzfv32elha7cq"); // insert_edge(nchan->G,prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("9tap010f91m7yxd7a77xcc6gy"); // nchan = chanSearch(mp->hchans, prev1);
+UNSUPPORTED("7lpjkbjai262xfygabcg0nwnu"); // if(prev1->comm_coord==seg1->p.p1) {
+UNSUPPORTED("bv0pfzaflx2zmsfq7fl4fumox"); // if(seg1->l1==B_LEFT) {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("6q044im7742qhglc4553noina"); // else {
+UNSUPPORTED("nvpd9xg7sp7w29u53zc5n7om"); // if(seg1->l2==B_LEFT) {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("e14484zac1ca6tr55nq056y2s"); // if(edge_exists(chan->G, seg1->ind_no, seg2->ind_no))
+UNSUPPORTED("9jmkjj0x67qxhr4shs6ibvgk3"); // insert_edge(nchan->G, prev1->ind_no, prev2->ind_no);
+UNSUPPORTED("9acag2yacl63g8rg6r1alu62x"); // else
+UNSUPPORTED("850me5iwi1gvweet5jzd7lqwy"); // insert_edge(nchan->G, prev2->ind_no, prev1->ind_no);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("3d9r09rxjpct04hoj66705cp1"); // chan = nchan;
+UNSUPPORTED("2c2yvnaxh16x89y9hq4w5yk1m"); // seg1 = prev1;
+UNSUPPORTED("11ckhoc2b2u2dsurx9qg07st6"); // seg2 = prev2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 38cpeb1o8uvzyjd93p234ds9f
+// static void removeEdge(segment* seg1, segment* seg2, int dir, maze* mp)
+public static Object removeEdge(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("6sgltkpz58p9krap0y1sbvj6k"); // removeEdge(segment* seg1, segment* seg2, int dir, maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("szrq58jnhhhevz1yqgbr4ck2"); // segment* ptr1;
+UNSUPPORTED("31dak66p4n83b984pfixwotla"); // segment* ptr2;
+UNSUPPORTED("7pmetyg241ybw8hq3j61i271y"); // channel* chan;
+UNSUPPORTED("3f6utfpnejoda18juym1fb1ko"); // ptr1 = seg1;
+UNSUPPORTED("4zdcf2h90axz04i03w6ttg5k4"); // ptr2 = seg2;
+UNSUPPORTED("bnoomvnxrkeudsz6vyirx44uc"); // while(is_parallel(ptr1, ptr2)) {
+UNSUPPORTED("bgoj9z4ow368rwa0wiqpvom0o"); // ptr1 = next_seg(ptr1, 1);
+UNSUPPORTED("6k9a6lk6tlg00as6qklki8xiz"); // ptr2 = next_seg(ptr2, dir);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("ai7oa06ous30ke73ob1k1h6go"); // if(ptr1->isVert)
+UNSUPPORTED("7qlxjn3a1d6nys3x5s0ngrs5q"); // chan = chanSearch(mp->vchans, ptr1);
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("79qdq8et7m2rlyh1z4wss3y1n"); // chan = chanSearch(mp->hchans, ptr1);
+UNSUPPORTED("1f4mrzxo4q83k5yazad1hezbb"); // remove_redge (chan->G, ptr1->ind_no, ptr2->ind_no);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 eiig50kmclab4ei88pq4soo34
+// static void addPEdges (channel* cp, maze* mp)
+public static Object addPEdges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("68fs5heyk95e6jn74c6cgq01t"); // addPEdges (channel* cp, maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8nbbb2xvtigkcv51627tsphb7"); // int i,j;
+UNSUPPORTED("691z894ert27013tlk15hh2qh"); // /* dir[1,2] are used to figure out whether we should use prev
+UNSUPPORTED("d52bbwvlo6xaftcxmyc07f9w5"); // * pointers or next pointers -- 0 : decrease, 1 : increase
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("2ihd1217lj7h5zt9n0d1q5cna"); // int dir;
+UNSUPPORTED("2ur22e7h79m2ohnopwac8a76b"); // /* number of hops along the route to get to the deciding points */
+UNSUPPORTED("8czu5hbarwrdzcuxp2djvv4rp"); // pair hops;
+UNSUPPORTED("3cz2vt0y2kw2ogxww3u2j1kl6"); // /* precedences of the deciding points : same convention as
+UNSUPPORTED("1tpdmm5wve9rduvay2ahgvle9"); // * seg_cmp function
+UNSUPPORTED("795vpnc8yojryr8b46aidsu69"); // */
+UNSUPPORTED("522qtrew5eqvwpn5wxnu2k9dn"); // int prec1, prec2;
+UNSUPPORTED("1fnwnz6zqrixdpfmd5wf4hbj"); // pair p;
+UNSUPPORTED("dmbfnx3582vhxsi4o65ruesyn"); // rawgraph* G = cp->G;
+UNSUPPORTED("7hb8fcc74usveupz7kgy2qol3"); // segment** segs = cp->seg_list;
+UNSUPPORTED("39nnkurg9t4qq74t5jz3zkjrl"); // for(i=0;i+1<cp->cnt;i++) {
+UNSUPPORTED("6a9jbb5aterxr0g0hiu2pyhld"); // for(j=i+1;j<cp->cnt;j++) {
+UNSUPPORTED("3dvaxn4ireem858ssmcsr58hn"); // if (!edge_exists(G,i,j) && !edge_exists(G,j,i)) {
+UNSUPPORTED("dpy9omkq97zyoo9w1inx3pbm9"); // if (is_parallel(segs[i], segs[j])) {
+UNSUPPORTED("6ig9p93cmed2v70a0npblnlxp"); // /* get_directions */
+UNSUPPORTED("amvy33u98h6r9qq7ugnuf2nlz"); // if(segs[i]->prev==0) {
+UNSUPPORTED("cc25alanei7n0arh5bqailcv4"); // if(segs[j]->prev==0)
+UNSUPPORTED("27dopm02s7e623flmf0oyucf6"); // dir = 0;
+UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else
+UNSUPPORTED("afmb9itetac5509pz0vzquffn"); // dir = 1;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6tva5tknk59csaydjoaehlxqy"); // else if(segs[j]->prev==0) {
+UNSUPPORTED("bf3scu300t9b1jl5wrxkahki9"); // dir = 1;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("cphaexi33y32dnefwtu3jsom4"); // else {
+UNSUPPORTED("ay1tigliz8fu739c3s4lnp4c8"); // if(segs[i]->prev->comm_coord==segs[j]->prev->comm_coord)
+UNSUPPORTED("27dopm02s7e623flmf0oyucf6"); // dir = 0;
+UNSUPPORTED("cqgi8f4d37bqva8z6bx5rvn7w"); // else
+UNSUPPORTED("afmb9itetac5509pz0vzquffn"); // dir = 1;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("2h9ts7wzrya1rr66lklhh0rda"); // p = decide_point(segs[i], segs[j], 0, dir);
+UNSUPPORTED("y15vvy2yhgh75hmjibm6d0tv"); // hops.a = p.a;
+UNSUPPORTED("6y60dh26moscelbp5xfex7fy7"); // prec1 = p.b;
+UNSUPPORTED("1fwna4qrlam89qjgrsjnzwkuc"); // p = decide_point(segs[i], segs[j], 1, 1-dir);
+UNSUPPORTED("7ck6vr1ic310ui6v7y8lcpwbh"); // hops.b = p.a;
+UNSUPPORTED("564q1rsht56yza954y2x1jtm"); // prec2 = p.b;
+UNSUPPORTED("dtcs9mr4kwcta690gbrwlt910"); // switch(prec1) {
+UNSUPPORTED("7xhopigym72b3wkri4tfjy1dy"); // case -1 :
+UNSUPPORTED("enqa6da4597ij1v8v5x3f251q"); // set_parallel_edges (segs[j], segs[i], dir, 0, hops.a, mp);
+UNSUPPORTED("6diyb5ikl44b7ym0eennr0yq6"); // set_parallel_edges (segs[j], segs[i], 1-dir, 1, hops.b, mp);
+UNSUPPORTED("5r2jji4zmdfrbfwx99e4tv69i"); // if(prec2==1)
+UNSUPPORTED("8x6usd0clpqn19g8onqqgzjn4"); // removeEdge (segs[i], segs[j], 1-dir, mp);
+UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break;
+UNSUPPORTED("22xfu28lqt3r284k47pbuy7cz"); // case 0 :
+UNSUPPORTED("4dfzzbp1vuxk64hoh65xa34yc"); // switch(prec2) {
+UNSUPPORTED("4gsejoo0eevrt7un6e6qn989l"); // case -1:
+UNSUPPORTED("emhqawmwj90tfh02qk8r1pk0v"); // set_parallel_edges (segs[j], segs[i], dir, 0, hops.a, mp);
+UNSUPPORTED("9n3o6zltbzimqd4msu9ngqtyd"); // set_parallel_edges (segs[j], segs[i], 1-dir, 1, hops.b, mp);
+UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break;
+UNSUPPORTED("9bar4olfqd3r7389ggqw5djvq"); // case 0 :
+UNSUPPORTED("2s64t77sytwec1d6n2jbf74wc"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp);
+UNSUPPORTED("6r0468haso97c6g4zkdfg9kt2"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp);
+UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break;
+UNSUPPORTED("4yd30eh9icuxnqotseihb7l4w"); // case 1:
+UNSUPPORTED("2s64t77sytwec1d6n2jbf74wc"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp);
+UNSUPPORTED("6r0468haso97c6g4zkdfg9kt2"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp);
+UNSUPPORTED("a4shncx2bmdaa04gvja9v2blz"); // break;
+UNSUPPORTED("3to5h0rvqxdeqs38mhv47mm3o"); // }
+UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break;
+UNSUPPORTED("7725wrsrh4ancb1bh89l3x12r"); // case 1 :
+UNSUPPORTED("3ubmnbt9kypi1ptpye7w37vkl"); // set_parallel_edges (segs[i], segs[j], 0, dir, hops.a, mp);
+UNSUPPORTED("4s97q82e6wclxf2y8jhzfh14k"); // set_parallel_edges (segs[i], segs[j], 1, 1-dir, hops.b, mp);
+UNSUPPORTED("5zh7u5zg9v4zshpcfsj3brwfk"); // if(prec2==-1)
+UNSUPPORTED("8x6usd0clpqn19g8onqqgzjn4"); // removeEdge (segs[i], segs[j], 1-dir, mp);
+UNSUPPORTED("a5064jph9xpw67dcun2my4mcm"); // break;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 98d1c54yaxchy0ms0e99lst7s
+// static void add_p_edges (Dt_t* chans, maze* mp)
+public static Object add_p_edges(Object... arg) {
+UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void
+UNSUPPORTED("5ebboq5zrhtd0rfaeawkl5s2f"); // add_p_edges (Dt_t* chans, maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("a4p8766eh6ra21i7u5o9nf6rm"); // Dt_t* lp;
+UNSUPPORTED("1mqjeo37v4tmo6kht0rep1tht"); // Dtlink_t* l1;
+UNSUPPORTED("eiqtkkndttzmunuxtnm99mkpy"); // Dtlink_t* l2;
+UNSUPPORTED("cp4kv1fg74up3ubek2qyx8d25"); // for (l1 = dtflatten (chans); l1; l1 = (((Dtlink_t*)(l1))->right)) {
+UNSUPPORTED("950o75hi1nj794oxa101pt5t0"); // lp = ((chanItem*)l1)->chans;
+UNSUPPORTED("71dqer4eeiqshvsh6rbj0kis5"); // for (l2 = dtflatten (lp); l2; l2 = (((Dtlink_t*)(l2))->right)) {
+UNSUPPORTED("di14tjuua1p9n96grrfboue6o"); // addPEdges ((channel*)l2, mp);
+UNSUPPORTED("9pqd0punhe3g1up9qd8xxo652"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 bxsh28469kd6r9fen9l7v8f2w
+// static void assignTracks (int nrtes, route* route_list, maze* mp)
+public static Object assignTracks(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("e80kmdu0n8gwftxrcchppqznf"); // assignTracks (int nrtes, route* route_list, maze* mp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("26qmbe7syf8caazopicbw1o73"); // /* Create the graphs for each channel */
+UNSUPPORTED("5kswlmxeu7z6znausks9omj52"); // create_graphs(mp->hchans);
+UNSUPPORTED("1qo05yt4o0eiyn1axxxfiecee"); // create_graphs(mp->vchans);
+UNSUPPORTED("9k9f44tgb14d6rvcxauyk4kg3"); // /* add edges between non-parallel segments */
+UNSUPPORTED("2bpipgzzkyey9l1jwcx2ytvc0"); // add_np_edges(mp->hchans);
+UNSUPPORTED("7fju2e1xyweu6benhq0akolab"); // add_np_edges(mp->vchans);
+UNSUPPORTED("a2akrqgy2t88akl274eg0somv"); // /* add edges between parallel segments + remove appropriate edges */
+UNSUPPORTED("5zdimrk15jv0lju7twpsqz29m"); // add_p_edges(mp->hchans, mp);
+UNSUPPORTED("9bqggms2mbxxvkbh0u4jidv0l"); // add_p_edges(mp->vchans, mp);
+UNSUPPORTED("9envbpdpd498dstkls2pqtswo"); // /* Assign the tracks after a top sort */
+UNSUPPORTED("10z0c5n6u2v6o7td59aig5lfd"); // assignTrackNo (mp->hchans);
+UNSUPPORTED("t8kw88xoabf7nbvqv8ds7www"); // assignTrackNo (mp->vchans);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 udi38qq74cw0pvrqn6g1yle5
+// static double vtrack (segment* seg, maze* m)
+public static Object vtrack(Object... arg) {
+UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double
+UNSUPPORTED("19x5ivyvkfhintu5d2rpflcvo"); // vtrack (segment* seg, maze* m)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1xvv17gm5rfjinvy3gmnsc2ke"); // channel* chp = chanSearch(m->vchans, seg);
+UNSUPPORTED("76k3vszrhcky681kek2r7d5h9"); // double f = ((double)seg->track_no)/(chp->cnt+1);
+UNSUPPORTED("2ug8vx71z1uw4iw38ehgqdc7g"); // double left = chp->cp->bb.LL.x;
+UNSUPPORTED("f2ozrx5u8liyshw7972fqzlry"); // double right = chp->cp->bb.UR.x;
+UNSUPPORTED("2gju483ltduiu0c964t9ir9wa"); // return left + f*(right-left);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3cqaxjb6pietkwiyugn6h26kd
+// static int htrack (segment* seg, maze* m)
+public static Object htrack(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("a2hs7lm69vuj9mt0513f8z4oz"); // htrack (segment* seg, maze* m)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("40ntn3e9uwr1zuuu2sbtdsa6w"); // channel* chp = chanSearch(m->hchans, seg);
+UNSUPPORTED("erszzli51plsbzcgsn48c0180"); // double f = 1.0 - ((double)seg->track_no)/(chp->cnt+1);
+UNSUPPORTED("4i67gabp0r3u9scclorhs3ktm"); // double lo = chp->cp->bb.LL.y;
+UNSUPPORTED("4p8tiujx3t2fm7is5dxnoqxhe"); // double hi = chp->cp->bb.UR.y;
+UNSUPPORTED("83od9je177vrwp4ps0kbd4szw"); // return lo + f*(hi-lo);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 83e5ejcqta67f2p2asgbtfaoi
+// static pointf addPoints(pointf p0, pointf p1)
+public static Object addPoints(Object... arg) {
+UNSUPPORTED("2zzd7mrm2u540dwuyzehozffj"); // static pointf
+UNSUPPORTED("682qkd4mibtnxpxyv5orrsjtx"); // addPoints(pointf p0, pointf p1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("f5hox117bxx1r58lcs3udisoe"); // p0.x += p1.x;
+UNSUPPORTED("ujsxixrtu1t8f32elbvw8dwa"); // p0.y += p1.y;
+UNSUPPORTED("3eojsvh2rm970fcai0twfpvnl"); // return p0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 a0iuxsb2zu9l7k8a3v4ixv00e
+// static void attachOrthoEdges (Agraph_t* g, maze* mp, int n_edges, route* route_list, splineInfo *sinfo, epair_t es[], int doLbls)
+public static Object attachOrthoEdges(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("cspgusupjxy5utjicgxrmrq7w"); // attachOrthoEdges (Agraph_t* g, maze* mp, int n_edges, route* route_list, splineInfo *sinfo, epair_t es[], int doLbls)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("bzsk5t9x5gtbz8fnomb2f9s4v"); // int irte = 0;
+UNSUPPORTED("9guu55302lj09t48j16nqyxbq"); // int i, ipt, npts;
+UNSUPPORTED("5b40dnpfc88et1cia7fuj40yb"); // pointf* ispline = 0;
+UNSUPPORTED("dprplco8u5mu9i11jo6go6bcy"); // int splsz = 0;
+UNSUPPORTED("2asgcu0nywvhoazecb6ofcubs"); // pointf p, p1, q1;
+UNSUPPORTED("76tjoqkn7jsh2pn0trcuu3nvs"); // route rte;
+UNSUPPORTED("9ixgpcejsl25oetqsy1ewnfnu"); // segment* seg;
+UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e;
+UNSUPPORTED("ef044lvbrsjiucn4ouhr6x2qb"); // textlabel_t* lbl;
+UNSUPPORTED("77xmhk7dbpg0c00j8666pclyi"); // for (; irte < n_edges; irte++) {
+UNSUPPORTED("bv52iygkt2gg4gzoyp4c9wk6b"); // e = es[irte].e;
+UNSUPPORTED("ay9p5i1iubyhzon5z6a3jrw9n"); // p1 = addPoints(ND_coord(agtail(e)), ED_tail_port(e).p);
+UNSUPPORTED("4z87m5xmyxfqf4gbe4pskna9n"); // q1 = addPoints(ND_coord(aghead(e)), ED_head_port(e).p);
+UNSUPPORTED("8wciy7quxxigt8dwxr9ctgk2d"); // rte = route_list[irte];
+UNSUPPORTED("6ed9g47vzboko6g0h5y17e1ou"); // npts = 1 + 3*rte.n;
+UNSUPPORTED("efs0cd713nnm7zxrgb0l11wz"); // if (npts > splsz) {
+UNSUPPORTED("5d7b0ws1zxf4b536zojp5j1gy"); // if (ispline) free (ispline);
+UNSUPPORTED("dqxwk098ekx7gst5gdhr310bc"); // ispline = (pointf*)gmalloc((npts)*sizeof(pointf));
+UNSUPPORTED("e4i1tff7gmkjg8kevj7hw8gs1"); // splsz = npts;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("1ry9c35mgaxl2ivjx1h2v5cr0"); // seg = rte.segs;
+UNSUPPORTED("6pz2d4cdoe2l7351iysy6x98p"); // if (seg->isVert) {
+UNSUPPORTED("91n0eh3r7wj0n97kdj9ld31kj"); // p.x = vtrack(seg, mp);
+UNSUPPORTED("45fe06ci8qec4u7eii52becqh"); // p.y = p1.y;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("9t5iimum2tu1jo5tlcx6m7fhq"); // p.y = htrack(seg, mp);
+UNSUPPORTED("8je4vuu6jnq5fu4znanftosq8"); // p.x = p1.x;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("76sz3tzo9psbgiwiel6nlkhyd"); // ispline[0] = ispline[1] = p;
+UNSUPPORTED("2xvzqz1y0roznr4j0qz8gdn97"); // ipt = 2;
+UNSUPPORTED("ehl4i682tsgw4ev386bxd9bvk"); // for (i = 1;i<rte.n;i++) {
+UNSUPPORTED("dqq6tgen8yf0v8lzn6zc3vwpi"); // seg = rte.segs+i;
+UNSUPPORTED("oscgdxl7tuvnm27y3ajyf90a"); // if (seg->isVert)
+UNSUPPORTED("5ordk0g9tt85vst6tn9y7yw5e"); // p.x = vtrack(seg, mp);
+UNSUPPORTED("7e1uy5mzei37p66t8jp01r3mk"); // else
+UNSUPPORTED("2e3jl8piax6scxsrx2jl4mn0m"); // p.y = htrack(seg, mp);
+UNSUPPORTED("5zlu7lc3edxwcalx4u2toh91o"); // ispline[ipt+2] = ispline[ipt+1] = ispline[ipt] = p;
+UNSUPPORTED("1h4km88eju8ubv62x2a9mwdzm"); // ipt += 3;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("6pz2d4cdoe2l7351iysy6x98p"); // if (seg->isVert) {
+UNSUPPORTED("91n0eh3r7wj0n97kdj9ld31kj"); // p.x = vtrack(seg, mp);
+UNSUPPORTED("obj8bne89a63k09t0vg3ksax"); // p.y = q1.y;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("9t5iimum2tu1jo5tlcx6m7fhq"); // p.y = htrack(seg, mp);
+UNSUPPORTED("cwlvttt636ou35je24a6zn8fw"); // p.x = q1.x;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("6883d1dn4elcixp0dy2yzu4ck"); // ispline[ipt] = ispline[ipt+1] = p;
+UNSUPPORTED("e7wcbocwpb0ubwm19n3qdsfdu"); // if (Verbose > 1)
+UNSUPPORTED("6243buyivvpmixvapfka7f2n3"); // fprintf(stderr, "ortho %s %s\n", agnameof(agtail(e)),agnameof(aghead(e)));
+UNSUPPORTED("aiznf16jsmgfywhbln59n8weh"); // clip_and_install(e, aghead(e), ispline, npts, sinfo);
+UNSUPPORTED("5odapjhwjcy61acm5m79qw8fs"); // if (doLbls && (lbl = ED_label(e)) && !lbl->set)
+UNSUPPORTED("2bpsdc28nv5l876oe7rqtanlx"); // addEdgeLabels(g, e, p1, q1);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c0bfcb8svwdkq95cokqra1pi2"); // free(ispline);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 e71zkztxzapvl1mgiq8p5gzzs
+// static int edgeLen (Agedge_t* e)
+public static Object edgeLen(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("4eh66xikxzh6l4lhjcmvtv8cn"); // edgeLen (Agedge_t* e)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1vcqzavbye1orax38cfndljrr"); // pointf p = ND_coord(agtail(e));
+UNSUPPORTED("d1qthvuzf3w3d5qujx199xm23"); // pointf q = ND_coord(aghead(e));
+UNSUPPORTED("7b42di3iyhbsuhhw6yaw6539m"); // return (int)DIST2(p,q);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7afj2qnluiytxt8hvcnhreb2
+// static int edgecmp(epair_t* e0, epair_t* e1)
+public static Object edgecmp(Object... arg) {
+UNSUPPORTED("4biy4n19ul16vp6vcv9xmui1i"); // static int edgecmp(epair_t* e0, epair_t* e1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dlcw570tkt0usu32yvwm8cd3q"); // return (e0->d - e1->d);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 v4bpabyggw2gk3qw5qiapig9
+// static boolean spline_merge(node_t * n)
+public static Object spline_merge(Object... arg) {
+UNSUPPORTED("676qpx3n8ouo1wjyumn6zmyxp"); // static boolean spline_merge(node_t * n)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 90yjqn8lf9ig968uma0q5sh34
+// static boolean swap_ends_p(edge_t * e)
+public static Object swap_ends_p(Object... arg) {
+UNSUPPORTED("3fjj0uj2p25pitmluszw94p02"); // static boolean swap_ends_p(edge_t * e)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+//1 9nmy74adtwr7rthq8xzoptzrf
+// static splineInfo sinfo =
+
+
+
+
+//3 9rb5k3o906weqm31n2i8lv5so
+// void orthoEdges (Agraph_t* g, int doLbls)
+public static Object orthoEdges(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("9ttq9irkfbqsx0q7wcnetzy74"); // orthoEdges (Agraph_t* g, int doLbls)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2omyui5qg1nq6by9uehikdjsy"); // sgraph* sg;
+UNSUPPORTED("7cg9ke1jhysixb020x5an69jv"); // maze* mp;
+UNSUPPORTED("cu6yxi1acnq5g0btge7zjdkm0"); // int n_edges;
+UNSUPPORTED("9ro0xuxbh1xd61xqzcaaadikl"); // route* route_list;
+UNSUPPORTED("bl7f59ax29638dd6kka6eopr"); // int i, gstart;
+UNSUPPORTED("ci2zh69w6nhi0q816i1ixuy9k"); // Agnode_t* n;
+UNSUPPORTED("6yramhpyls8c6kexupyqip8oq"); // Agedge_t* e;
+UNSUPPORTED("7kt5z7l3gj30fc2g11brz7hn3"); // snode* sn;
+UNSUPPORTED("4lm0qpz2knefonz0ik550n9qi"); // snode* dn;
+UNSUPPORTED("f0kzqokjxzhga3oyrmev903hw"); // epair_t* es = (epair_t*)gmalloc((agnedges(g))*sizeof(epair_t));
+UNSUPPORTED("ih7y3b036cc7gqpd8tqtpr9q"); // cell* start;
+UNSUPPORTED("1jv0h6v7ggk7dfm6oqzs4u3lj"); // cell* dest;
+UNSUPPORTED("4vt2v1dwhho9ajlyh6nnd1d8h"); // PointSet* ps;
+UNSUPPORTED("ef044lvbrsjiucn4ouhr6x2qb"); // textlabel_t* lbl;
+UNSUPPORTED("e800kdbiqq8i4me0u6fwkd370"); // if (Concentrate)
+UNSUPPORTED("7r91fjc8u70111hbxlvqd7ktw"); // ps = newPS();
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("9wn8pvvih4vrawe5alvfhm9yn"); // char* s = agget(g, "odb");
+UNSUPPORTED("b8c7bwegidsegu11m5xttb11j"); // char c;
+UNSUPPORTED("1jro8v0ct38i7wcl91bk3ic3e"); // odb_flags = 0;
+UNSUPPORTED("3jmzbbt2cpizqt2dufx87w3al"); // if (s && (*s != '\0')) {
+UNSUPPORTED("7ns3g2gy7v368e78t92w9xfwe"); // while ((c = *s++)) {
+UNSUPPORTED("2mo7busikqaj4ukkdtf5zm8ik"); // switch (c) {
+UNSUPPORTED("ahx4iaogjvo14pciwab02xzsk"); // case 'c' :
+UNSUPPORTED("eai7hbieqphsrvjgzprem79fi"); // odb_flags |= 8; // emit channel graph
+UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break;
+UNSUPPORTED("3dcblef3ry3y3dukenp1w4dfg"); // case 'i' :
+UNSUPPORTED("8f1c36fjkua8s8jgm0zigqvgv"); // odb_flags |= (2|16); // emit search graphs
+UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break;
+UNSUPPORTED("a5nt85f0rq0jcipae19734270"); // case 'm' :
+UNSUPPORTED("6jh77aqljluu3rx42j6uz2wog"); // odb_flags |= 1; // emit maze
+UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break;
+UNSUPPORTED("ci305ii9fygih5qjkc9cb43gn"); // case 'r' :
+UNSUPPORTED("db7u5t19gdpwvuygsvb2vjc3d"); // odb_flags |= 4; // emit routes in maze
+UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break;
+UNSUPPORTED("bt1b5biu9zb9zccgj0cr658xz"); // case 's' :
+UNSUPPORTED("3uqs3qb95942pbzmg53uqc42a"); // odb_flags |= 2; // emit search graph
+UNSUPPORTED("czyohktf9bkx4udfqhx42f4lu"); // break;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("71u00vuawtzqg4gz0lsai1m4a"); // if (doLbls) {
+UNSUPPORTED("10xzs4g55w92883ej7ty5glms"); // agerr(AGWARN, "Orthogonal edges do not currently handle edge labels. Try using xlabels.\n");
+UNSUPPORTED("ditf90dyqp9mua87s8pumvi32"); // doLbls = 0;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("etv0iiw2ala4rlayc040wzggy"); // mp = mkMaze (g, doLbls);
+UNSUPPORTED("4mmgpe06gcmxv31p3y6ipyf5s"); // sg = mp->sg;
+UNSUPPORTED("emjkv8wxfnbb355266hsa90ni"); // if (odb_flags & 2) emitSearchGraph (stderr, sg);
+UNSUPPORTED("6kfj8qzl4paerer9gefcgsf7h"); // /* store edges to be routed in es, along with their lengths */
+UNSUPPORTED("c8047kmsz3vp9lv0w3cw7yas8"); // n_edges = 0;
+UNSUPPORTED("ef1ej9licmntta3ibshtov76v"); // for (n = agfstnode (g); n; n = agnxtnode(g, n)) {
+UNSUPPORTED("bojcrt9w5b2e0csoijdzfkvq9"); // for (e = agfstout(g, n); e; e = agnxtout(g,e)) {
+UNSUPPORTED("2xpa4q3kqyqhcc2z6j7asagqt"); // if ((Nop == 2) && ED_spl(e)) continue;
+UNSUPPORTED("41rwk0z8paqjc2mcm2a1byosa"); // if (Concentrate) {
+UNSUPPORTED("9luudm8wqdv4jx4s0ustrk6br"); // int ti = AGSEQ(agtail(e));
+UNSUPPORTED("c976iy0d8sqzcrczrfzsoevxv"); // int hi = AGSEQ(aghead(e));
+UNSUPPORTED("48wqpeunj9fn8sno227cy07cn"); // if (ti <= hi) {
+UNSUPPORTED("4xk5rpi8h5diyml5ko1c9pb4o"); // if (isInPS (ps,ti,hi)) continue;
+UNSUPPORTED("eufspanc57875qmod8zz8vvj"); // else addPS (ps,ti,hi);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("9g3uik8w4uis1skxgzm9wfjkr"); // if (isInPS (ps,hi,ti)) continue;
+UNSUPPORTED("ckw8orokucnmrq9rly0vp6483"); // else addPS (ps,hi,ti);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("disvm7blt6qwq36jp0pcx05p8"); // es[n_edges].e = e;
+UNSUPPORTED("8treoc9xy0md6z4ggqb44auyg"); // es[n_edges].d = edgeLen (e);
+UNSUPPORTED("e9hecjb6c3qp2o2tya683ai62"); // n_edges++;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("191cpw36uzdm3gqmxfphm1xbu"); // route_list = (route*)zmalloc((n_edges)*sizeof(route));
+UNSUPPORTED("2gq02agovwtyskbeh5vefmslh"); // qsort((char *)es, n_edges, sizeof(epair_t), (qsort_cmpf) edgecmp);
+UNSUPPORTED("brl796jea4mql81k1b7ershdc"); // gstart = sg->nnodes;
+UNSUPPORTED("cs9x91hl58n3ub79e9ugvdn4x"); // PQgen (sg->nnodes+2);
+UNSUPPORTED("5d43q0fg31x5nwtqm0ata3zjz"); // sn = &sg->nodes[gstart];
+UNSUPPORTED("66qkjbw0jrnak7d2s42h0jg70"); // dn = &sg->nodes[gstart+1];
+UNSUPPORTED("6gdenpywxn3p3xidvp7z66cf1"); // for (i = 0; i < n_edges; i++) {
+UNSUPPORTED("49gwq06gbm2qhfpy2s6ar6gje"); // if ((i > 0) && (odb_flags & 16)) emitSearchGraph (stderr, sg);
+UNSUPPORTED("a80m8bfu7lu477kat2scc0z01"); // e = es[i].e;
+UNSUPPORTED("cod1w9an9gcxijan671a4atdt"); // start = ((cell*)ND_alg(agtail(e)));
+UNSUPPORTED("emi0a8wy2fz98d3tyq50nu13j"); // dest = ((cell*)ND_alg(aghead(e)));
+UNSUPPORTED("3n4xox18pqitgomsjx10rjonm"); // if (doLbls && (lbl = ED_label(e)) && lbl->set) {
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("596hk3sqi3zgv5ypngx0bx7mq"); // if (start == dest)
+UNSUPPORTED("d0zcyw4sme2i3mtmhe3hlbrmc"); // addLoop (sg, start, dn, sn);
+UNSUPPORTED("6q044im7742qhglc4553noina"); // else {
+UNSUPPORTED("3uirdblzfj10bp724w2p35bup"); // addNodeEdges (sg, dest, dn);
+UNSUPPORTED("52k51th88uehvgef7fd4gfbu6"); // addNodeEdges (sg, start, sn);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("dd3ztkz69q7dffhj4ihaizk6s"); // if (shortPath (sg, dn, sn)) goto orthofinish;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("nl2nzce1mtx118xuy1w9uq6v"); // route_list[i] = convertSPtoRoute(sg, sn, dn);
+UNSUPPORTED("bt25p7tmlvva5imw8gh97toy4"); // reset (sg);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("9br7yf8ixw2vq0ih496kr0a3p"); // PQfree ();
+UNSUPPORTED("1h1p1wlchwso3mavejmc8cyxv"); // mp->hchans = extractHChans (mp);
+UNSUPPORTED("dbw3nbw93ongdgdhdtscvuxb8"); // mp->vchans = extractVChans (mp);
+UNSUPPORTED("9r77bxpkuu3nsxa0nttqjh0hl"); // assignSegs (n_edges, route_list, mp);
+UNSUPPORTED("bbjzso9cox08g0ax9rs132q90"); // if (setjmp(jbuf))
+UNSUPPORTED("uycdh1qmy4ty2pb0zgz2v78a"); // goto orthofinish;
+UNSUPPORTED("41rz8iqv9lm60deshcar8hjxa"); // assignTracks (n_edges, route_list, mp);
+UNSUPPORTED("as0ctk4holgq03a3hl4doch8d"); // if (odb_flags & 4) emitGraph (stderr, mp, n_edges, route_list, es);
+UNSUPPORTED("c1p0r114sfd1lvyamywzbro10"); // attachOrthoEdges (g, mp, n_edges, route_list, &sinfo, es, doLbls);
+UNSUPPORTED("7e5qeaxbygknkdgnv53oq2u1e"); // orthofinish:
+UNSUPPORTED("2o1inibord55o8k32yn7kfrwl"); // if (Concentrate)
+UNSUPPORTED("ghiimsk3vbhjzh67h8pwbk95"); // freePS (ps);
+UNSUPPORTED("an57w0rx9dpimg8nf764q8n97"); // for (i=0; i < n_edges; i++)
+UNSUPPORTED("3fz1dnh6u4wislz0u5bxb5ugh"); // free (route_list[i].segs);
+UNSUPPORTED("570o41p0l7jgclg83j647v910"); // free (route_list);
+UNSUPPORTED("3pnwqn95p3wz9ni8ys8j0u5hv"); // freeMaze (mp);
+UNSUPPORTED("d507lsxnfvq57ccke7bica6zl"); // free (es);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+//1 d9p47q2g7x3b0asfu3jvceq3l
+// static char* prolog2 =
+
+
+//1 475m5xvb3loybtd1l2z8rftoq
+// static char* epilog2 =
+
+
+
+
+//3 dx1s3vj94skvk7pmrz4s875l9
+// static point coordOf (cell* cp, snode* np)
+public static Object coordOf(Object... arg) {
+UNSUPPORTED("5ji3k3tukj2uxmd2ympfpwtml"); // static point
+UNSUPPORTED("dd9sjhv4zfl34767d8g79k27"); // coordOf (cell* cp, snode* np)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p;
+UNSUPPORTED("703pcgiucdy0i6g6mphde8dno"); // if (cp->sides[M_TOP] == np) {
+UNSUPPORTED("68easn97lilb2aqdb8frrsss1"); // p.x = (cp->bb.LL.x + cp->bb.UR.x)/2;
+UNSUPPORTED("6aab1cx7aql0barme21mg8zqj"); // p.y = cp->bb.UR.y;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("835f42b2b380czfp1110k8i9k"); // else if (cp->sides[M_BOTTOM] == np) {
+UNSUPPORTED("68easn97lilb2aqdb8frrsss1"); // p.x = (cp->bb.LL.x + cp->bb.UR.x)/2;
+UNSUPPORTED("2hak744886lhw45wamafgo56x"); // p.y = cp->bb.LL.y;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("5ik2pzxq0pwcq7l7og6ti9ee3"); // else if (cp->sides[M_LEFT] == np) {
+UNSUPPORTED("1t69shrxanujd9qd85gq4qeng"); // p.y = (cp->bb.LL.y + cp->bb.UR.y)/2;
+UNSUPPORTED("4k1o0atpyqo35gcbuse4az3rg"); // p.x = cp->bb.LL.x;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("4u9elo3yvf0zruskl3zjt2b2f"); // else if (cp->sides[M_RIGHT] == np) {
+UNSUPPORTED("1t69shrxanujd9qd85gq4qeng"); // p.y = (cp->bb.LL.y + cp->bb.UR.y)/2;
+UNSUPPORTED("ehaxid5d4p09fg8swm5oivbh9"); // p.x = cp->bb.UR.x;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("91xduilalb406jjyw2g1i07th"); // return p;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 88q5zadn0aehrwxgxwm2qrbrk
+// static boxf emitEdge (FILE* fp, Agedge_t* e, route rte, maze* m, int ix, boxf bb)
+public static Object emitEdge(Object... arg) {
+UNSUPPORTED("d5qt6s97burjfu5qe0oxyyrmr"); // static boxf
+UNSUPPORTED("dnxab88k0n0c2bl3z0wgvml6i"); // emitEdge (FILE* fp, Agedge_t* e, route rte, maze* m, int ix, boxf bb)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("eusea1bk6jn8fd1b9chikta59"); // int i, x, y;
+UNSUPPORTED("orqp5l9owubc5xfs0c6zc4fu"); // boxf n = ((cell*)ND_alg(agtail(e)))->bb;
+UNSUPPORTED("bv14gu5qoc27okyaav2vdl3fi"); // segment* seg = rte.segs;
+UNSUPPORTED("9z20n0kimree8b0ala1dzcz3f"); // if (seg->isVert) {
+UNSUPPORTED("d35lpqdphvgn7a4elfttfttf5"); // x = vtrack(seg, m);
+UNSUPPORTED("7d8m8clw270qs6crbw28fvj90"); // y = (n.UR.y + n.LL.y)/2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("cl661znjs3x3fj8d1y9cg24sj"); // y = htrack(seg, m);
+UNSUPPORTED("c1hxt4wou5pqdatrc4gw3y5yt"); // x = (n.UR.x + n.LL.x)/2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("xhluynvutbzbfvcxx2cjyytz"); // bb.LL.x = MIN(bb.LL.x, 1*x);
+UNSUPPORTED("33wk87zqb5r4f23468khg93pg"); // bb.LL.y = MIN(bb.LL.y, 1*y);
+UNSUPPORTED("6mk0mwcxlhcgch8smmk49m01g"); // bb.UR.x = MAX(bb.UR.x, 1*x);
+UNSUPPORTED("4z54bwwdfw0evollgabbhoyfh"); // bb.UR.y = MAX(bb.UR.y, 1*y);
+UNSUPPORTED("bd57sg9ngr5l29b4xy3hasneh"); // fprintf (fp, "newpath %d %d moveto\n", 1*x, 1*y);
+UNSUPPORTED("rfx8uba9j7zxsbk2dfcyo2j8"); // for (i = 1;i<rte.n;i++) {
+UNSUPPORTED("90i6hsbw4ncxgqnor5ejql4qy"); // seg = rte.segs+i;
+UNSUPPORTED("6pz2d4cdoe2l7351iysy6x98p"); // if (seg->isVert) {
+UNSUPPORTED("1b5sxos9qcnmmvphnk5nns37s"); // x = vtrack(seg, m);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("19kkar9zhosg7ryut8il82rx7"); // y = htrack(seg, m);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("2d7turuf2z2kzsjsi5ajmg6np"); // bb.LL.x = MIN(bb.LL.x, 1*x);
+UNSUPPORTED("c2qeisl94yrotinrfx39xxqo3"); // bb.LL.y = MIN(bb.LL.y, 1*y);
+UNSUPPORTED("2y9tfuxsj7noszyfrt0ahp2lk"); // bb.UR.x = MAX(bb.UR.x, 1*x);
+UNSUPPORTED("ckczjxes8uggdg6ltkg2gqw5x"); // bb.UR.y = MAX(bb.UR.y, 1*y);
+UNSUPPORTED("dwd2wbhfazyd038t2qn0hc7bv"); // fprintf (fp, "%d %d lineto\n", 1*x, 1*y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("b0b65d8qp73v6bg7hjzivvqz9"); // n = ((cell*)ND_alg(aghead(e)))->bb;
+UNSUPPORTED("9z20n0kimree8b0ala1dzcz3f"); // if (seg->isVert) {
+UNSUPPORTED("d35lpqdphvgn7a4elfttfttf5"); // x = vtrack(seg, m);
+UNSUPPORTED("7d8m8clw270qs6crbw28fvj90"); // y = (n.UR.y + n.LL.y)/2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("cl661znjs3x3fj8d1y9cg24sj"); // y = htrack(seg, m);
+UNSUPPORTED("d0efs14iyqyu5lops51368trn"); // x = (n.LL.x + n.UR.x)/2;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("xhluynvutbzbfvcxx2cjyytz"); // bb.LL.x = MIN(bb.LL.x, 1*x);
+UNSUPPORTED("33wk87zqb5r4f23468khg93pg"); // bb.LL.y = MIN(bb.LL.y, 1*y);
+UNSUPPORTED("6mk0mwcxlhcgch8smmk49m01g"); // bb.UR.x = MAX(bb.UR.x, 1*x);
+UNSUPPORTED("4z54bwwdfw0evollgabbhoyfh"); // bb.UR.y = MAX(bb.UR.y, 1*y);
+UNSUPPORTED("4lv2wvln641rjodmppi1ea8ow"); // fprintf (fp, "%d %d lineto stroke\n", 1*x, 1*y);
+UNSUPPORTED("5v5hh30squmit8o2i5hs25eig"); // return bb;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 26m9b9nmqeqz2egz17qjrsmi6
+// static void emitSearchGraph (FILE* fp, sgraph* sg)
+public static Object emitSearchGraph(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("3afa3kd81chzz47ecdq46zrer"); // emitSearchGraph (FILE* fp, sgraph* sg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dyevh82lgyyzdp6weja1ovxir"); // cell* cp;
+UNSUPPORTED("bhhrlzv5tqbx6ctv8b8hya7ll"); // snode* np;
+UNSUPPORTED("2360u3fv51vz7azzvwtpxz8ys"); // sedge* ep;
+UNSUPPORTED("41nrdsugvfgw23s93g0dhizkn"); // point p;
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("6gvhztp2b7m89nv2btikaiyz4"); // fputs ("graph G {\n", fp);
+UNSUPPORTED("bmtp7y0sxxjdh22j8p4pvgssu"); // fputs (" node[shape=point]\n", fp);
+UNSUPPORTED("89usm1dk3yo4ttycgh9mcqv0f"); // for (i = 0; i < sg->nnodes; i++) {
+UNSUPPORTED("3kjyiosnhbp02weff5w4htinu"); // np = sg->nodes+i;
+UNSUPPORTED("4k5we2dw3u45kv7a09gffw8tf"); // cp = np->cells[0];
+UNSUPPORTED("1kn01nkzc34bp86c9bvl7a74b"); // if (cp == np->cells[1]) {
+UNSUPPORTED("e78riujsgaj8ogp31bihqa6rr"); // pointf pf = midPt (cp);
+UNSUPPORTED("1hdg4vfvme7qnviehisvcj5jl"); // p.x = pf.x;
+UNSUPPORTED("7o9naunu16bztru6ho4g6yp5s"); // p.y = pf.y;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("7ks8s38h2f1xoqnd6vgdegepn"); // if ((cp->flags & 1)) cp = np->cells[1];
+UNSUPPORTED("995g67hltj0paxtxlkedyryh1"); // p = coordOf (cp, np);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("7lalws1y1951xlz9ffakcbom8"); // fprintf (fp, " %d [pos=\"%d,%d\"]\n", i, p.x, p.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2ktcncbuekdxpzstdfs5xnwyu"); // for (i = 0; i < sg->nedges; i++) {
+UNSUPPORTED("6hjfrnsaxev4hsgcyeka41z77"); // ep = sg->edges+i;
+UNSUPPORTED("a7b1ejc81bv3o5ahc8hoxa98u"); // fprintf (fp, " %d -- %d[len=\"%f\"]\n", ep->v1, ep->v2, ep->weight);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("69smfbpzurcjvgjvm90vhl35k"); // fputs ("}\n", fp);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7qavznbkl6bvpmm9axulwfdbe
+// static void emitGraph (FILE* fp, maze* mp, int n_edges, route* route_list, epair_t es[])
+public static Object emitGraph(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("bkcsiggpetlvefiz01q93uej4"); // emitGraph (FILE* fp, maze* mp, int n_edges, route* route_list, epair_t es[])
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("7546bgor76e4n44ldtchty3d4"); // boxf bb, absbb;
+UNSUPPORTED("emg8ro778e56pul9iomm1odwo"); // box bbox;
+UNSUPPORTED("c1kybqd5l3qg3n9a305wjynks"); // absbb.LL.x = absbb.LL.y = MAXDOUBLE;
+UNSUPPORTED("8k7etzgpxlrl6uupdtjg0hodh"); // absbb.UR.x = absbb.UR.y = -MAXDOUBLE;
+UNSUPPORTED("118oh6o7l5ozdkayqepqyzeq1"); // fprintf (fp, "%s", prolog2);
+UNSUPPORTED("1m4pf51j8j5r5hwafqhf1gpxp"); // fprintf (fp, "%d %d translate\n", 10, 10);
+UNSUPPORTED("1l4k0raj069p4juux59nmeddm"); // fputs ("0 0 1 setrgbcolor\n", fp);
+UNSUPPORTED("eabxb5i0ddkbddnag9j34xjbc"); // for (i = 0; i < mp->ngcells; i++) {
+UNSUPPORTED("8we0nz55uqrc136qh9ei4wi1r"); // bb = mp->gcells[i].bb;
+UNSUPPORTED("eaawrfhkil1c35bbtxc96ifj7"); // fprintf (fp, "%f %f %f %f node\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6gdenpywxn3p3xidvp7z66cf1"); // for (i = 0; i < n_edges; i++) {
+UNSUPPORTED("c0bzh5j9t4e77lu0tb21a67bz"); // absbb = emitEdge (fp, es[i].e, route_list[i], mp, i, absbb);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("86kkucwmapf5ozkph3236xcgb"); // fputs ("0.8 0.8 0.8 setrgbcolor\n", fp);
+UNSUPPORTED("cc6zk9wsty15bcay61nb68jos"); // for (i = 0; i < mp->ncells; i++) {
+UNSUPPORTED("323ihqshamlg2xo726pk3b3vj"); // bb = mp->cells[i].bb;
+UNSUPPORTED("e86ar5rrwd873yux3qqdkktes"); // fprintf (fp, "%f %f %f %f cell\n", bb.LL.x, bb.LL.y, bb.UR.x, bb.UR.y);
+UNSUPPORTED("1739n1u2wlfk0ha07u0i2kqns"); // absbb.LL.x = MIN(absbb.LL.x, bb.LL.x);
+UNSUPPORTED("2k0qxt9afi97ol188k2rxoiot"); // absbb.LL.y = MIN(absbb.LL.y, bb.LL.y);
+UNSUPPORTED("cgmau9yngryx709jc2th5sk7o"); // absbb.UR.x = MAX(absbb.UR.x, bb.UR.x);
+UNSUPPORTED("b08g38fj835q33y3jhlu4r7or"); // absbb.UR.y = MAX(absbb.UR.y, bb.UR.y);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("66qdohztsd8obgtrz7n7aneyq"); // bbox.LL.x = absbb.LL.x + 10;
+UNSUPPORTED("eanpui2i9474f3m8ugpr9isad"); // bbox.LL.y = absbb.LL.y + 10;
+UNSUPPORTED("8azdlhxair6id14ox480nrq72"); // bbox.UR.x = absbb.UR.x + 10;
+UNSUPPORTED("3pbdldqi9gmkwgneq7kyfowun"); // bbox.UR.y = absbb.UR.y + 10;
+UNSUPPORTED("e2528fy8l69smovwey76qcix3"); // fprintf (fp, epilog2, bbox.LL.x, bbox.LL.y, bbox.UR.x, bbox.UR.y);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/partition__c.java b/src/gen/lib/ortho/partition__c.java
new file mode 100644
index 0000000..a9014fd
--- /dev/null
+++ b/src/gen/lib/ortho/partition__c.java
@@ -0,0 +1,847 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class partition__c {
+//1 2digov3edok6d5srhgtlmrycs
+// extern lt_symlist_t lt_preloaded_symbols[]
+
+
+//1 baedz5i9est5csw3epz3cv7z
+// typedef Ppoly_t Ppolyline_t
+
+
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+//1 8dfqgf3u1v830qzcjqh9o8ha7
+// extern Agmemdisc_t AgMemDisc
+
+
+//1 18k2oh2t6llfsdc5x0wlcnby8
+// extern Agiddisc_t AgIdDisc
+
+
+//1 a4r7hi80gdxtsv4hdoqpyiivn
+// extern Agiodisc_t AgIoDisc
+
+
+//1 bnzt5syjb7mgeru19114vd6xx
+// extern Agdisc_t AgDefaultDisc
+
+
+//1 35y2gbegsdjilegaribes00mg
+// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected
+
+
+//1 c2rygslq6bcuka3awmvy2b3ow
+// typedef Agsubnode_t Agnoderef_t
+
+
+//1 xam6yv0dcsx57dtg44igpbzn
+// typedef Dtlink_t Agedgeref_t
+
+
+//1 1duz2zmve5bdooct0ezmnnaxq
+// static int chain_idx, mon_idx
+
+
+//1 67uj2vwqlb937zf3jgzd5bre1
+// static monchain_t* mchain
+
+
+//1 b7wevmtwi3ljzl56axez0c18m
+// static vertexchain_t* vert
+
+
+//1 2owm4aavvrdgcsmzw0xh1keul
+// static int* mon
+
+
+
+
+//3 c5f2ppu5vis7zj6x1ehr7ipb8
+// static void convert (boxf bb, int flip, int ccw, pointf* pts)
+public static Object convert(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("7z9p7ryaqovx8l4zvz8ut5lh"); // convert (boxf bb, int flip, int ccw, pointf* pts)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("d4u5o9hun4r9ctb05sitn35ie"); // pts[0] = bb.LL;
+UNSUPPORTED("8c7ixjyy0o8pk7jvbhubvu7fk"); // pts[2] = bb.UR;
+UNSUPPORTED("3oqttg1p147o6iu2ik3nuhaag"); // if (ccw) {
+UNSUPPORTED("b6cwugc335s6xo11bjy8lzdtv"); // pts[1].x = bb.UR.x;
+UNSUPPORTED("5g8pg756wtn4jz9pynuub13nu"); // pts[1].y = bb.LL.y;
+UNSUPPORTED("86i7iwyoibsuencp95bp2l0q4"); // pts[3].x = bb.LL.x;
+UNSUPPORTED("es4u9iskz0bxl8yc2utghf7yw"); // pts[3].y = bb.UR.y;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("apctdgahb5872oqu7l5h6puc2"); // pts[1].x = bb.LL.x;
+UNSUPPORTED("7hnlqi5nik1acsnv1f8p6bcl"); // pts[1].y = bb.UR.y;
+UNSUPPORTED("7jd9pnw8dy4kydjdmsqgagnag"); // pts[3].x = bb.UR.x;
+UNSUPPORTED("tk95qh6cyvgcle477dclxmdc"); // pts[3].y = bb.LL.y;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("9wlzvfxuhvsgkkq6lvlrw01d2"); // if (flip) {
+UNSUPPORTED("bbuxsg26kpzb2fl660hjri9l8"); // int i;
+UNSUPPORTED("5d0rjolqhmqfhdts46h273pw"); // for (i = 0; i < 4; i++) {
+UNSUPPORTED("9dpwe8ucpbv8y180jmvfjohj0"); // double tmp = pts[i].y;
+UNSUPPORTED("8nsyib2abbayywi8ydtyfrh1w"); // pts[i].y = pts[i].x;
+UNSUPPORTED("e2stbhhso88rb6d0bps3wesbm"); // pts[i].x = -tmp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7f2x9i3stjkwyki8jhp8g4crp
+// static int store (segment_t* seg, int first, pointf* pts)
+public static Object store(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("ck5s10q08ha996jg1dthuj4gz"); // store (segment_t* seg, int first, pointf* pts)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6a67ll1vnp0gczc7sdxxm0eus"); // int i, last = first + 4 - 1;
+UNSUPPORTED("cp0v943eklkgtfrjyj59exkgj"); // int j = 0;
+UNSUPPORTED("32ltq51ztqu722sxfo74u4mtw"); // for (i = first; i <= last; i++, j++) {
+UNSUPPORTED("79puvan9sro080fsgrgz2t2q7"); // if (i == first) {
+UNSUPPORTED("64r4m4ormvokugbo70tnvjx5m"); // seg[i].next = first+1;
+UNSUPPORTED("1dm0tna3ay2sbc2yaliye2bse"); // seg[i].prev = last;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("6cjbyd0qmosdne3p1e7cmt94k"); // else if (i == last) {
+UNSUPPORTED("eanh96xgpeo6woibzznfh0wbv"); // seg[i].next = first;
+UNSUPPORTED("9dcogmtm6yucs0hqvurnlvd8c"); // seg[i].prev = last-1;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("8k75h069sv2k9b6tgz77dscwd"); // else {
+UNSUPPORTED("2n6qylkakd0eh8qirmanhkqv6"); // seg[i].next = i+1;
+UNSUPPORTED("e074ljxriocjv010xtqimpe82"); // seg[i].prev = i-1;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("5n6eo7o5v5jxlkoan6t7rxrs6"); // seg[i].is_inserted = 0;
+UNSUPPORTED("8boueifn4zp07ophbsfll1c4j"); // seg[seg[i].prev].v1 = seg[i].v0 = pts[j];
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2fba7o4mz0g2iwmw1tsdmnyeq"); // return (last+1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 86pkmn254w4mzlbm1tvtj0utl
+// static void genSegments (cell* cells, int ncells, boxf bb, segment_t* seg, int flip)
+public static Object genSegments(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("1kvuie0el6g2uqdy7kissygr5"); // genSegments (cell* cells, int ncells, boxf bb, segment_t* seg, int flip)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("brjd2xw92qki6azgl484qbcab"); // int j = 0, i = 1;
+UNSUPPORTED("d8sp6cfkpfyndzmid92shiq50"); // pointf pts[4];
+UNSUPPORTED("599xkip8oct4w8qnqgosguvxf"); // convert (bb, flip, 1, pts);
+UNSUPPORTED("2ukjeetspuv54livez9siabr3"); // i = store (seg, i, pts);
+UNSUPPORTED("c0t3vyjxjf53cre3fnsjl1zct"); // for (j = 0; j < ncells; j++) {
+UNSUPPORTED("nnyfz2s31gezrnoj0r6t3c7e"); // convert (cells[j].bb, flip, 0, pts);
+UNSUPPORTED("dtkvdb642xk2z42q0cqxa8cuw"); // i = store (seg, i, pts);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 adiv3g0l2lfgmsrp6nszkbu7e
+// static void generateRandomOrdering(int n, int* permute)
+public static Object generateRandomOrdering(Object... arg) {
+UNSUPPORTED("59dl3yc4jbcy2pb7j1njhlybi"); // static void
+UNSUPPORTED("bayg75oypsrrhfr1fn4t44xzq"); // generateRandomOrdering(int n, int* permute)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dbbxghj26zogt3ririv6d35rx"); // int i, j, tmp;
+UNSUPPORTED("bm4rxb9avtrlnwyqnenc25krj"); // for (i = 0; i <= n; i++) permute[i] = i;
+UNSUPPORTED("8m819riue7hsq2j2p8vn2ssb5"); // for (i = 1; i <= n; i++) {
+UNSUPPORTED("2kwf0aqv8qsg7rp5zguz8rp9a"); // j = i + drand48() * (n + 1 - i);
+UNSUPPORTED("7d04842291lql0mh7uyxlrdk5"); // if (j != i) {
+UNSUPPORTED("9c8awz319ebq9x0wpxjy3vdr6"); // tmp = permute[i];
+UNSUPPORTED("9tz2w7jz6snz46csphfzc6j1r"); // permute [i] = permute[j];
+UNSUPPORTED("c274z0kj80nfnoqb077lr9e5w"); // permute [j] = tmp;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 abhkjog92vle0cw28y59cd6ny
+// static int inside_polygon (trap_t *t, segment_t* seg)
+public static Object inside_polygon(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("5e3r7cxnwod76fm476ejisqjs"); // inside_polygon (trap_t *t, segment_t* seg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1iqmfrt5wo4mwmshecxpdfpa9"); // int rseg = t->rseg;
+UNSUPPORTED("dxnx57i2vw0o7ngs9bgwpet6"); // if (t->state == 2)
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("ciw4dstxif0s9rksfu13tmxi1"); // if ((t->lseg <= 0) || (t->rseg <= 0))
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("ea7zf31094dwtjf2dzluky008"); // if (((t->u0 <= 0) && (t->u1 <= 0)) ||
+UNSUPPORTED("e15aszibtu1esr9cm5ddq9d5u"); // ((t->d0 <= 0) && (t->d1 <= 0))) /* triangle */
+UNSUPPORTED("be5gm064ul8v8gm34w7hgonoj"); // return ((((&seg[rseg].v1)->y > (&seg[rseg].v0)->y + 1.0e-7) ? NOT(0) : (((&seg[rseg].v1)->y < (&seg[rseg].v0)->y - 1.0e-7) ? 0 : ((&seg[rseg].v1)->x > (&seg[rseg].v0)->x))));
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ew088xpoj2s831ch0zbnz5elx
+// static double get_angle (pointf *vp0, pointf *vpnext, pointf *vp1)
+public static Object get_angle(Object... arg) {
+UNSUPPORTED("lt6cippjix5bbvyhkcpl8g7g"); // static double
+UNSUPPORTED("dahlnw9xplc13ehv56akxp6fe"); // get_angle (pointf *vp0, pointf *vpnext, pointf *vp1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("369yvcclaxnouso7vjmxhcz1l"); // pointf v0, v1;
+UNSUPPORTED("941ut9wx36d2re4xt7vn0stim"); // v0.x = vpnext->x - vp0->x;
+UNSUPPORTED("7dfsrn98hfr6a80nms62qv9dy"); // v0.y = vpnext->y - vp0->y;
+UNSUPPORTED("eholvtx37o5y2d1638yxn6v24"); // v1.x = vp1->x - vp0->x;
+UNSUPPORTED("9967xssda33wyljha7pewt4mk"); // v1.y = vp1->y - vp0->y;
+UNSUPPORTED("j9n4bua0t2z6uqjun1rcultc"); // if (((v0).x * (v1).y - (v1).x * (v0).y) >= 0) /* sine is positive */
+UNSUPPORTED("cf3rdnuyrr7l7ewade7a57djr"); // return ((v0).x * (v1).x + (v0).y * (v1).y)/(sqrt((v0).x * (v0).x + (v0).y * (v0).y))/(sqrt((v1).x * (v1).x + (v1).y * (v1).y));
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("b8d4rpcuwbgggvigw19cs3pz3"); // return (-1.0 * ((v0).x * (v1).x + (v0).y * (v1).y)/(sqrt((v0).x * (v0).x + (v0).y * (v0).y))/(sqrt((v1).x * (v1).x + (v1).y * (v1).y)) - 2);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7gi4ub1tqpupq617koabfz9iy
+// static int get_vertex_positions (int v0, int v1, int *ip, int *iq)
+public static Object get_vertex_positions(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("86uczcsl4cyu14zme5scqmswu"); // get_vertex_positions (int v0, int v1, int *ip, int *iq)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("en82orb21pn5f2w6hxc0pmi6r"); // vertexchain_t *vp0, *vp1;
+UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i;
+UNSUPPORTED("55a7kpuxgq6hsi6ljkbdivg16"); // double angle, temp;
+UNSUPPORTED("bjekmi3f789xf2g33a7v1marm"); // int tp, tq;
+UNSUPPORTED("6v6uklf23950dew0q3vlmjmtu"); // vp0 = &vert[v0];
+UNSUPPORTED("e6h7hqx9nzufu0i4o6xctjri6"); // vp1 = &vert[v1];
+UNSUPPORTED("ety4qtnzh8rpooitlhb64ufil"); // /* p is identified as follows. Scan from (v0, v1) rightwards till */
+UNSUPPORTED("9em6bl9ikz3uv4t3tpkdoxeb9"); // /* you hit the first segment starting from v0. That chain is the */
+UNSUPPORTED("17iufy6n7vezx6qpdhhsc8zvy"); // /* chain of our interest */
+UNSUPPORTED("zq0nk6k4owgwciv5sc0z95vf"); // angle = -4.0;
+UNSUPPORTED("2d2pdjjgu969q63zrkykinxdb"); // for (i = 0; i < 4; i++)
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("aiwx3n6xiaje2wbcw9fja0kp6"); // if (vp0->vnext[i] <= 0)
+UNSUPPORTED("6hzbngzom80qdcr88vnds1r59"); // continue;
+UNSUPPORTED("2qqqfeckj323vggxs72i2b9bd"); // if ((temp = get_angle(&vp0->pt, &(vert[vp0->vnext[i]].pt),
+UNSUPPORTED("bfendrzuwv7ttibwlfxnzh3mv"); // &vp1->pt)) > angle)
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("d5mp4kdylwkyngcbi2ra9gda7"); // angle = temp;
+UNSUPPORTED("8gf4rptcek1rtsswxgp4f5sp"); // tp = i;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("29ch4xe4dtb8vrs3u6br7fkfn"); // *ip = tp;
+UNSUPPORTED("449uwiujph9yz1kmgp91x1mph"); // /* Do similar actions for q */
+UNSUPPORTED("zq0nk6k4owgwciv5sc0z95vf"); // angle = -4.0;
+UNSUPPORTED("2d2pdjjgu969q63zrkykinxdb"); // for (i = 0; i < 4; i++)
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("6utzp015ebcuvv226lur8xqjn"); // if (vp1->vnext[i] <= 0)
+UNSUPPORTED("6u4qfk9ctif0s5v6pg2ym2kh0"); // continue;
+UNSUPPORTED("4qeaopyujc1p8ghdkrfs8swg1"); // if ((temp = get_angle(&vp1->pt, &(vert[vp1->vnext[i]].pt),
+UNSUPPORTED("6d1kzaf50kwdnqztg4frxwh8t"); // &vp0->pt)) > angle)
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("d5mp4kdylwkyngcbi2ra9gda7"); // angle = temp;
+UNSUPPORTED("5ksmrx85xq93zau95l8v9vcve"); // tq = i;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8xqnxp3votu03cx1jrh2jwkzn"); // *iq = tq;
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9a6v0rhhqdmefbgzi11be5g6h
+// static int make_new_monotone_poly (int mcur, int v0, int v1)
+public static Object make_new_monotone_poly(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("8dv9txhv2yeoqkzbydeqjl054"); // make_new_monotone_poly (int mcur, int v0, int v1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("9ikjwwfx33ts34kb25fa7bc2l"); // int p, q, ip, iq;
+UNSUPPORTED("9j34whh433i14tkn8pbaxw6gh"); // int mnew = (++mon_idx);
+UNSUPPORTED("56fxdenx5fitvdwopxm5znugu"); // int i, j, nf0, nf1;
+UNSUPPORTED("en82orb21pn5f2w6hxc0pmi6r"); // vertexchain_t *vp0, *vp1;
+UNSUPPORTED("6v6uklf23950dew0q3vlmjmtu"); // vp0 = &vert[v0];
+UNSUPPORTED("e6h7hqx9nzufu0i4o6xctjri6"); // vp1 = &vert[v1];
+UNSUPPORTED("alqs5f8e3n3u5onl2jk7dufp7"); // get_vertex_positions(v0, v1, &ip, &iq);
+UNSUPPORTED("2hakm8lo9g5t2j1ag9nyr2s6n"); // p = vp0->vpos[ip];
+UNSUPPORTED("9cggg3kyqycbmj88qwiid1uar"); // q = vp1->vpos[iq];
+UNSUPPORTED("3rkbxqt4po5kl0o0mduct8rcc"); // /* At this stage, we have got the positions of v0 and v1 in the */
+UNSUPPORTED("c8605sg6k4m4718ch7un7l4n0"); // /* desired chain. Now modify the linked lists */
+UNSUPPORTED("h85pxdzzlj05gngtc6052x5l"); // i = (++chain_idx); /* for the new list */
+UNSUPPORTED("eowz6d0op1t6t0njrx6bb0yn8"); // j = (++chain_idx);
+UNSUPPORTED("dn6hlugxl248e01l7ox4q9u8w"); // mchain[i].vnum = v0;
+UNSUPPORTED("cbym1az3wmxvz10xvo5c25vlp"); // mchain[j].vnum = v1;
+UNSUPPORTED("3xenn6wt1u82649f6st1y0jpy"); // mchain[i].next = mchain[p].next;
+UNSUPPORTED("8gj5lqet3v2djl0zzmduxhjbo"); // mchain[mchain[p].next].prev = i;
+UNSUPPORTED("8jwcwnyjn22k8hwa6snhelhdv"); // mchain[i].prev = j;
+UNSUPPORTED("e8e675obna2uq1ayo5j6qxb3c"); // mchain[j].next = i;
+UNSUPPORTED("249azfk4cx6fvn29okrr43mxg"); // mchain[j].prev = mchain[q].prev;
+UNSUPPORTED("1ejluvyey6e0j7029btn2imcn"); // mchain[mchain[q].prev].next = j;
+UNSUPPORTED("d1hgtt0rm4nozlb8yt6pa0k8q"); // mchain[p].next = q;
+UNSUPPORTED("c8s9isar38c8ee9yj9szqdh2j"); // mchain[q].prev = p;
+UNSUPPORTED("42hpz0zje3mclnj3dro8ypwml"); // nf0 = vp0->nextfree;
+UNSUPPORTED("3vhonm18vr4ry7uanlxdzsa78"); // nf1 = vp1->nextfree;
+UNSUPPORTED("dikgb6wf4n9mffboqek4g7min"); // vp0->vnext[ip] = v1;
+UNSUPPORTED("dcc84n7kvdgludx7het4l77pa"); // vp0->vpos[nf0] = i;
+UNSUPPORTED("bn2d4dxs38on2tt66qsk854a7"); // vp0->vnext[nf0] = mchain[mchain[i].next].vnum;
+UNSUPPORTED("s8g0h9c5ugu7jx7fammu57j5"); // vp1->vpos[nf1] = j;
+UNSUPPORTED("2cfbu34obnbyi820v423b3p3a"); // vp1->vnext[nf1] = v0;
+UNSUPPORTED("18ghn7twlfq25wg7ho4mdpjq5"); // vp0->nextfree++;
+UNSUPPORTED("6pibe6i58ps0evcw0elchlr5n"); // vp1->nextfree++;
+UNSUPPORTED("8ofsl1uexufhfiekbia3rpw71"); // mon[mcur] = p;
+UNSUPPORTED("6qcylzq69scx8z47rc3q53c2p"); // mon[mnew] = i;
+UNSUPPORTED("1txsom7ht7w6bgk1wfyx8lsst"); // return mnew;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 d0so1zakha0q0j27n2kdrpttw
+// static int traverse_polygon (int* visited, boxf* decomp, int size, segment_t* seg, trap_t* tr, int mcur, int trnum, int from, int flip, int dir)
+public static Object traverse_polygon(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("9guvbji3t13b64dg1nyaopea3"); // traverse_polygon (int* visited, boxf* decomp, int size, segment_t* seg, trap_t* tr,
+UNSUPPORTED("cop1jvb6sbgiafrugdgcuyww8"); // int mcur, int trnum, int from, int flip, int dir)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("9hip0zrehch3ppd50n93ndz9f"); // trap_t *t = &tr[trnum];
+UNSUPPORTED("9vw5pneq9i40hijbn87i6muzw"); // int mnew;
+UNSUPPORTED("4by94oz8hw5ksrudixtwwrdjt"); // int v0, v1;
+UNSUPPORTED("4d0metbv0f36rcwe2dlscspik"); // int retval;
+UNSUPPORTED("6b0tp7olw8su1dlt9r0409joh"); // int do_switch = 0;
+UNSUPPORTED("d0q9pab7nbe8xr6dncj1rkglj"); // if ((trnum <= 0) || visited[trnum])
+UNSUPPORTED("5fnyq1zql95vx5xiysa7fj12a"); // return size;
+UNSUPPORTED("cnabgqf0r6cwbefc6z48v4muv"); // visited[trnum] = NOT(0);
+UNSUPPORTED("e3779kj7w5dz1oy9qmxmrgv6x"); // if ((t->hi.y > t->lo.y) &&
+UNSUPPORTED("1bkd7ej5xoxkn9w9yngm73in6"); // (seg[t->lseg].v0.x == seg[t->lseg].v1.x) &&
+UNSUPPORTED("6dhg0j2967gtz8tbuf2fkmvte"); // (seg[t->rseg].v0.x == seg[t->rseg].v1.x)) {
+UNSUPPORTED("cegqs3fbxpy1vh6ttghu2haol"); // if (flip) {
+UNSUPPORTED("6uelhwb8drf4b6q5ru2myp9gr"); // decomp[size].LL.x = t->lo.y;
+UNSUPPORTED("3ie5nszkp1w8ls6i09xu2kj58"); // decomp[size].LL.y = -seg[t->rseg].v0.x;
+UNSUPPORTED("61vo1z771fo68sucys7bs0ijk"); // decomp[size].UR.x = t->hi.y;
+UNSUPPORTED("a9grvoswejyt77ctdmsonk0qt"); // decomp[size].UR.y = -seg[t->lseg].v0.x;
+UNSUPPORTED("yjgjo2sxpmhb7skgxwjx03ie"); // } else {
+UNSUPPORTED("8ruo1j70pzrg494vp86s1sqc"); // decomp[size].LL.x = seg[t->lseg].v0.x;
+UNSUPPORTED("6mj48zie12c6x3u7xea2f8hr3"); // decomp[size].LL.y = t->lo.y;
+UNSUPPORTED("39hkdsjwkvofrh735gqoi7dci"); // decomp[size].UR.x = seg[t->rseg].v0.x;
+UNSUPPORTED("1bjhgfi5s9y6kuu4xguq9bd20"); // decomp[size].UR.y = t->hi.y;
+UNSUPPORTED("dquo3qofk56ds5xl95lhvcthf"); // }
+UNSUPPORTED("cy8kzhvb0obp7jgom47s7zco9"); // size++;
+UNSUPPORTED("7ijd6pszsxnoopppf6xwo8wdl"); // }
+UNSUPPORTED("8xva2s9wcuidd7mlvpytarai8"); // /* We have much more information available here. */
+UNSUPPORTED("zp53t0r52m3c9e801jgb0anx"); // /* rseg: goes upwards */
+UNSUPPORTED("2a7sgu699nkxh3e7rs42nslze"); // /* lseg: goes downwards */
+UNSUPPORTED("bspvkvr3shhnvq13d1c9svgc8"); // /* Initially assume that dir = TR_FROM_DN (from the left) */
+UNSUPPORTED("859erkm7vifnaeylhrg1ge489"); // /* Switch v0 and v1 if necessary afterwards */
+UNSUPPORTED("7nenieaup2bo7wznju50124gu"); // /* special cases for triangles with cusps at the opposite ends. */
+UNSUPPORTED("2f72rdf12bkur0sb8jzt141et"); // /* take care of this first */
+UNSUPPORTED("ark0tbg2u4lksur0hn1thlg8u"); // if ((t->u0 <= 0) && (t->u1 <= 0))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("2gky1sit45s3urap7m9572dui"); // if ((t->d0 > 0) && (t->d1 > 0)) /* downward opening triangle */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("a7q0c7q3zwi84dk8feu8hw949"); // v0 = tr[t->d1].lseg;
+UNSUPPORTED("3un92nsknf6dvivoo4ut6xpjw"); // v1 = t->lseg;
+UNSUPPORTED("b9sp6domcray594tb7rq7599"); // if (from == t->d1)
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0);
+UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("4mo16xjesdvkqcrs3j9pw6rb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("dtlg30b72ms08kp03lb2akq3r"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("1zydelpskydrv2jlukrghxjqm"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("d1qk9y23kl78admhc396jcrkj"); // retval = -1; /* Just traverse all neighbours */
+UNSUPPORTED("55rfugj7cpg4mi8oc5lwm9ve9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("7n2ov6zceqcw0j8pmeiz8hn4s"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("e1jcx0tbalqyelsxssbh3lmt6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("4me7fmwngeaircvtb7sff3ijj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("biibbejkkn6y2hgp4rbkzlt63"); // else if ((t->d0 <= 0) && (t->d1 <= 0))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("co9cdjh0zss1ce6wn5hsovb4o"); // if ((t->u0 > 0) && (t->u1 > 0)) /* upward opening triangle */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("608hye0unh62kxu73xjcim0vg"); // v0 = t->rseg;
+UNSUPPORTED("997u5iufydhu5b83stykxqi4s"); // v1 = tr[t->u0].rseg;
+UNSUPPORTED("5pqs6tn54r9kjjuv7noh9n97t"); // if (from == t->u1)
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0);
+UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("et6qmwrb429cnthwmphempxu0"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("64qq66m1iccqslv5wour58853"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("d1qk9y23kl78admhc396jcrkj"); // retval = -1; /* Just traverse all neighbours */
+UNSUPPORTED("55rfugj7cpg4mi8oc5lwm9ve9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("7n2ov6zceqcw0j8pmeiz8hn4s"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("e1jcx0tbalqyelsxssbh3lmt6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("4me7fmwngeaircvtb7sff3ijj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1izitiatr2ulhvy8h0pnsxiiz"); // else if ((t->u0 > 0) && (t->u1 > 0))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("5pvgc5lzsbemakfagmdy8onnt"); // if ((t->d0 > 0) && (t->d1 > 0)) /* downward + upward cusps */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("a7q0c7q3zwi84dk8feu8hw949"); // v0 = tr[t->d1].lseg;
+UNSUPPORTED("997u5iufydhu5b83stykxqi4s"); // v1 = tr[t->u0].rseg;
+UNSUPPORTED("3oejl3ub1rc10j9jmx94a30sw"); // retval = 3;
+UNSUPPORTED("cpjixbghid2v2ttmi1omjq4df"); // if (((dir == 2) && (t->d1 == from)) ||
+UNSUPPORTED("1vtjp034u1x48uhzu2jvmh0ek"); // ((dir == 1) && (t->u1 == from)))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("9b48jw83n2qlbd27xuf69c5qe"); // do_switch = NOT(0);
+UNSUPPORTED("7dchvr9xk6f4wwi83audzw6vj"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("4mo16xjesdvkqcrs3j9pw6rb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("bwjfea2e7yj2tyyhz2fj73xub"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("c6tug0v8jlllvmf2nw412i7az"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("5ente0j9qdx8ibzrosxtyl4nv"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("64qq66m1iccqslv5wour58853"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("b00fn0czpty1ag5ihw9ev67k9"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("7vbb8vznij9zlyolu6orgzq63"); // else /* only downward cusp */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("8a5njs108pwwsicxpr9cp011e"); // if (((fabs((&t->lo)->y - (&seg[t->lseg].v1)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->lseg].v1)->x) <= 1.0e-7)))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("iq55fez7l08t1doqy34awci0"); // v0 = tr[t->u0].rseg;
+UNSUPPORTED("6dqmuhbse549xc7nbc1t4fi8c"); // v1 = seg[t->lseg].next;
+UNSUPPORTED("3o1isg154krcrahue9rgdvzzv"); // retval = 4;
+UNSUPPORTED("ct1dz4hcovsoo7o89yuv4jqaj"); // if ((dir == 1) && (t->u0 == from))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("7mcbwj8a2veib26ww67v0xayb"); // v0 = t->rseg;
+UNSUPPORTED("el138o2v6si9fi54s9rho23kj"); // v1 = tr[t->u0].rseg;
+UNSUPPORTED("cdlggb241g5t55g6npu51bhjo"); // retval = 5;
+UNSUPPORTED("5jw5gn3xil0quizho5x17qzin"); // if ((dir == 1) && (t->u1 == from))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8ql1l7nv15rr51xt5ty1sjycw"); // else if ((t->u0 > 0) || (t->u1 > 0)) /* no downward cusp */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("duzxgn403jzqn6d6ut3gz298t"); // if ((t->d0 > 0) && (t->d1 > 0)) /* only upward cusp */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("4xbxe3o8leve6xm0t19ee2vfe"); // if (((fabs((&t->hi)->y - (&seg[t->lseg].v0)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->lseg].v0)->x) <= 1.0e-7)))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("ddiuyd0k6l4ju7yt0t7gnkyn2"); // v0 = tr[t->d1].lseg;
+UNSUPPORTED("3xgnfxeseit96nt2oywbb12cm"); // v1 = t->lseg;
+UNSUPPORTED("612bonw6ququtpyb2otlknu6u"); // retval = 6;
+UNSUPPORTED("52c1b8vw0ww4s2y1fp9e5rjxt"); // if (!((dir == 2) && (t->d0 == from)))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("5yk6sndya5s45z9fap3jlftsv"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("ddiuyd0k6l4ju7yt0t7gnkyn2"); // v0 = tr[t->d1].lseg;
+UNSUPPORTED("7wup2u127p4wprrhd2g65hvf6"); // v1 = seg[t->rseg].next;
+UNSUPPORTED("6ywwmc78aiixut85yk4dr53yx"); // retval = 7;
+UNSUPPORTED("ayjr7wdfuvpw08o3v1x8gwrxn"); // if ((dir == 2) && (t->d1 == from))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("cs5d2p3v6x67knxt079180lf1"); // else /* no cusp */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("u3jb6lmd4ip7tq4edphxoy2z"); // if (((fabs((&t->hi)->y - (&seg[t->lseg].v0)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->lseg].v0)->x) <= 1.0e-7)) &&
+UNSUPPORTED("8hbx4q52b68r4izus3j4ewijg"); // ((fabs((&t->lo)->y - (&seg[t->rseg].v0)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->rseg].v0)->x) <= 1.0e-7)))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("7mcbwj8a2veib26ww67v0xayb"); // v0 = t->rseg;
+UNSUPPORTED("3xgnfxeseit96nt2oywbb12cm"); // v1 = t->lseg;
+UNSUPPORTED("cj0s3n96u7e6tq1nzlxp8a7gv"); // retval = 2;
+UNSUPPORTED("azgs71ez0f45idcd7u0uhjkz4"); // if (dir == 1)
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("30bq1zitecexyibeos8lcz9ms"); // else if (((fabs((&t->hi)->y - (&seg[t->rseg].v1)->y) <= 1.0e-7) && (fabs((&t->hi)->x - (&seg[t->rseg].v1)->x) <= 1.0e-7)) &&
+UNSUPPORTED("7fm0u4okmm25vcrbk21uccbkf"); // ((fabs((&t->lo)->y - (&seg[t->lseg].v1)->y) <= 1.0e-7) && (fabs((&t->lo)->x - (&seg[t->lseg].v1)->x) <= 1.0e-7)))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("8e5yhelccmj6n8d33ziozi9ej"); // v0 = seg[t->rseg].next;
+UNSUPPORTED("6dqmuhbse549xc7nbc1t4fi8c"); // v1 = seg[t->lseg].next;
+UNSUPPORTED("eh17urgk88bfnpryw1evbojlf"); // retval = 1;
+UNSUPPORTED("azgs71ez0f45idcd7u0uhjkz4"); // if (dir == 1)
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("747hebbjlsz3afhysgh8jddh3"); // do_switch = NOT(0);
+UNSUPPORTED("a63etqdmntd8mnuuuuq2iv8uk"); // mnew = make_new_monotone_poly(mcur, v1, v0);
+UNSUPPORTED("e78lvv8zmyhisqei55jg0b5ow"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("66azwpktshnoqv46ag8h77g8h"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("9vnwz4c8xw8z1762jvr65pidr"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d1, trnum, flip, 1);
+UNSUPPORTED("dspgt98nlpx18w318d5b65jdf"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->d0, trnum, flip, 1);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6tnv93tybou8dnl9l7lcmyp50"); // mnew = make_new_monotone_poly(mcur, v0, v1);
+UNSUPPORTED("ck5jclcux876638ifzrabja6c"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("el7cvlcafkwitwo8t66cutvmj"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("6vtwa1ilotojo4dxm38prhhb6"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u0, trnum, flip, 2);
+UNSUPPORTED("8321g7cqx5few6bc5d8ltrpbu"); // size = traverse_polygon (visited, decomp, size, seg, tr, mnew, t->u1, trnum, flip, 2);
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("4i2amsjqesppq3lp9vpmv7r4r"); // else /* no split possible */
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("a4ghaevttvkkfms2dhd4j26pc"); // retval = -1;
+UNSUPPORTED("bxugslyfkclt3755mhv0sc3ht"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u0, trnum, flip, 2);
+UNSUPPORTED("3r3k4encoopl3sdf3f1ozjqhk"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d0, trnum, flip, 1);
+UNSUPPORTED("c0yxgwq7qw8py1stvijtw9ut3"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->u1, trnum, flip, 2);
+UNSUPPORTED("3ypcbrw5a964vz3dszjca8xvw"); // size = traverse_polygon (visited, decomp, size, seg, tr, mcur, t->d1, trnum, flip, 1);
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8mmoka8dpm06e00j83nvx2wfc"); // return size;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1q5h2go20arrwvxkwi1dpllun
+// static int monotonate_trapezoids(int nsegs, segment_t*seg, trap_t* tr, int flip, boxf* decomp)
+public static Object monotonate_trapezoids(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("4st5re5qeun3fazm6nwtr2504"); // monotonate_trapezoids(int nsegs, segment_t*seg, trap_t* tr,
+UNSUPPORTED("3gqslrg5hqigs6bb03nagwbax"); // int flip, boxf* decomp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("9v0t4zzai4k1kr9wu7yirdcca"); // int i, size;
+UNSUPPORTED("2axop7sy1z49z2ga4o3phveq3"); // int tr_start;
+UNSUPPORTED("403dbgvseikvuaz19wa8ka871"); // int tr_size = (5*(nsegs)+1);
+UNSUPPORTED("5l974t0r35h6lgions7zrfr9n"); // int* visited = (int*)zmalloc((tr_size)*sizeof(int));
+UNSUPPORTED("8kbv1p0hl6a1jsb28mp9xizs6"); // mchain = (monchain_t*)zmalloc((tr_size)*sizeof(monchain_t));
+UNSUPPORTED("50knp82hjjep106iokix8jayb"); // vert = (vertexchain_t*)zmalloc((nsegs+1)*sizeof(vertexchain_t));
+UNSUPPORTED("3joe7zjof9jfs427j0nanppzg"); // mon = (int*)zmalloc((nsegs)*sizeof(int));
+UNSUPPORTED("5stezg8pn70o9al2yeof9vbbm"); // /* First locate a trapezoid which lies inside the polygon */
+UNSUPPORTED("clz63gofo9l9x4djgclagrdbl"); // /* and which is triangular */
+UNSUPPORTED("bfkwyvnluov44fmf0ve0qc47b"); // for (i = 0; i < (5*(nsegs)+1); i++)
+UNSUPPORTED("3kwag0shsa1vlgnpfz2z52jad"); // if (inside_polygon(&tr[i], seg)) break;
+UNSUPPORTED("ebpi22p8d3ms6x8kif7wf849m"); // tr_start = i;
+UNSUPPORTED("80e8cmn8ppz1g34yart4h3guc"); // /* Initialise the mon data-structure and start spanning all the */
+UNSUPPORTED("c288aziy4b5qyrm0inw81wpf"); // /* trapezoids within the polygon */
+UNSUPPORTED("9qxeq136dyf2jnwd4bf1kuaq6"); // for (i = 1; i <= nsegs; i++) {
+UNSUPPORTED("9m9y60p6vbo7stjuyotwxb88s"); // mchain[i].prev = seg[i].prev;
+UNSUPPORTED("88ejlvwd7gy17hqrhragtc8zv"); // mchain[i].next = seg[i].next;
+UNSUPPORTED("cu3ie2h2ob81y8d5ebxfm56uj"); // mchain[i].vnum = i;
+UNSUPPORTED("9akiu4gv6b7q4t4v7jbvspe77"); // vert[i].pt = seg[i].v0;
+UNSUPPORTED("j6yppsuzqh4phhdx6t7chtp3"); // vert[i].vnext[0] = seg[i].next; /* next vertex */
+UNSUPPORTED("avvt0stq2xxai7od20rqmnt4c"); // vert[i].vpos[0] = i; /* locn. of next vertex */
+UNSUPPORTED("68bp8qgzocylz07fdkq761k61"); // vert[i].nextfree = 1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("50js3uabj113ezvs27yvc5zv5"); // chain_idx = nsegs;
+UNSUPPORTED("8ocywthfoxu2ckdm469ksnvdw"); // mon_idx = 0;
+UNSUPPORTED("36vw4fu4m3w15c4afhp1dgf7p"); // mon[0] = 1; /* position of any vertex in the first */
+UNSUPPORTED("1gkcquzwnonqmlrklzwimth46"); // /* chain */
+UNSUPPORTED("5mq8oebfg9zlu2dh458odwyza"); // /* traverse the polygon */
+UNSUPPORTED("l12iv7r3oz1l157wkxev3k26"); // if (tr[tr_start].u0 > 0)
+UNSUPPORTED("ef00tkl3m246yucima83gjqry"); // size = traverse_polygon (visited, decomp, 0, seg, tr, 0, tr_start, tr[tr_start].u0, flip, 1);
+UNSUPPORTED("ek9ndv4cgpvv1ppq3o6hffjln"); // else if (tr[tr_start].d0 > 0)
+UNSUPPORTED("2phk6542w1awpzofg19twa9u3"); // size = traverse_polygon (visited, decomp, 0, seg, tr, 0, tr_start, tr[tr_start].d0, flip, 2);
+UNSUPPORTED("7p1upi5nlpk6oews5ejvqxzgq"); // free (visited);
+UNSUPPORTED("dyur1to2vops13ap1n0q7lsol"); // free (mchain);
+UNSUPPORTED("8pnrg51s1fq9cek6lwdi7795g"); // free (vert);
+UNSUPPORTED("d0yk4ad70j6la3tjcpwkdaqvf"); // free (mon);
+UNSUPPORTED("6vecslx1iges54gigd2bc6x6h"); // /* return the number of rects created */
+UNSUPPORTED("8mmoka8dpm06e00j83nvx2wfc"); // return size;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7dl8o2typqtrtf964o8l9x9mn
+// static int rectIntersect (boxf *d, const boxf *r0, const boxf *r1)
+public static Object rectIntersect(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("emzrn19dd9a1n8a75xt78ialj"); // rectIntersect (boxf *d, const boxf *r0, const boxf *r1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6wfj8onzmd4ihhh62dqfmqpbx"); // double t;
+UNSUPPORTED("10mg3ctpr0doly1xr4mn7m39v"); // t = (r0->LL.x > r1->LL.x) ? r0->LL.x : r1->LL.x;
+UNSUPPORTED("4q3ymg1fo2b29aomy5kba4o06"); // d->UR.x = (r0->UR.x < r1->UR.x) ? r0->UR.x : r1->UR.x;
+UNSUPPORTED("1muxzktb9b7cx05opqest2kf9"); // d->LL.x = t;
+UNSUPPORTED("qu5cb749o6mku5meyk7xzjiq"); // t = (r0->LL.y > r1->LL.y) ? r0->LL.y : r1->LL.y;
+UNSUPPORTED("3063iivbgzdi6hh53rsfr6o54"); // d->UR.y = (r0->UR.y < r1->UR.y) ? r0->UR.y : r1->UR.y;
+UNSUPPORTED("5at6mfpw5k8ldnmm0icvhnj8j"); // d->LL.y = t;
+UNSUPPORTED("upus29izwyyfylisn68yvdtv"); // if ((d->LL.x >= d->UR.x) ||
+UNSUPPORTED("b45965pwcafgyy3hsxz3h3ywo"); // (d->LL.y >= d->UR.y))
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("3tcgz4dupb6kw5tdk7n3pca2l"); // return 1;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 73fynz7ym6jvzqhvlj7evww7y
+// boxf* partition (cell* cells, int ncells, int* nrects, boxf bb)
+public static Object partition(Object... arg) {
+UNSUPPORTED("e6wfqaorm3eq04ew3viebrrmw"); // boxf*
+UNSUPPORTED("6tl2sd3xvb9xj27ba3ekerljs"); // partition (cell* cells, int ncells, int* nrects, boxf bb)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5a9fu6e10ez4wfuzd6drz5wqj"); // int nsegs = 4*(ncells+1);
+UNSUPPORTED("8wy6s9fpdi1b5ozj26nvgi5k8"); // segment_t* segs = (segment_t*)gmalloc((nsegs+1)*sizeof(segment_t));
+UNSUPPORTED("56aa5hinuuh4nm3lzmpzutm67"); // int* permute = (int*)zmalloc((nsegs+1)*sizeof(int));
+UNSUPPORTED("79evy8eevd0rueiuu9nwedmmd"); // int hd_size, vd_size;
+UNSUPPORTED("377uv2ijmy274yxftumax5tc"); // int i, j, cnt = 0;
+UNSUPPORTED("aset1r6i7s8ess7vp2yh2hy3l"); // boxf* rs;
+UNSUPPORTED("bxa465e0rk3cso7kp0a5dkzjk"); // int ntraps = (5*(nsegs)+1);
+UNSUPPORTED("er46tt5i0x6c3jxkq7mwoku1i"); // trap_t* trs = (trap_t*)gmalloc((ntraps)*sizeof(trap_t));
+UNSUPPORTED("afztmb3ryx5mnwhx57hubf04c"); // boxf* hor_decomp = (boxf*)zmalloc((ntraps)*sizeof(boxf));
+UNSUPPORTED("57drcp2w6xycpft0alhizl1jb"); // boxf* vert_decomp = (boxf*)zmalloc((ntraps)*sizeof(boxf));
+UNSUPPORTED("1k4qbp811phcxky1im1ceolu8"); // int nt;
+UNSUPPORTED("4x4e3wgmpgyp48r9d918kpji2"); // /* fprintf (stderr, "cells = %d segs = %d traps = %d\n", ncells, nsegs, ntraps); */
+UNSUPPORTED("3aznlcy8m96vtolzl06u5su27"); // genSegments (cells, ncells, bb, segs, 0);
+UNSUPPORTED("cc0cvkd217k2gs1dd318mzfup"); // srand(173);
+UNSUPPORTED("1icg2pbsojr5i5uz47hr32q6g"); // generateRandomOrdering (nsegs, permute);
+UNSUPPORTED("diwoovfk15pa3cutfdespebi4"); // nt = construct_trapezoids(nsegs, segs, permute, ntraps, trs);
+UNSUPPORTED("9y24uilj6sd8c40w65qz24w28"); // /* fprintf (stderr, "hor traps = %d\n", nt); */
+UNSUPPORTED("bywih9homfisgvn30fa9ylam6"); // hd_size = monotonate_trapezoids (nsegs, segs, trs, 0, hor_decomp);
+UNSUPPORTED("br66y4yenl0hukxxeblvw92wg"); // genSegments (cells, ncells, bb, segs, 1);
+UNSUPPORTED("1icg2pbsojr5i5uz47hr32q6g"); // generateRandomOrdering (nsegs, permute);
+UNSUPPORTED("diwoovfk15pa3cutfdespebi4"); // nt = construct_trapezoids(nsegs, segs, permute, ntraps, trs);
+UNSUPPORTED("nklu5u660tkq7hgg1skeyos0"); // /* fprintf (stderr, "ver traps = %d\n", nt); */
+UNSUPPORTED("aan563s5w2u32ftofra38kc7f"); // vd_size = monotonate_trapezoids (nsegs, segs, trs, 1, vert_decomp);
+UNSUPPORTED("3tjm1uhdfv0fgkihdgxfbtp2k"); // rs = (boxf*)zmalloc((hd_size*vd_size)*sizeof(boxf));
+UNSUPPORTED("1rg2b95x8evw81ge2jwloma9y"); // for (i=0; i<vd_size; i++)
+UNSUPPORTED("deh27dmdimq7xjse31ugm10q2"); // for (j=0; j<hd_size; j++)
+UNSUPPORTED("ecs2boj9ol0jad85kohtrmhjn"); // if (rectIntersect(&rs[cnt], &vert_decomp[i], &hor_decomp[j]))
+UNSUPPORTED("e582tvavmpq7rmvpljjzzogkb"); // cnt++;
+UNSUPPORTED("3r567j02zez92pbf1xosyruuy"); // rs = RALLOC (cnt, rs, boxf);
+UNSUPPORTED("864f5ylvxgoy5rwmwl4pstg2p"); // free (segs);
+UNSUPPORTED("cw72bzwepetjgucravr0r4tes"); // free (permute);
+UNSUPPORTED("fe68055ozba4x8hu6folhq63"); // free (trs);
+UNSUPPORTED("1bxw4aid8f0ujf72zwkuybw96"); // free (hor_decomp);
+UNSUPPORTED("a2xs0v27ec23bhvf4kay6bu6b"); // free (vert_decomp);
+UNSUPPORTED("3pwrekbwa61rwk7qtiod6xaax"); // *nrects = cnt;
+UNSUPPORTED("ejswo03ycqos8e6zlteyjobpz"); // return rs;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/rawgraph__c.java b/src/gen/lib/ortho/rawgraph__c.java
new file mode 100644
index 0000000..c1ed028
--- /dev/null
+++ b/src/gen/lib/ortho/rawgraph__c.java
@@ -0,0 +1,341 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class rawgraph__c {
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+
+
+//3 b9uhij2qxmaueiwxbfjbx7j7c
+// rawgraph* make_graph(int n)
+public static Object make_graph(Object... arg) {
+UNSUPPORTED("dcc13k9x44a7gckftbejv58dc"); // rawgraph*
+UNSUPPORTED("2zmrv5ohq7e29e3qiy4b3r2kf"); // make_graph(int n)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("7z0gl9a9knlb9h763yg0hs2bz"); // rawgraph* g = (rawgraph*)zmalloc(sizeof(rawgraph));
+UNSUPPORTED("7hsfp0cjk2t70uwawb8cklsz8"); // g->nvs = n;
+UNSUPPORTED("8o0aimsmyrmbv62ryv7vejhv1"); // g->vertices = (vertex*)zmalloc((n)*sizeof(vertex));
+UNSUPPORTED("dudyytiqbhk3xyognwkwx5tt1"); // for(i=0;i<n;i++) {
+UNSUPPORTED("bn57eyqn4zijfxzh8e6ywudec"); // g->vertices[i].adj_list = openIntSet ();
+UNSUPPORTED("1anncbcbrd6gx9hlo6mg1ha7d"); // g->vertices[i].color = 0;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 5qv1mxxuhkzua2w2dqem19lny
+// void free_graph(rawgraph* g)
+public static Object free_graph(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("6cqftcuhpqak3hl5c518hyr4e"); // free_graph(rawgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("31v9apskm8ur1w7f890v55btk"); // for(i=0;i<g->nvs;i++)
+UNSUPPORTED("mfqz9m45ul5js6fnn03ol8j5"); // dtclose(g->vertices[i].adj_list);
+UNSUPPORTED("4836xd1juguptr6qebt07jlrh"); // free (g->vertices);
+UNSUPPORTED("dwuc0y4whcauryjdz2g3rdyey"); // free (g);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 186nbf92ja5ttnrgvj422eqf5
+// void insert_edge(rawgraph* g, int v1, int v2)
+public static Object insert_edge(Object... arg) {
+UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void
+UNSUPPORTED("jldraubzdwc00et6agtk6726"); // insert_edge(rawgraph* g, int v1, int v2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2rjvy9cij6zo2nowb4w37hnjt"); // intitem obj;
+UNSUPPORTED("bmm6cyaytc4kc2ri4gey846yp"); // obj.id = v2;
+UNSUPPORTED("a1hlf5bwzya3m4ujh9zokvj3a"); // (*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&obj),0000001);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1r1ufpzdilo5438zjdky0uy2w
+// void remove_redge(rawgraph* g, int v1, int v2)
+public static Object remove_redge(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("a9gk586ljggidricdp6evpxau"); // remove_redge(rawgraph* g, int v1, int v2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2rjvy9cij6zo2nowb4w37hnjt"); // intitem obj;
+UNSUPPORTED("bmm6cyaytc4kc2ri4gey846yp"); // obj.id = v2;
+UNSUPPORTED("14tyn9y8xz91kr6dfeier49r"); // (*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&obj),0000002);
+UNSUPPORTED("c4j1680th3r5qcpns3u4zjale"); // obj.id = v1;
+UNSUPPORTED("9oqxwhwpfvzwxbnltjdoq1oga"); // (*(((Dt_t*)(g->vertices[v2].adj_list))->searchf))((g->vertices[v2].adj_list),(void*)(&obj),0000002);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3ff6zoop8jhts0qsvj91k9dfk
+// int edge_exists(rawgraph* g, int v1, int v2)
+public static Object edge_exists(Object... arg) {
+UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int
+UNSUPPORTED("4urd9z39jr49sen0w7s573505"); // edge_exists(rawgraph* g, int v1, int v2)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("e2phkxwl9hjxom6accmixx6p2"); // return ((*(((Dt_t*)(g->vertices[v1].adj_list))->searchf))((g->vertices[v1].adj_list),(void*)(&v2),0001000) != 0);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1zivcgw1xwk6pq169yqc75oh1
+// static stack* mkStack (int i)
+public static Object mkStack(Object... arg) {
+UNSUPPORTED("9cla0obmp67i5rjsjxiqdeimj"); // static stack*
+UNSUPPORTED("ci2xjox5enk1600klp4wnc4d0"); // mkStack (int i)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8bsg9hgmxo09dmbp0rqikzip9"); // stack* sp = (stack*)zmalloc(sizeof(stack));
+UNSUPPORTED("dgvcpjjkop19ctj9c6as7irgh"); // sp->vals = (int*)zmalloc((i)*sizeof(int));
+UNSUPPORTED("6ak6snmn7x9mv08cxv1uhqto0"); // sp->top = -1;
+UNSUPPORTED("c31qqlge2adqev6kmlr0iuaea"); // return sp;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 56jaryc2ndgkphreacgutgkko
+// static void freeStack (stack* s)
+public static Object freeStack(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("1tmwfqmwfffw7layx1b9l774l"); // freeStack (stack* s)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("4ivw0yolzv64dlaqawvv30x5v"); // free (s->vals);
+UNSUPPORTED("f1430a029xzg8cabffg2k9l6j"); // free (s);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 40jmhsu64yd114q5sxnbwirxh
+// static void pushStack (stack* s, int i)
+public static Object pushStack(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("efz1du2gap9f44f5qfs4oa0ga"); // pushStack (stack* s, int i)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1a9i725yadesextx7inlkz10x"); // s->top++;
+UNSUPPORTED("5pdmgjwfiz1iusmq5fydnblap"); // s->vals[s->top] = i;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4oxcr6qfkyvzxsr9y5oo4ok34
+// static int popStack (stack* s)
+public static Object popStack(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("9blpzh0xe07qxynad8t5mqz8x"); // popStack (stack* s)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6m5stt3wg7jgpdcvvk37onm1s"); // int v;
+UNSUPPORTED("ceenb9p2929863jeh6inli97k"); // if (s->top == -1) return -1;
+UNSUPPORTED("efrvy47jf2m4lt70c0u4yxt67"); // v = s->vals[s->top];
+UNSUPPORTED("owa601uw5gl8igjnyr2lfsq7"); // s->top--;
+UNSUPPORTED("dpci52ct1zm8k1aasm170ru2j"); // return v;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2jkcimgyhf4lzdolm41833uv1
+// static int DFS_visit(rawgraph* g, int v, int time, stack* sp)
+public static Object DFS_visit(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("9tjvxtubftvfbyn9yg9s2ukk5"); // DFS_visit(rawgraph* g, int v, int time, stack* sp)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("efg3j1wpsky3c1yns7rcddd1g"); // Dt_t* adj;
+UNSUPPORTED("6i10bzt8ybhoodrtwofkpcavu"); // Dtlink_t* link;
+UNSUPPORTED("9uf2icnp9lntl8gmbrqtn59cu"); // int id;
+UNSUPPORTED("b69yoemu1fzv6up7qzrryu9z1"); // vertex* vp;
+UNSUPPORTED("eoyjtfht0qiqsx0g6j3shub2r"); // vp = g->vertices + v;
+UNSUPPORTED("1bpaugmlepecgk8uiqqd6lhih"); // vp->color = 1;
+UNSUPPORTED("17rwtc50qcliu6s4uujnjxlfn"); // /* g->vertices[v].d = time; */
+UNSUPPORTED("c8ss949bn9k3dw76vpp186lei"); // adj = vp->adj_list;
+UNSUPPORTED("5mtxa718isij6bd88jbwav09r"); // time = time + 1;
+UNSUPPORTED("683z4jufz8k2kssqjqpceyjzm"); // for(link = dtflatten (adj); link; link = (((Dtlink_t*)(link))->right)) {
+UNSUPPORTED("2aeor5mnjzhwqpcgc294oq70m"); // id = ((intitem*)(((Dt_t*)(adj))->disc->link < 0 ? ((Dthold_t*)((link)))->obj : (void*)((char*)((link)) - ((Dt_t*)(adj))->disc->link) ))->id;
+UNSUPPORTED("1fci76oeaq8sz2pvp4p6npq73"); // if(g->vertices[id].color == 0)
+UNSUPPORTED("94vjlul0tyxbd7e0q4ing2z1h"); // time = DFS_visit(g, id, time, sp);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("2rts8n24enk3adhy8owm41yh9"); // vp->color = 2;
+UNSUPPORTED("c4n0lojve186vzv3wqq6dk1pl"); // /* g->vertices[v].f = time; */
+UNSUPPORTED("axvith90awf9705pbyhu4nx38"); // pushStack (sp, v);
+UNSUPPORTED("9pkzxm2gxhkcw8p51ercqleh1"); // return (time + 1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9r0jqlhxs5buqs5hsdqnbj84j
+// void top_sort(rawgraph* g)
+public static Object top_sort(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("4yot0xeux4j9xntlfs27gwtcf"); // top_sort(rawgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b9q08fv1def3y3mbkfcttoygi"); // int i, v;
+UNSUPPORTED("c3xjd5j8j3bgmchyoisbyw64b"); // int time = 0;
+UNSUPPORTED("551funk1bxiemly3silcqtngw"); // int count = 0;
+UNSUPPORTED("c7rls4c8tdfpn2b8sp15reiyh"); // stack* sp;
+UNSUPPORTED("9n2rm2xd87zhiqudy5248ij10"); // if (g->nvs == 0) return;
+UNSUPPORTED("5j8ivb7xr19v4nmq7wd60cj5p"); // if (g->nvs == 1) {
+UNSUPPORTED("5p60crx1qes9x8eijukw93td3"); // g->vertices[0].topsort_order = count;
+UNSUPPORTED("6bj8inpmr5ulm16jmfxsstjtn"); // return;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dlug72rf2lqioskxr8kgz0r1f"); // sp = mkStack (g->nvs);
+UNSUPPORTED("89rud9nlbi3f8k7rz0vv5vtd8"); // for(i=0;i<g->nvs;i++) {
+UNSUPPORTED("9lczna1336ncq8zrahl9nzymo"); // if(g->vertices[i].color == 0)
+UNSUPPORTED("6ln2w0gjr0kz3163kops6o4p1"); // time = DFS_visit(g, i, time, sp);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("a9tz9ejeuh2cz8adl3rtuxvth"); // while((v = popStack(sp)) >= 0) {
+UNSUPPORTED("9m1c27tt4l4z6f1503uugs6ak"); // g->vertices[v].topsort_order = count;
+UNSUPPORTED("4221wbi45004vm34bns3e6zhv"); // count++;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("71qiyws5c2bt08glef0zb8cfv"); // freeStack (sp);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/sgraph__c.java b/src/gen/lib/ortho/sgraph__c.java
new file mode 100644
index 0000000..00eb4cb
--- /dev/null
+++ b/src/gen/lib/ortho/sgraph__c.java
@@ -0,0 +1,382 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class sgraph__c {
+//1 2digov3edok6d5srhgtlmrycs
+// extern lt_symlist_t lt_preloaded_symbols[]
+
+
+//1 baedz5i9est5csw3epz3cv7z
+// typedef Ppoly_t Ppolyline_t
+
+
+//1 9k44uhd5foylaeoekf3llonjq
+// extern Dtmethod_t* Dtset
+
+
+//1 1ahfywsmzcpcig2oxm7pt9ihj
+// extern Dtmethod_t* Dtbag
+
+
+//1 anhghfj3k7dmkudy2n7rvt31v
+// extern Dtmethod_t* Dtoset
+
+
+//1 5l6oj1ux946zjwvir94ykejbc
+// extern Dtmethod_t* Dtobag
+
+
+//1 2wtf222ak6cui8cfjnw6w377z
+// extern Dtmethod_t* Dtlist
+
+
+//1 d1s1s6ibtcsmst88e3057u9r7
+// extern Dtmethod_t* Dtstack
+
+
+//1 axa7mflo824p6fspjn1rdk0mt
+// extern Dtmethod_t* Dtqueue
+
+
+//1 ega812utobm4xx9oa9w9ayij6
+// extern Dtmethod_t* Dtdeque
+
+
+//1 cyfr996ur43045jv1tjbelzmj
+// extern Dtmethod_t* Dtorder
+
+
+//1 wlofoiftbjgrrabzb2brkycg
+// extern Dtmethod_t* Dttree
+
+
+//1 12bds94t7voj7ulwpcvgf6agr
+// extern Dtmethod_t* Dthash
+
+
+//1 9lqknzty480cy7zsubmabkk8h
+// extern Dtmethod_t _Dttree
+
+
+//1 bvn6zkbcp8vjdhkccqo1xrkrb
+// extern Dtmethod_t _Dthash
+
+
+//1 9lidhtd6nsmmv3e7vjv9e10gw
+// extern Dtmethod_t _Dtlist
+
+
+//1 34ujfamjxo7xn89u90oh2k6f8
+// extern Dtmethod_t _Dtqueue
+
+
+//1 3jy4aceckzkdv950h89p4wjc8
+// extern Dtmethod_t _Dtstack
+
+
+//1 8dfqgf3u1v830qzcjqh9o8ha7
+// extern Agmemdisc_t AgMemDisc
+
+
+//1 18k2oh2t6llfsdc5x0wlcnby8
+// extern Agiddisc_t AgIdDisc
+
+
+//1 a4r7hi80gdxtsv4hdoqpyiivn
+// extern Agiodisc_t AgIoDisc
+
+
+//1 bnzt5syjb7mgeru19114vd6xx
+// extern Agdisc_t AgDefaultDisc
+
+
+//1 35y2gbegsdjilegaribes00mg
+// extern Agdesc_t Agdirected, Agstrictdirected, Agundirected, Agstrictundirected
+
+
+//1 c2rygslq6bcuka3awmvy2b3ow
+// typedef Agsubnode_t Agnoderef_t
+
+
+//1 xam6yv0dcsx57dtg44igpbzn
+// typedef Dtlink_t Agedgeref_t
+
+
+
+
+//3 do1p8q9fgspbwjclhfas1e31i
+// void gsave (sgraph* G)
+public static Object gsave(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("53tz1kawkoq5faz7kymp6ptpo"); // gsave (sgraph* G)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("4a3idvuwsn45q081062uxj30b"); // G->save_nnodes = G->nnodes;
+UNSUPPORTED("dvjft3jbvipb8kx48kn2cxq4d"); // G->save_nedges = G->nedges;
+UNSUPPORTED("ehil2x3e5xjd504di5xq03ix2"); // for (i = 0; i < G->nnodes; i++)
+UNSUPPORTED("8phdmwqejnwfe17clzvzqusic"); // G->nodes[i].save_n_adj = G->nodes[i].n_adj;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4bd3mhrsaxr0us4mbdlnz3fva
+// void reset(sgraph* G)
+public static Object reset(Object... arg) {
+UNSUPPORTED("347dderd02mvlozoheqo4ejwo"); // void
+UNSUPPORTED("o6ryffoh62mg3jqikb1bcvcn"); // reset(sgraph* G)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("4z92iyiytnarfwg69q6q1qxdo"); // G->nnodes = G->save_nnodes;
+UNSUPPORTED("gi9g609ppu0efm44uexae3lg"); // G->nedges = G->save_nedges;
+UNSUPPORTED("ehil2x3e5xjd504di5xq03ix2"); // for (i = 0; i < G->nnodes; i++)
+UNSUPPORTED("amo8o2h5u6ikoe5ouawwnxttv"); // G->nodes[i].n_adj = G->nodes[i].save_n_adj;
+UNSUPPORTED("395pz5pbzjp227kygyayer2m0"); // for (; i < G->nnodes+2; i++)
+UNSUPPORTED("1w65z5djtqk8i6nk3cu9qavs9"); // G->nodes[i].n_adj = 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 2uooy3bnw1kc4mm4ns09blzvd
+// void initSEdges (sgraph* g, int maxdeg)
+public static Object initSEdges(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("3t8ixyxav6ee8tjumnj6c4on7"); // initSEdges (sgraph* g, int maxdeg)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("584qbup3c7sdxo8kave8mllal"); // int* adj = (int*)zmalloc((6*g->nnodes + 2*maxdeg)*sizeof(int));
+UNSUPPORTED("dvc1rp1rnjfmjnxvwpm004stb"); // g->edges = (sedge*)zmalloc((3*g->nnodes + maxdeg)*sizeof(sedge));
+UNSUPPORTED("eavilhxlidc3wjniw4glglbnt"); // for (i = 0; i < g->nnodes; i++) {
+UNSUPPORTED("ckt5vl01ya7v4i84i9yxcipv0"); // g->nodes[i].adj_edge_list = adj;
+UNSUPPORTED("dzxhiwbj9xcvedfridh0okcez"); // adj += 6;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("dgkzkhndgc3xziilvfagce4xi"); // for (; i < g->nnodes+2; i++) {
+UNSUPPORTED("ckt5vl01ya7v4i84i9yxcipv0"); // g->nodes[i].adj_edge_list = adj;
+UNSUPPORTED("68si7kljcmnbf59kgy3rk0m6z"); // adj += maxdeg;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4lws7mi89ekzzcc99wuw9r7l8
+// sgraph* createSGraph (int nnodes)
+public static Object createSGraph(Object... arg) {
+UNSUPPORTED("9xadge294rqhy06asmqycka8m"); // sgraph*
+UNSUPPORTED("eqjwxhjyhqmefxsvpknl1bnfx"); // createSGraph (int nnodes)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("dwa606y0aknngzxrrsnswltbr"); // sgraph* g = (sgraph*)zmalloc(sizeof(sgraph));
+UNSUPPORTED("1i02j60f9yupm02tj9rvzps0o"); // /* create the nodes vector in the search graph */
+UNSUPPORTED("3yhlfn7hpvrjkdva5gida8jqo"); // g->nnodes = 0;
+UNSUPPORTED("47bxz2s175s5k1snvid5o4hve"); // g->nodes = (snode*)zmalloc((nnodes)*sizeof(snode));
+UNSUPPORTED("2syri7q5tc0jyvwq8ecyfo3vr"); // return g;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4jwt9radjtehigwninuxfni66
+// snode* createSNode (sgraph* g)
+public static Object createSNode(Object... arg) {
+UNSUPPORTED("7qyamsdkopruu23xaccl0bcd2"); // snode*
+UNSUPPORTED("753vtsohiclqv7nl3y14twf19"); // createSNode (sgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("1hdbk7wtbmf5ysy77ka3v1wv1"); // snode* np = g->nodes+g->nnodes;
+UNSUPPORTED("12345aoqngizwar08ubsjkjql"); // np->index = g->nnodes;
+UNSUPPORTED("1pdvfvgbmueo5t1u1q4rbj9t4"); // g->nnodes++;
+UNSUPPORTED("8iwc9afkw6pes2mgfhktuxzj8"); // return np;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 49zscu3ughv1sfoes00tmvzew
+// static void addEdgeToNode (snode* np, sedge* e, int idx)
+public static Object addEdgeToNode(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("dpg266aklzv95plhgmmdgdl2h"); // addEdgeToNode (snode* np, sedge* e, int idx)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("3bjz47ii1rlzjcxhnphx8bepr"); // np->adj_edge_list[np->n_adj] = idx;
+UNSUPPORTED("2vd3mg5b94lmz0n3qsamkbrbk"); // np->n_adj++;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 25bbgi67jwpg5nrx87bctkn5s
+// sedge* createSEdge (sgraph* g, snode* v1, snode* v2, double wt)
+public static Object createSEdge(Object... arg) {
+UNSUPPORTED("de30fcx2rpq95h8prggzz38de"); // sedge*
+UNSUPPORTED("e67qstzz1cjy6tm1gp72tqiy9"); // createSEdge (sgraph* g, snode* v1, snode* v2, double wt)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e;
+UNSUPPORTED("3edhazo5e0eznk99j763w7wvk"); // int idx = g->nedges++;
+UNSUPPORTED("12o3iah7k1tllf6ehoks5ez9r"); // e = g->edges + idx;
+UNSUPPORTED("742bl52l6dlhwl8vdmr0gi6mt"); // e->v1 = v1->index;
+UNSUPPORTED("eo17frg8yipb9e15ykaocxv8"); // e->v2 = v2->index;
+UNSUPPORTED("3tbomhde001xxpsgrqrxaj5qq"); // e->weight = wt;
+UNSUPPORTED("bdajav43vx6s0dqy0k4qzz34r"); // e->cnt = 0;
+UNSUPPORTED("2fxbnv4tmis57zol548d8t69o"); // addEdgeToNode (v1, e, idx);
+UNSUPPORTED("8fhmkjmzcgsaedp55s0lgcnzf"); // addEdgeToNode (v2, e, idx);
+UNSUPPORTED("2bswif6w6ot01ynlvkimntfly"); // return e;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 cmavbm512p00aze5hpa7ewqnf
+// void freeSGraph (sgraph* g)
+public static Object freeSGraph(Object... arg) {
+UNSUPPORTED("c01vxogao855zs8fe94tpim9g"); // void
+UNSUPPORTED("9hthkvnsrcbkqzxbng2mlgcr"); // freeSGraph (sgraph* g)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("5xfei00jwgg7b7kejqmwtve51"); // free (g->nodes[0].adj_edge_list);
+UNSUPPORTED("apli015280vdkava7kzfu45gt"); // free (g->nodes);
+UNSUPPORTED("aobfrb6yk5ivr8l2memu6iegu"); // free (g->edges);
+UNSUPPORTED("dwuc0y4whcauryjdz2g3rdyey"); // free (g);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1rcimcpgyvapk639i1ln4ubi5
+// static snode* adjacentNode(sgraph* g, sedge* e, snode* n)
+public static Object adjacentNode(Object... arg) {
+UNSUPPORTED("1mqfssg5cquehb5bdk2189gy2"); // static snode*
+UNSUPPORTED("d7hrrud3osvm08rbt95y6nc7v"); // adjacentNode(sgraph* g, sedge* e, snode* n)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("aapvzqekocoy044mxh46608wo"); // if (e->v1==n->index)
+UNSUPPORTED("62g358pvqoywxqbeb39tjulp2"); // return (&(g->nodes[e->v2]));
+UNSUPPORTED("div10atae09n36x269sl208r1"); // else
+UNSUPPORTED("dkxx6omcntqirmu5yygun7kop"); // return (&(g->nodes[e->v1]));
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9giqtyb1anron57zz1mdcuwr0
+// int shortPath (sgraph* g, snode* from, snode* to)
+public static Object shortPath(Object... arg) {
+UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int
+UNSUPPORTED("2d7cnx1fuelcu110onyrglta1"); // shortPath (sgraph* g, snode* from, snode* to)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2azqjiolcsah2sn6lnkbcv8q6"); // snode* n;
+UNSUPPORTED("5us6bymu4crkiqypwh57332hj"); // sedge* e;
+UNSUPPORTED("a4iu3ng9cbut3oe6j3w1hhtlw"); // snode* adjn;
+UNSUPPORTED("5azgw3jpyk2yccpp3p4s3q817"); // int d;
+UNSUPPORTED("1ouxm7u78s3lne6g97el7yirj"); // int x, y;
+UNSUPPORTED("cj7nzqwbchsm0mvo2wmynwq5u"); // for (x = 0; x<g->nnodes; x++) {
+UNSUPPORTED("7d5ytzu7ryaoy73g9z0g89g37"); // snode* temp;
+UNSUPPORTED("ed9j6kqbny3qsxz8e8dk4vxe6"); // temp = &(g->nodes[x]);
+UNSUPPORTED("78pvwvoqedjj594q1og8f58lt"); // (temp)->n_val = INT_MIN;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6ig938tzt63g78nuq5ozjoxia"); // PQinit();
+UNSUPPORTED("d1qoqypb9nj64lzirszjt4ips"); // if (PQ_insert (from)) return 1;
+UNSUPPORTED("5jv8ecdm6aag2bo5uj5oaqdmn"); // (from)->n_dad = NULL;
+UNSUPPORTED("ddhvyzr3vort1bce9uxacz0cy"); // (from)->n_val = 0;
+UNSUPPORTED("58d6z37ovsflm1901h2priinl"); // while ((n = PQremove())) {
+UNSUPPORTED("83j13xloeu1fjo8bdrw4zv4ot"); // (n)->n_val *= -1;
+UNSUPPORTED("62t0o3w85qn5ull41imvtkl2v"); // if (n == to) break;
+UNSUPPORTED("2yuzydrscmjwya9vwcjaub1bw"); // for (y=0; y<n->n_adj; y++) {
+UNSUPPORTED("7dykckcqwi0r01sokehzys07u"); // e = &(g->edges[n->adj_edge_list[y]]);
+UNSUPPORTED("ee5sii5zq78njilg2b84rcedx"); // adjn = adjacentNode(g, e, n);
+UNSUPPORTED("dcr46uov2a9y4x1d805di1vkj"); // if ((adjn)->n_val < 0) {
+UNSUPPORTED("ean1jlrfbqj5db693w8atob75"); // d = -((n)->n_val + (e->weight));
+UNSUPPORTED("5i12njirmr3egi8u7dyh2x5jq"); // if ((adjn)->n_val == INT_MIN) {
+UNSUPPORTED("7fyonsun390xwjwz5nvv6387t"); // (adjn)->n_val = d;
+UNSUPPORTED("17otcakp576j9myi0y8j2018l"); // if (PQ_insert(adjn)) return 1;
+UNSUPPORTED("cr4e7c9poda05whkcy9htuvi4"); // (adjn)->n_dad = n;
+UNSUPPORTED("4ag21fj7gx3dj7pmwqjl89ucr"); // (adjn)->n_edge = e;
+UNSUPPORTED("1vo9ytkxoezj3oe6k9py3kdc4"); // }
+UNSUPPORTED("d28blrbmwwqp80cyksuz7dwx9"); // else {
+UNSUPPORTED("ddue9dplflq1i5vnoxj8kmr5q"); // if ((adjn)->n_val < d) {
+UNSUPPORTED("btt3je7wg001msmvi1swe6o2i"); // PQupdate(adjn, d);
+UNSUPPORTED("dkztzg2evj6hhccujfulxxaif"); // (adjn)->n_dad = n;
+UNSUPPORTED("7jm2ji6pc40tpai19vzx2ewqf"); // (adjn)->n_edge = e;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("7a6hw5yb8rm8wg0rs40229cw4"); // /* PQfree(); */
+UNSUPPORTED("5oxhd3fvp0gfmrmz12vndnjt"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}
diff --git a/src/gen/lib/ortho/trapezoid__c.java b/src/gen/lib/ortho/trapezoid__c.java
new file mode 100644
index 0000000..3caf693
--- /dev/null
+++ b/src/gen/lib/ortho/trapezoid__c.java
@@ -0,0 +1,1061 @@
+/* ========================================================================
+ * PlantUML : a free UML diagram generator
+ * ========================================================================
+ *
+ * Project Info: http://plantuml.com
+ *
+ * If you like this project or if you find it useful, you can support us at:
+ *
+ * http://plantuml.com/patreon (only 1$ per month!)
+ * http://plantuml.com/paypal
+ *
+ * This file is part of Smetana.
+ * Smetana is a partial translation of Graphviz/Dot sources from C to Java.
+ *
+ * (C) Copyright 2009-2017, Arnaud Roques
+ *
+ * This translation is distributed under the same Licence as the original C program:
+ *
+ *************************************************************************
+ * Copyright (c) 2011 AT&T Intellectual Property
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors: See CVS logs. Details at http://www.graphviz.org/
+ *************************************************************************
+ *
+ * THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
+ * LICENSE ("AGREEMENT"). [Eclipse Public License - v 1.0]
+ *
+ * ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES
+ * RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+ *
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package gen.lib.ortho;
+import static smetana.core.Macro.UNSUPPORTED;
+
+public class trapezoid__c {
+//1 9sub06q78sfddgkymxfcy2c73
+// static int q_idx
+
+
+//1 6g6us29cvfladuvel3e1yesjo
+// static int tr_idx
+
+
+//1 d43x33t89dq1mez0urx9oiia6
+// static int QSIZE
+
+
+//1 bweoibjhrqkbu4mf0na0da9i4
+// static int TRSIZE
+
+
+
+
+//3 ezwgb38ifqfgyqxu3qqar9lpw
+// static int newnode()
+public static Object newnode(Object... arg) {
+UNSUPPORTED("7foww06xea9wyyn20fapyohtz"); // static int newnode()
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("aqs9lgy5mghk1gc6qzg6yfy4s"); // if (q_idx < QSIZE)
+UNSUPPORTED("8djpsfvmvn0bc1er4s9kph9cj"); // return q_idx++;
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("11efsmyeab3fqgi4nmlwej7ui"); // fprintf(stderr, "newnode: Query-table overflow\n");
+UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0);
+UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 4lbfds1s3bs19eoap1a3m3e6z
+// static int newtrap(trap_t* tr)
+public static Object newtrap(Object... arg) {
+UNSUPPORTED("5u9cievsb4s3x8zwuu8pspcam"); // static int newtrap(trap_t* tr)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("d8y9k9n2vzw3s1hdo0dyfgusw"); // if (tr_idx < TRSIZE) {
+UNSUPPORTED("24d5qbi4y7dlh2alv9w6dspvq"); // tr[tr_idx].lseg = -1;
+UNSUPPORTED("9zrdh7a878ko4cmpzev5ayinb"); // tr[tr_idx].rseg = -1;
+UNSUPPORTED("74u8379xavsf8burpaazx8doy"); // tr[tr_idx].state = 1;
+UNSUPPORTED("cp5hfaygeyrh9332itky24tau"); // return tr_idx++;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1nyzbeonram6636b1w955bypn"); // else {
+UNSUPPORTED("4zebr8hhs7o8tpx01k01mpds0"); // fprintf(stderr, "newtrap: Trapezoid-table overflow %d\n", tr_idx);
+UNSUPPORTED("2g1czwq8qs1hp7515i11qbn75"); // assert(0);
+UNSUPPORTED("8d9xfgejx5vgd6shva5wk5k06"); // return -1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3vts8knsk95mverrgac2cq3yc
+// static int _max (pointf *yval, pointf *v0, pointf *v1)
+public static Object _max(Object... arg) {
+UNSUPPORTED("b70ixswaw70rop2i3a10o3usx"); // static int _max (pointf *yval, pointf *v0, pointf *v1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8sp05pzzul51jatoi7t38rnpp"); // if (v0->y > v1->y + 1.0e-7)
+UNSUPPORTED("180yy7z15hk29ewh0m4iwy075"); // *yval = *v0;
+UNSUPPORTED("2ty39vroyyu183wiz8ofw0rxa"); // else if ((fabs(v0->y - v1->y) <= 1.0e-7))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("72xrk5q82zxqso4bc60bh0en6"); // if (v0->x > v1->x + 1.0e-7)
+UNSUPPORTED("1cpd3nxmmss753abfkrjus62"); // *yval = *v0;
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("90n843sj6wbl3520yksspwwd7"); // *yval = *v1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("3alzaeg88yo110ikg55vztkke"); // *yval = *v1;
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 5wxt3huxqmnpq4koff0wywqeg
+// static int _min (pointf *yval, pointf *v0, pointf *v1)
+public static Object _min(Object... arg) {
+UNSUPPORTED("41dy0yxvmnu3g6nomhqjilah6"); // static int _min (pointf *yval, pointf *v0, pointf *v1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6kmfzgofw4kdg3jrtg4qesuzn"); // if (v0->y < v1->y - 1.0e-7)
+UNSUPPORTED("180yy7z15hk29ewh0m4iwy075"); // *yval = *v0;
+UNSUPPORTED("2ty39vroyyu183wiz8ofw0rxa"); // else if ((fabs(v0->y - v1->y) <= 1.0e-7))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("459y4uw84m4wk21vkdz3fp0q"); // if (v0->x < v1->x)
+UNSUPPORTED("1cpd3nxmmss753abfkrjus62"); // *yval = *v0;
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("90n843sj6wbl3520yksspwwd7"); // *yval = *v1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("3alzaeg88yo110ikg55vztkke"); // *yval = *v1;
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1tgrd4zziresuq6qhk0xfoa92
+// static int _greater_than_equal_to (pointf *v0, pointf *v1)
+public static Object _greater_than_equal_to(Object... arg) {
+UNSUPPORTED("3x672w6uwysfps5nvhyqmwl95"); // static int _greater_than_equal_to (pointf *v0, pointf *v1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("8sp05pzzul51jatoi7t38rnpp"); // if (v0->y > v1->y + 1.0e-7)
+UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0));
+UNSUPPORTED("cmmtmayq5o6ek8zgcrha6po9p"); // else if (v0->y < v1->y - 1.0e-7)
+UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0);
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("ccnvf5snmgs9gvqzl6fmieioz"); // return (v0->x >= v1->x);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ckf51i5h4qoeq20aso56vcc5h
+// static int _less_than (pointf *v0, pointf *v1)
+public static Object _less_than(Object... arg) {
+UNSUPPORTED("8ancjlh02pjhsn49e6a25wl6r"); // static int _less_than (pointf *v0, pointf *v1)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("6kmfzgofw4kdg3jrtg4qesuzn"); // if (v0->y < v1->y - 1.0e-7)
+UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0));
+UNSUPPORTED("cg91nfse0xdez0vz4ak53mlc6"); // else if (v0->y > v1->y + 1.0e-7)
+UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0);
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("5gqsmyi9rrv1qx6cgtd2xi44t"); // return (v0->x < v1->x);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7q4v9wyz2nlemt8xq7v0184fv
+// static int init_query_structure(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+public static Object init_query_structure(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("80esr9k64zjsp5282c35kte4"); // init_query_structure(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("2esdkeckyaxmhthp1vzn695tv"); // int i1, i2, i3, i4, i5, i6, i7, root;
+UNSUPPORTED("1etoutqq3u32ryiyi4rlsmsro"); // int t1, t2, t3, t4;
+UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum];
+UNSUPPORTED("c83t5z66410r47uvwhte8atg2"); // i1 = newnode();
+UNSUPPORTED("6tcn5be7qo2ntg03pl4u3r61e"); // qs[i1].nodetype = 2;
+UNSUPPORTED("c1r0tcnd1jjxieidujrboz04k"); // _max(&qs[i1].yval, &s->v0, &s->v1); /* root */
+UNSUPPORTED("f428tco5zyg6ypbzmd6nv8jxo"); // root = i1;
+UNSUPPORTED("1939agqcbtihe79feh1epnhqd"); // qs[i1].right = i2 = newnode();
+UNSUPPORTED("bclzn2z0bot5q64khoc3xo1eh"); // qs[i2].nodetype = 3;
+UNSUPPORTED("3wxpvt6gxhzk59qbw5yybfzok"); // qs[i2].parent = i1;
+UNSUPPORTED("50zz911fku71s62zxmf340erk"); // qs[i1].left = i3 = newnode();
+UNSUPPORTED("a2m2pfcpcs6m23o59w73a3ult"); // qs[i3].nodetype = 2;
+UNSUPPORTED("844hmc2g8n8v8oq1t3pu20waf"); // _min(&qs[i3].yval, &s->v0, &s->v1); /* root */
+UNSUPPORTED("6eqlqz24lil3mz951mbp9aigr"); // qs[i3].parent = i1;
+UNSUPPORTED("6umgkg0ppnkz3jqbvyaxe1m2i"); // qs[i3].left = i4 = newnode();
+UNSUPPORTED("2a5a7b307rm5psez1mdr9nc42"); // qs[i4].nodetype = 3;
+UNSUPPORTED("1qbi9f0emsed1xpkk2p6wqgr1"); // qs[i4].parent = i3;
+UNSUPPORTED("7ijfbel4e53xg0oyi1hdok8qp"); // qs[i3].right = i5 = newnode();
+UNSUPPORTED("d9lgcb4dl6oscs3faq8cipzdp"); // qs[i5].nodetype = 1;
+UNSUPPORTED("3ncb03lht8293piupe9raycfn"); // qs[i5].segnum = segnum;
+UNSUPPORTED("b3g3e6ii94dctnonsv4wd6pdl"); // qs[i5].parent = i3;
+UNSUPPORTED("2hrir3mvn61r4z0suya88l2nq"); // qs[i5].left = i6 = newnode();
+UNSUPPORTED("z8w28kgi1isfybx3itfos5s6"); // qs[i6].nodetype = 3;
+UNSUPPORTED("cu0goy732xo6v416gatn10gvh"); // qs[i6].parent = i5;
+UNSUPPORTED("8mrutb9o0h1by9tk58yfkoqth"); // qs[i5].right = i7 = newnode();
+UNSUPPORTED("4hxmyrxp7ehrl5bbgglxggb3v"); // qs[i7].nodetype = 3;
+UNSUPPORTED("7cv8pxpknvmffsmvootfn7huq"); // qs[i7].parent = i5;
+UNSUPPORTED("47um0g3rf0a66rfc8ix8q7vds"); // t1 = newtrap(tr); /* middle left */
+UNSUPPORTED("dhqbu2kqod5qekt4mbkpcokkj"); // t2 = newtrap(tr); /* middle right */
+UNSUPPORTED("9d3tauevh5y1ibiiwo6wp2v76"); // t3 = newtrap(tr); /* bottom-most */
+UNSUPPORTED("8by6n8cunt2i39aek7qn4bxzm"); // t4 = newtrap(tr); /* topmost */
+UNSUPPORTED("9ooybm01jfqc70193duq4ut3k"); // tr[t1].hi = tr[t2].hi = tr[t4].lo = qs[i1].yval;
+UNSUPPORTED("ahal1vcbrbvp2tots6ntov40m"); // tr[t1].lo = tr[t2].lo = tr[t3].hi = qs[i3].yval;
+UNSUPPORTED("awhuxi9kh5n3qn62td3x1rx2e"); // tr[t4].hi.y = (double) (1<<30);
+UNSUPPORTED("9yuy8hbx22hhqfluto46v4rb3"); // tr[t4].hi.x = (double) (1<<30);
+UNSUPPORTED("dogql1uip3yn8sty2gnmwevpt"); // tr[t3].lo.y = (double) -1* (1<<30);
+UNSUPPORTED("d2iv9aswbnku15auic7ves2fg"); // tr[t3].lo.x = (double) -1* (1<<30);
+UNSUPPORTED("8y0utktr8o66ckjdf97ig9bw3"); // tr[t1].rseg = tr[t2].lseg = segnum;
+UNSUPPORTED("8my9cfjyt5wyy7n9gqm30i6f"); // tr[t1].u0 = tr[t2].u0 = t4;
+UNSUPPORTED("78rq2swfcihc9nwji63nql4b3"); // tr[t1].d0 = tr[t2].d0 = t3;
+UNSUPPORTED("ebptwtro7kf1luhehrxb744p8"); // tr[t4].d0 = tr[t3].u0 = t1;
+UNSUPPORTED("amaflatnwoybz3paepojnqzjc"); // tr[t4].d1 = tr[t3].u1 = t2;
+UNSUPPORTED("cgyw8wailvfpayg8djskaqm0j"); // tr[t1].sink = i6;
+UNSUPPORTED("2sj6wyx5ww6w67v1loc3qhk4a"); // tr[t2].sink = i7;
+UNSUPPORTED("4h7l33kqm6unri8ilybcbjfcw"); // tr[t3].sink = i4;
+UNSUPPORTED("2wmmcp3dsa7xgu0t7iyv906s2"); // tr[t4].sink = i2;
+UNSUPPORTED("bxw0r5s14kl48z1l94rbm9ur"); // tr[t1].state = tr[t2].state = 1;
+UNSUPPORTED("5n86x6hksj9v0g2mlx1fxaafr"); // tr[t3].state = tr[t4].state = 1;
+UNSUPPORTED("2xueg60vz46kgccrmtjvwznoi"); // qs[i2].trnum = t4;
+UNSUPPORTED("6cc5iezoueqotgmhzeglj4pz9"); // qs[i4].trnum = t3;
+UNSUPPORTED("187dsocnulk5op8i2uxlll76g"); // qs[i6].trnum = t1;
+UNSUPPORTED("eu7m875ftlwx5wo4kxra1uhmp"); // qs[i7].trnum = t2;
+UNSUPPORTED("68vdbfxjp39ycnev1lw2fz5px"); // s->is_inserted = (!(0));
+UNSUPPORTED("8kli59ivt5ad0heic1p0r3dbs"); // return root;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 8ewy3ncs31dca68taarb3iw8t
+// static int is_left_of (int segnum, segment_t* seg, pointf *v)
+public static Object is_left_of(Object... arg) {
+UNSUPPORTED("eyp5xkiyummcoc88ul2b6tkeg"); // static int
+UNSUPPORTED("5njshx2lwca6yvst4l5l2kvum"); // is_left_of (int segnum, segment_t* seg, pointf *v)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum];
+UNSUPPORTED("42zj0zwvmsgnq8k1sof5wa9x2"); // double area;
+UNSUPPORTED("63r3u1i01cseh1k50rrs740v"); // if ((((&s->v1)->y > (&s->v0)->y + 1.0e-7) ? (!(0)) : (((&s->v1)->y < (&s->v0)->y - 1.0e-7) ? (0) : ((&s->v1)->x > (&s->v0)->x)))) /* seg. going upwards */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("cbadnx7r0dofl81ka6xnnq6o7"); // if ((fabs(s->v1.y - v->y) <= 1.0e-7))
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("cxi8g1p2jce4akg5ny6kbhrfj"); // if (v->x < s->v1.x)
+UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0;
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("3y16ysaprb1mi29myg2n7khc3"); // else if ((fabs(s->v0.y - v->y) <= 1.0e-7))
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("blqfzreaz43r05gwx8e2g2mwl"); // if (v->x < s->v0.x)
+UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0;
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("9j65co4mvzqq92gveemasixui"); // area = (((s->v1).x - (s->v0).x)*(((*v)).y - (s->v0).y) - ((s->v1).y - (s->v0).y)*(((*v)).x - (s->v0).x));
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1ifob9844re1ifigjf8fkr37a"); // else /* v0 > v1 */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("cbadnx7r0dofl81ka6xnnq6o7"); // if ((fabs(s->v1.y - v->y) <= 1.0e-7))
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("cxi8g1p2jce4akg5ny6kbhrfj"); // if (v->x < s->v1.x)
+UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0;
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("3y16ysaprb1mi29myg2n7khc3"); // else if ((fabs(s->v0.y - v->y) <= 1.0e-7))
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("blqfzreaz43r05gwx8e2g2mwl"); // if (v->x < s->v0.x)
+UNSUPPORTED("1fw3mcjmrjyug8inon5ce6dqp"); // area = 1.0;
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("7jzu14omzk1dfuz500k0pmy3i"); // area = -1.0;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("4mok58gqh8sibhgfd7iko8c9v"); // area = (((s->v0).x - (s->v1).x)*(((*v)).y - (s->v1).y) - ((s->v0).y - (s->v1).y)*(((*v)).x - (s->v1).x));
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("f01je1mbiagbodxwrd5uinsjb"); // if (area > 0.0)
+UNSUPPORTED("4si0cf97a5sfd9ozuunds9goz"); // return (!(0));
+UNSUPPORTED("783dsehm4gdkhlghq59hccnzp"); // else
+UNSUPPORTED("297p5iu8oro94tdg9v29bbgiw"); // return (0);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 ds0k9vbvh7ed069gt2xxgoh8f
+// static int inserted (int segnum, segment_t* seg, int whichpt)
+public static Object inserted(Object... arg) {
+UNSUPPORTED("1hxgwm2z6apwm18im719wroya"); // static int inserted (int segnum, segment_t* seg, int whichpt)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("178ivgdk5i7c18ldleui4zwx8"); // if (whichpt == 1)
+UNSUPPORTED("6ne7u4gw5ulsrhx8n7u6rkli4"); // return seg[seg[segnum].prev].is_inserted;
+UNSUPPORTED("8983svt6g1kt3l45bd6ju9mw6"); // else
+UNSUPPORTED("e67pnyvlna9gyn2uw744phhx8"); // return seg[seg[segnum].next].is_inserted;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 3sd5i6hidutg4bza9cb9iqpxj
+// static int locate_endpoint (pointf *v, pointf *vo, int r, segment_t* seg, qnode_t* qs)
+public static Object locate_endpoint(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("40jqc5hn9dtw9jy159l2bpv0g"); // locate_endpoint (pointf *v, pointf *vo, int r, segment_t* seg, qnode_t* qs)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("cmndkfofn727hmimgmjjqabmb"); // qnode_t *rptr = &qs[r];
+UNSUPPORTED("9no4uq8gm1skxdt3c5npacs5o"); // switch (rptr->nodetype) {
+UNSUPPORTED("33l7a58zp8vj6fuliwdkk2nkn"); // case 3:
+UNSUPPORTED("chlduh24i0dc156oi8zegnisk"); // return rptr->trnum;
+UNSUPPORTED("4u5xz2u3urj13y0aw30fdyup5"); // case 2:
+UNSUPPORTED("360mq4ndaxyqt1kvu3lx2g9iv"); // if ((((v)->y > (&rptr->yval)->y + 1.0e-7) ? (!(0)) : (((v)->y < (&rptr->yval)->y - 1.0e-7) ? (0) : ((v)->x > (&rptr->yval)->x)))) /* above */
+UNSUPPORTED("1rwlw98jlk3uq5eash5mq3kty"); // return locate_endpoint(v, vo, rptr->right, seg, qs);
+UNSUPPORTED("2x6nvn1yiw8qe6y0l034l612c"); // else if (((fabs((v)->y - (&rptr->yval)->y) <= 1.0e-7) && (fabs((v)->x - (&rptr->yval)->x) <= 1.0e-7))) /* the point is already */
+UNSUPPORTED("e4032360lx81txp3ugx7q41pg"); // { /* inserted. */
+UNSUPPORTED("5mpyvd6pkc7oidge31j3rtrt4"); // if ((((vo)->y > (&rptr->yval)->y + 1.0e-7) ? (!(0)) : (((vo)->y < (&rptr->yval)->y - 1.0e-7) ? (0) : ((vo)->x > (&rptr->yval)->x)))) /* above */
+UNSUPPORTED("9v669sdem5q69ss1a3sedpyhr"); // return locate_endpoint(v, vo, rptr->right, seg, qs);
+UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else
+UNSUPPORTED("4hct334tbu519smetk1d6vmf2"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* below */
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("54lgz3gtv3i7kpaib8hyvgbfz"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* below */
+UNSUPPORTED("d0gk15gzj4wz8nv54zbr285hm"); // case 1:
+UNSUPPORTED("9lajd4oadrk3ahujglee1gdtr"); // if (((fabs((v)->y - (&seg[rptr->segnum].v0)->y) <= 1.0e-7) && (fabs((v)->x - (&seg[rptr->segnum].v0)->x) <= 1.0e-7)) ||
+UNSUPPORTED("f48mzifmh37dv8tr0qtoo49je"); // ((fabs((v)->y - (&seg[rptr->segnum].v1)->y) <= 1.0e-7) && (fabs((v)->x - (&seg[rptr->segnum].v1)->x) <= 1.0e-7)))
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("9z6xoklpdo4zj5pno4f5ce0h7"); // if ((fabs(v->y - vo->y) <= 1.0e-7)) /* horizontal segment */
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("er0sr1b1xyl1koezju4fce9s9"); // if (vo->x < v->x)
+UNSUPPORTED("btfxao9lmldnm9ox00uhp9k89"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("46b4vvmvw19uagy9lolvbjpva"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("7h5s2qfodilr20w0xkcpxkptk"); // else if (is_left_of(rptr->segnum, seg, vo))
+UNSUPPORTED("42gk6xyx9b3ob9l5n3r5csyt1"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("b95yqgth0rp8t6hd608cwibcv"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("9h1dd7wy66jgqp0wcr4kep5c2"); // else if (is_left_of(rptr->segnum, seg, v))
+UNSUPPORTED("2q0jgs1w9wo5aut83ngsh2kqr"); // return locate_endpoint(v, vo, rptr->left, seg, qs); /* left */
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("56jpzw5vjtdztvgezig0lr54s"); // return locate_endpoint(v, vo, rptr->right, seg, qs); /* right */
+UNSUPPORTED("8l3rwj6ctswoa4gvh2j4poq70"); // default:
+UNSUPPORTED("7popo524s1mkw4my7n7tm8zwm"); // fprintf(stderr, "unexpected case in locate_endpoint\n");
+UNSUPPORTED("2kc7vwb5ge1ym5i0vk3t2ku3u"); // assert (0);
+UNSUPPORTED("aihsv59rc0q4ji937lr34lo8k"); // break;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("1rl8ucq8uwd451ybs5xqlr67w"); // return 1; /* stop warning */
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 dbmj7tlr6ld9ptryu0lsaq4tc
+// static void merge_trapezoids (int segnum, int tfirst, int tlast, int side, trap_t* tr, qnode_t* qs)
+public static Object merge_trapezoids(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("d3sy6vv9zv5n4mb41oxk1obz6"); // merge_trapezoids (int segnum, int tfirst, int tlast, int side, trap_t* tr,
+UNSUPPORTED("3yigib6ow3jx4tobp06lwnbpn"); // qnode_t* qs)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("7zesosg72mooutvqm92puylwn"); // int t, tnext, cond;
+UNSUPPORTED("srqa51ewat44yd9ccq23akdt"); // int ptnext;
+UNSUPPORTED("dumb9eoy9ae3crz585y5gm7jd"); // /* First merge polys on the LHS */
+UNSUPPORTED("8dfvttfe7lc7i6u3r5ecr1fu7"); // t = tfirst;
+UNSUPPORTED("4prw3c0s3s628lu72k6lantaz"); // while ((t > 0) && _greater_than_equal_to(&tr[t].lo, &tr[tlast].lo))
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("e01nwr4jvd1tahpmnshgnq2jv"); // if (side == 1)
+UNSUPPORTED("clu6aa5l65xiz793joqfsuqpj"); // cond = ((((tnext = tr[t].d0) > 0) && (tr[tnext].rseg == segnum)) ||
+UNSUPPORTED("58j0umsvte3xelv7t0rq6gjmz"); // (((tnext = tr[t].d1) > 0) && (tr[tnext].rseg == segnum)));
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("ay6y0octsk8vv6mxe73k52poq"); // cond = ((((tnext = tr[t].d0) > 0) && (tr[tnext].lseg == segnum)) ||
+UNSUPPORTED("9giajatrisho4roj4jmi2mtdu"); // (((tnext = tr[t].d1) > 0) && (tr[tnext].lseg == segnum)));
+UNSUPPORTED("9jg0aj4lchk2qzrqzcn6ou93"); // if (cond)
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("4sfxjqv3pdk6ccs6trnltbq2f"); // if ((tr[t].lseg == tr[tnext].lseg) &&
+UNSUPPORTED("8waxrtn63q8iol80ocgfo5avl"); // (tr[t].rseg == tr[tnext].rseg)) /* good neighbours */
+UNSUPPORTED("4zrza3uxjr5k879ok6o3ajyq5"); // { /* merge them */
+UNSUPPORTED("de9a84mtxjfcb7d29uq6ysi80"); // /* Use the upper node as the new node i.e. t */
+UNSUPPORTED("5hnggs6fldg6n2aa0v0wb7mhs"); // ptnext = qs[tr[tnext].sink].parent;
+UNSUPPORTED("4aftlg6xged6gwbjcopvljfdk"); // if (qs[ptnext].left == tr[tnext].sink)
+UNSUPPORTED("f034psp1axv24k350wb0intx5"); // qs[ptnext].left = tr[t].sink;
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("erqbnxbh6c3ixq6cid3y15v6f"); // qs[ptnext].right = tr[t].sink; /* redirect parent */
+UNSUPPORTED("f51s02y9sf5wp5418x4hjsyr3"); // /* Change the upper neighbours of the lower trapezoids */
+UNSUPPORTED("4s40zetcif254u9y9h8shaf7j"); // if ((tr[t].d0 = tr[tnext].d0) > 0) {
+UNSUPPORTED("7kf24rblb1mya5dy87gfod71g"); // if (tr[tr[t].d0].u0 == tnext)
+UNSUPPORTED("5ippcybc2d61q6we5qdy4i2qa"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("4n5ukkxajjh25cyvxn2mfv7p5"); // else if (tr[tr[t].d0].u1 == tnext)
+UNSUPPORTED("49bf3poo5ld3e7zfa7owoqwkt"); // tr[tr[t].d0].u1 = t;
+UNSUPPORTED("1rlnjstsgqacqe09a5425xsv7"); // }
+UNSUPPORTED("cx0c40s7cejokjr55q624jp8i"); // if ((tr[t].d1 = tr[tnext].d1) > 0) {
+UNSUPPORTED("6tk5voiwfy6257or9pk26rpls"); // if (tr[tr[t].d1].u0 == tnext)
+UNSUPPORTED("8vwe6jjx4f0cxtyk1cjsred13"); // tr[tr[t].d1].u0 = t;
+UNSUPPORTED("faags7rxrk8rz9u528brw9w1"); // else if (tr[tr[t].d1].u1 == tnext)
+UNSUPPORTED("c1g7dyxu9y9bu3cnqai6ffpai"); // tr[tr[t].d1].u1 = t;
+UNSUPPORTED("1rlnjstsgqacqe09a5425xsv7"); // }
+UNSUPPORTED("rqi8hsnl6a07uwsdllnklsov"); // tr[t].lo = tr[tnext].lo;
+UNSUPPORTED("alq15ri09p1ftxvstnhiy11pw"); // tr[tnext].state = 2; /* invalidate the lower */
+UNSUPPORTED("7g5imzgc3x4g8m1764txnxwyg"); // /* trapezium */
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("22mnxtwfg5bxnxn9hi92d3s98"); // else /* not good neighbours */
+UNSUPPORTED("62cajrs5gvbcki7xpbugxr503"); // t = tnext;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("cy3s4c19cvi3od7ig0v5w1dau"); // else /* do not satisfy the outer if */
+UNSUPPORTED("9ndn482wriowrzfxei5dwe91s"); // t = tnext;
+UNSUPPORTED("65mlofu9i9895kq8xkb6x103e"); // } /* end-while */
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 423adx9iu4aqsh6kmh9d6a9be
+// static int add_segment (int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+public static Object add_segment(Object... arg) {
+UNSUPPORTED("d9cz56vtrl0ri6hz88cumukuf"); // static int
+UNSUPPORTED("6kdmtyxbba7hab6oumuavm30n"); // add_segment (int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("aywleif3lrmut4f9ns6y61k57"); // segment_t s;
+UNSUPPORTED("364wkucwxm1xu5s9elyid5hh4"); // int tu, tl, sk, tfirst, tlast;
+UNSUPPORTED("3sfv77g4x70yfiew8fyfwgniw"); // int tfirstr, tlastr, tfirstl, tlastl;
+UNSUPPORTED("hfh89kyneima7i4d8yp0hbwi"); // int i1, i2, t, tn;
+UNSUPPORTED("8z6gljvt2mmr0150xzv8dl25q"); // pointf tpt;
+UNSUPPORTED("dnwffbpvy39x5k4uyp0o8auxh"); // int tritop = 0, tribot = 0, is_swapped;
+UNSUPPORTED("94kgtpn18xur5803w9zeeemzl"); // int tmptriseg;
+UNSUPPORTED("1pyedo5b6xqv0d871wz5tos5c"); // s = seg[segnum];
+UNSUPPORTED("8gkp133xtnguno18r03aljy2z"); // if ((((&s.v1)->y > (&s.v0)->y + 1.0e-7) ? (!(0)) : (((&s.v1)->y < (&s.v0)->y - 1.0e-7) ? (0) : ((&s.v1)->x > (&s.v0)->x)))) /* Get higher vertex in v0 */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("cwmbl7chjorytaifkyv8kht3c"); // int tmp;
+UNSUPPORTED("5luhts0zxuhi3potzediaro1z"); // tpt = s.v0;
+UNSUPPORTED("3zornvro5dwtu8yscak3thc3j"); // s.v0 = s.v1;
+UNSUPPORTED("7xkhhzhpalzk4r57usnt0ei5g"); // s.v1 = tpt;
+UNSUPPORTED("bqhqxuz448ejhe47314s7ywqn"); // tmp = s.root0;
+UNSUPPORTED("2re8ujw6s9kgcmuthp39hguph"); // s.root0 = s.root1;
+UNSUPPORTED("75kknuapl2tfu08nxm6s55sm1"); // s.root1 = tmp;
+UNSUPPORTED("9eflrb5pudqbmm3wm6qeiwwsz"); // is_swapped = (!(0));
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("kf5313k7om91mo87n2t6l6mk"); // else is_swapped = (0);
+UNSUPPORTED("9fmss7ubwydpupsrikix6nafv"); // if ((is_swapped) ? !inserted(segnum, seg, 2) :
+UNSUPPORTED("6hcg7juc159xaz2xirhecwc5n"); // !inserted(segnum, seg, 1)) /* insert v0 in the tree */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("c8xc5g4gm8dkiy87rty8nml52"); // int tmp_d;
+UNSUPPORTED("2qpiovudynlersguqz1by6yg8"); // tu = locate_endpoint(&s.v0, &s.v1, s.root0, seg, qs);
+UNSUPPORTED("3vk36g0d9b4pv8frx4h1q7url"); // tl = newtrap(tr); /* tl is the new lower trapezoid */
+UNSUPPORTED("1lylt0f9mi470jwcjjrujr0lv"); // tr[tl].state = 1;
+UNSUPPORTED("e36yrv3eo2yxyqvkbbxaji21d"); // tr[tl] = tr[tu];
+UNSUPPORTED("9wngpyofpofpk3iw7x1nua784"); // tr[tu].lo.y = tr[tl].hi.y = s.v0.y;
+UNSUPPORTED("kayts5od8vhhpy0xbhr9dkxg"); // tr[tu].lo.x = tr[tl].hi.x = s.v0.x;
+UNSUPPORTED("5boxd28ndhyga6l1be8q33e4q"); // tr[tu].d0 = tl;
+UNSUPPORTED("40mjz1kftaduly7n34bovhzoa"); // tr[tu].d1 = 0;
+UNSUPPORTED("8ohfd1sq3vt575ufy2sejpq49"); // tr[tl].u0 = tu;
+UNSUPPORTED("er5qcoyhp181kav6eod7im5xk"); // tr[tl].u1 = 0;
+UNSUPPORTED("dmb9ggnvbbi4oj28pzhxe0i4s"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u0 == tu))
+UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl;
+UNSUPPORTED("6mzktvtijtpt77jiqbxio9zos"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u1 == tu))
+UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl;
+UNSUPPORTED("50ybcyf9j71skb8bxbrvd4wfo"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u0 == tu))
+UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl;
+UNSUPPORTED("burj10cn6158fzm20uvqf635h"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u1 == tu))
+UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl;
+UNSUPPORTED("511t3099c7ezfx13h8n2yb4qc"); // /* Now update the query structure and obtain the sinks for the */
+UNSUPPORTED("c9xihvs3g1nqpo1l2de28bsb"); // /* two trapezoids */
+UNSUPPORTED("csfd7w5pm87z8w5eoyoa2movw"); // i1 = newnode(); /* Upper trapezoid sink */
+UNSUPPORTED("564u4l90sl4dmr5g58s7iqs8x"); // i2 = newnode(); /* Lower trapezoid sink */
+UNSUPPORTED("7oz11ubssufczo1a50yljtcvy"); // sk = tr[tu].sink;
+UNSUPPORTED("b677gy1yh3616vmj895bab5b"); // qs[sk].nodetype = 2;
+UNSUPPORTED("k2rmuj3cg2b11t520einze0k"); // qs[sk].yval = s.v0;
+UNSUPPORTED("bxfy7g6fyf60ts626mpqxu6se"); // qs[sk].segnum = segnum; /* not really reqd ... maybe later */
+UNSUPPORTED("89s0xn0ow2pfjhij4atarki22"); // qs[sk].left = i2;
+UNSUPPORTED("41dfb6dqvo0ska2nsf8cg7mlp"); // qs[sk].right = i1;
+UNSUPPORTED("e9qlif497bsjdb7r26vnxr6zv"); // qs[i1].nodetype = 3;
+UNSUPPORTED("20z4ufoaz5upwcj5cwcfdbsxt"); // qs[i1].trnum = tu;
+UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk;
+UNSUPPORTED("b7ik0xdl2ccze3lyok2lk1u8i"); // qs[i2].nodetype = 3;
+UNSUPPORTED("dw3di9wgg1xfyl4volkqwvr2a"); // qs[i2].trnum = tl;
+UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk;
+UNSUPPORTED("bv09rvz94qyrsm8yxn6ib3gjz"); // tr[tu].sink = i1;
+UNSUPPORTED("edgs0wz1q5yh76ulwbge7k0y5"); // tr[tl].sink = i2;
+UNSUPPORTED("6lodj5exd6zj9qf7jjt4ajwcb"); // tfirst = tl;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("9ai90pnlwcnwugiwlrp31rno1"); // else /* v0 already present */
+UNSUPPORTED("1na80phemhx8r2c3bejhbvi9q"); // { /* Get the topmost intersecting trapezoid */
+UNSUPPORTED("bux5mye3492eeh39qlfwu4h0i"); // tfirst = locate_endpoint(&s.v0, &s.v1, s.root0, seg, qs);
+UNSUPPORTED("9sgryoanil25eur6sx2wvst7w"); // tritop = 1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("73p090oxqw3wxq9qn6hpedl6r"); // if ((is_swapped) ? !inserted(segnum, seg, 1) :
+UNSUPPORTED("4nw2s0j85w6cpo3ch1vo46vxr"); // !inserted(segnum, seg, 2)) /* insert v1 in the tree */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("c8xc5g4gm8dkiy87rty8nml52"); // int tmp_d;
+UNSUPPORTED("8k5whoux68dwuz2ebzjwdz2lh"); // tu = locate_endpoint(&s.v1, &s.v0, s.root1, seg, qs);
+UNSUPPORTED("3vk36g0d9b4pv8frx4h1q7url"); // tl = newtrap(tr); /* tl is the new lower trapezoid */
+UNSUPPORTED("1lylt0f9mi470jwcjjrujr0lv"); // tr[tl].state = 1;
+UNSUPPORTED("e36yrv3eo2yxyqvkbbxaji21d"); // tr[tl] = tr[tu];
+UNSUPPORTED("7dp0os3ywo9qpt13od74hlz32"); // tr[tu].lo.y = tr[tl].hi.y = s.v1.y;
+UNSUPPORTED("b9h60u19dl3vo6dnfe9rl89ki"); // tr[tu].lo.x = tr[tl].hi.x = s.v1.x;
+UNSUPPORTED("5boxd28ndhyga6l1be8q33e4q"); // tr[tu].d0 = tl;
+UNSUPPORTED("40mjz1kftaduly7n34bovhzoa"); // tr[tu].d1 = 0;
+UNSUPPORTED("8ohfd1sq3vt575ufy2sejpq49"); // tr[tl].u0 = tu;
+UNSUPPORTED("er5qcoyhp181kav6eod7im5xk"); // tr[tl].u1 = 0;
+UNSUPPORTED("dmb9ggnvbbi4oj28pzhxe0i4s"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u0 == tu))
+UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl;
+UNSUPPORTED("6mzktvtijtpt77jiqbxio9zos"); // if (((tmp_d = tr[tl].d0) > 0) && (tr[tmp_d].u1 == tu))
+UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl;
+UNSUPPORTED("50ybcyf9j71skb8bxbrvd4wfo"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u0 == tu))
+UNSUPPORTED("7dung2mkyltlpc6rn6xg2w2qa"); // tr[tmp_d].u0 = tl;
+UNSUPPORTED("burj10cn6158fzm20uvqf635h"); // if (((tmp_d = tr[tl].d1) > 0) && (tr[tmp_d].u1 == tu))
+UNSUPPORTED("4hk19hnhoihfn3k52lnb5wnmi"); // tr[tmp_d].u1 = tl;
+UNSUPPORTED("511t3099c7ezfx13h8n2yb4qc"); // /* Now update the query structure and obtain the sinks for the */
+UNSUPPORTED("c9xihvs3g1nqpo1l2de28bsb"); // /* two trapezoids */
+UNSUPPORTED("csfd7w5pm87z8w5eoyoa2movw"); // i1 = newnode(); /* Upper trapezoid sink */
+UNSUPPORTED("564u4l90sl4dmr5g58s7iqs8x"); // i2 = newnode(); /* Lower trapezoid sink */
+UNSUPPORTED("7oz11ubssufczo1a50yljtcvy"); // sk = tr[tu].sink;
+UNSUPPORTED("b677gy1yh3616vmj895bab5b"); // qs[sk].nodetype = 2;
+UNSUPPORTED("b27knotih9bj8ve0japzl9l9v"); // qs[sk].yval = s.v1;
+UNSUPPORTED("bxfy7g6fyf60ts626mpqxu6se"); // qs[sk].segnum = segnum; /* not really reqd ... maybe later */
+UNSUPPORTED("89s0xn0ow2pfjhij4atarki22"); // qs[sk].left = i2;
+UNSUPPORTED("41dfb6dqvo0ska2nsf8cg7mlp"); // qs[sk].right = i1;
+UNSUPPORTED("e9qlif497bsjdb7r26vnxr6zv"); // qs[i1].nodetype = 3;
+UNSUPPORTED("20z4ufoaz5upwcj5cwcfdbsxt"); // qs[i1].trnum = tu;
+UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk;
+UNSUPPORTED("b7ik0xdl2ccze3lyok2lk1u8i"); // qs[i2].nodetype = 3;
+UNSUPPORTED("dw3di9wgg1xfyl4volkqwvr2a"); // qs[i2].trnum = tl;
+UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk;
+UNSUPPORTED("bv09rvz94qyrsm8yxn6ib3gjz"); // tr[tu].sink = i1;
+UNSUPPORTED("edgs0wz1q5yh76ulwbge7k0y5"); // tr[tl].sink = i2;
+UNSUPPORTED("n3654qaak8jk8d5on2gwnw3f"); // tlast = tu;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("71qg7qvginab7d0qflim4y82r"); // else /* v1 already present */
+UNSUPPORTED("e56qskbf1f1spsk53sle0yg9x"); // { /* Get the lowermost intersecting trapezoid */
+UNSUPPORTED("f5e0c0cb0tzted54oxk1lg8so"); // tlast = locate_endpoint(&s.v1, &s.v0, s.root1, seg, qs);
+UNSUPPORTED("19802pxxzzbhz30pxvxhuauza"); // tribot = 1;
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("6or2wr1m9e6t9eswiywjcnari"); // /* Thread the segment into the query tree creating a new X-node */
+UNSUPPORTED("953uyi8s6j0kjt6kii0ifi05n"); // /* First, split all the trapezoids which are intersected by s into */
+UNSUPPORTED("2ec1eki04zl9bzcirfgpxwz1d"); // /* two */
+UNSUPPORTED("7vltbln6jmb4dcnt727aotqu"); // t = tfirst; /* topmost trapezoid */
+UNSUPPORTED("86huck5mq1n2xe2bgd5h0g4qh"); // while ((t > 0) &&
+UNSUPPORTED("9a2osatsmh7im166493j5z9ql"); // _greater_than_equal_to(&tr[t].lo, &tr[tlast].lo))
+UNSUPPORTED("8q0qvfyu6b98xudyzf1jey121"); // /* traverse from top to bot */
+UNSUPPORTED("6ld19omy1z68vprfzbhrjqr2z"); // {
+UNSUPPORTED("c361t9ie1jl34waoz1qx7qglt"); // int t_sav, tn_sav;
+UNSUPPORTED("735i6dbhhrwalqp0rdzf1plzu"); // sk = tr[t].sink;
+UNSUPPORTED("11cd0f59j2rlnu33mg33fy21u"); // i1 = newnode(); /* left trapezoid sink */
+UNSUPPORTED("8iq31y998euwxxys7lz4i0di5"); // i2 = newnode(); /* right trapezoid sink */
+UNSUPPORTED("eki95gcvgxhhxodpx7hhb2ms"); // qs[sk].nodetype = 1;
+UNSUPPORTED("bic1vt1c10xyb4dh0jvmlwitc"); // qs[sk].segnum = segnum;
+UNSUPPORTED("1oop28nporjqqttdge2bzb9yr"); // qs[sk].left = i1;
+UNSUPPORTED("9j0y61zaus712wgthf8xl2bjs"); // qs[sk].right = i2;
+UNSUPPORTED("a2vaedsgrsasf749gokb7o6zn"); // qs[i1].nodetype = 3; /* left trapezoid (use existing one) */
+UNSUPPORTED("d3wvuzqx7whtc7lkr3a1c6x1e"); // qs[i1].trnum = t;
+UNSUPPORTED("3sg533hzyg1vg1p3yue1tnscq"); // qs[i1].parent = sk;
+UNSUPPORTED("4f8cdthira5gw458qa3g8n1pw"); // qs[i2].nodetype = 3; /* right trapezoid (allocate new) */
+UNSUPPORTED("72zn9njck31ow5p4cd7x2vhdp"); // qs[i2].trnum = tn = newtrap(tr);
+UNSUPPORTED("cs7pcwh6y85gsxjbjcd3fp4th"); // tr[tn].state = 1;
+UNSUPPORTED("1aovaau4d0p4kaw0ceoit4mk8"); // qs[i2].parent = sk;
+UNSUPPORTED("8tii09oyev9eg5v8tjs5xqnzi"); // if (t == tfirst)
+UNSUPPORTED("c7vntoti83d7nzm1pez02dojb"); // tfirstr = tn;
+UNSUPPORTED("4lrakx12kpsm7brfxuacfvepm"); // if (((fabs((&tr[t].lo)->y - (&tr[tlast].lo)->y) <= 1.0e-7) && (fabs((&tr[t].lo)->x - (&tr[tlast].lo)->x) <= 1.0e-7)))
+UNSUPPORTED("dyxxoq2rclqc042m49pabo5tu"); // tlastr = tn;
+UNSUPPORTED("3m5dvd9h55xvklqd7bt4yyg18"); // tr[tn] = tr[t];
+UNSUPPORTED("4m7mubrux1t63hm4v0mbdoft0"); // tr[t].sink = i1;
+UNSUPPORTED("34b00t67vxmsuf1t0urk7kfni"); // tr[tn].sink = i2;
+UNSUPPORTED("5ilkt84avyzqnbgenie56bfpa"); // t_sav = t;
+UNSUPPORTED("1ndtxyyz47mtzmcxjr2kg61ci"); // tn_sav = tn;
+UNSUPPORTED("8fi9adh8qsrwfrgcxhrxnygb5"); // /* error */
+UNSUPPORTED("9ufele7a3qptly4g8e4gzkr4u"); // if ((tr[t].d0 <= 0) && (tr[t].d1 <= 0)) /* case cannot arise */
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("2j1bqg7boruaga6kpx00agtvb"); // fprintf(stderr, "add_segment: error\n");
+UNSUPPORTED("5tzm1n3i8u3c1oms5ri2fiqbt"); // break;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("787ro5xblsfkpjif4xda30sc2"); // /* only one trapezoid below. partition t into two and make the */
+UNSUPPORTED("5j474wt6fmynj8yasccaob1py"); // /* two resulting trapezoids t and tn as the upper neighbours of */
+UNSUPPORTED("aqtupurtnt0dzlj5jafgtirwc"); // /* the sole lower trapezoid */
+UNSUPPORTED("ewm9o917kyj2ae62y3e5bdvqf"); // else if ((tr[t].d0 > 0) && (tr[t].d1 <= 0))
+UNSUPPORTED("9cj5nz12eopffdahw5emn4c08"); // { /* Only one trapezoid below */
+UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0))
+UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */
+UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1)
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1;
+UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1;
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0;
+UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t;
+UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("6291oktyj53xp9yslzj405wgb"); // tr[t].u1 = tr[tn].u1 = -1;
+UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else
+UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */
+UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0;
+UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1;
+UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) &&
+UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0))
+UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */
+UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) &&
+UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1))
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1;
+UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("crxpsdr3uqrfkq55ecsr4zuxi"); // else /* cusp going leftwards */
+UNSUPPORTED("bkwn0jotk953x4wcx60j0p47f"); // {
+UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn;
+UNSUPPORTED("5m5bo8wuz7zrobc77883wcpw1"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) &&
+UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot)
+UNSUPPORTED("2pqges4a601rkdgoh9ay4fwkc"); // { /* bottom forms a triangle */
+UNSUPPORTED("74q36498zx96m389wznj126jh"); // if (is_swapped)
+UNSUPPORTED("c6l0dqua1wi4sm2nno83tqjpu"); // tmptriseg = seg[segnum].prev;
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("cr8el00rgafuidxf7dkqmprk9"); // tmptriseg = seg[segnum].next;
+UNSUPPORTED("7m5vjpo3bvkkv7dehsu8lk1i0"); // if ((tmptriseg > 0) && is_left_of(tmptriseg, seg, &s.v0))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("vgbcetfcktd1hjnqclhp7w01"); // /* L-R downward cusp */
+UNSUPPORTED("5ippcybc2d61q6we5qdy4i2qa"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("ejo4cyfym8ojporxegfwpinht"); // tr[tn].d0 = tr[tn].d1 = -1;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("eldt3ci812qmne3db4ojeuhz7"); // /* R-L downward cusp */
+UNSUPPORTED("8g2jcubbcwsaaenx674f63kth"); // tr[tr[tn].d0].u1 = tn;
+UNSUPPORTED("3c4euuu782207qdjnwrjswbyy"); // tr[t].d0 = tr[t].d1 = -1;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("cad2a1rc10cprtvojmol6lcxf"); // if ((tr[tr[t].d0].u0 > 0) && (tr[tr[t].d0].u1 > 0))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("6ilx5r7u9y1m64f57y23qxlii"); // if (tr[tr[t].d0].u0 == t) /* passes thru LHS */
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("5my98yb1h8davodq05wl96zgu"); // tr[tr[t].d0].usave = tr[tr[t].d0].u1;
+UNSUPPORTED("5lykreqcj4w4ugg2fshp1085g"); // tr[tr[t].d0].uside = 1;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("12hbppj0gv84xkilzofj6ohze"); // else
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("azh2ilm9el27ve1j7t3o8lo3k"); // tr[tr[t].d0].usave = tr[tr[t].d0].u0;
+UNSUPPORTED("2wjhisme7ontii2rgbvel3qza"); // tr[tr[t].d0].uside = 2;
+UNSUPPORTED("ctzn5o8xqkywd73gcu6ofjsb7"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("dy31y8zhzxmyas9wde5g3vvlh"); // tr[tr[t].d0].u1 = tn;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("er72bs1z1fiixf6x2m2ck5218"); // t = tr[t].d0;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("3vmznfuejkuwxfecdhhksjlqn"); // else if ((tr[t].d0 <= 0) && (tr[t].d1 > 0))
+UNSUPPORTED("9cj5nz12eopffdahw5emn4c08"); // { /* Only one trapezoid below */
+UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0))
+UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */
+UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1)
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1;
+UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1;
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0;
+UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t;
+UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("6291oktyj53xp9yslzj405wgb"); // tr[t].u1 = tr[tn].u1 = -1;
+UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else
+UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */
+UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0;
+UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1;
+UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) &&
+UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0))
+UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */
+UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) &&
+UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1))
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1;
+UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("e77o5ieo3c02dom0f04cj7inv"); // else
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) &&
+UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot)
+UNSUPPORTED("2pqges4a601rkdgoh9ay4fwkc"); // { /* bottom forms a triangle */
+UNSUPPORTED("3xb6452d73nnzbrvxea9r7avd"); // /* int tmpseg; */
+UNSUPPORTED("74q36498zx96m389wznj126jh"); // if (is_swapped)
+UNSUPPORTED("c6l0dqua1wi4sm2nno83tqjpu"); // tmptriseg = seg[segnum].prev;
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("cr8el00rgafuidxf7dkqmprk9"); // tmptriseg = seg[segnum].next;
+UNSUPPORTED("c1pnfnnei4xmduu3ik7cdc40k"); // /* if ((tmpseg > 0) && is_left_of(tmpseg, seg, &s.v0)) */
+UNSUPPORTED("7m5vjpo3bvkkv7dehsu8lk1i0"); // if ((tmptriseg > 0) && is_left_of(tmptriseg, seg, &s.v0))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("7its0v1anhryibc6kbl7e3rih"); // /* L-R downward cusp */
+UNSUPPORTED("8vwe6jjx4f0cxtyk1cjsred13"); // tr[tr[t].d1].u0 = t;
+UNSUPPORTED("ejo4cyfym8ojporxegfwpinht"); // tr[tn].d0 = tr[tn].d1 = -1;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("2j9f9vrzjshiti7k2l10sx84u"); // /* R-L downward cusp */
+UNSUPPORTED("e1gz5epvwn4p0q5i8fveabsz8"); // tr[tr[tn].d1].u1 = tn;
+UNSUPPORTED("3c4euuu782207qdjnwrjswbyy"); // tr[t].d0 = tr[t].d1 = -1;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("1qf8h2an6bk6wlk3fyq6i22ad"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("dp2662k6f23gqdw8zett9yvym"); // if ((tr[tr[t].d1].u0 > 0) && (tr[tr[t].d1].u1 > 0))
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("77i22g6l292mg0okyxnajy9gb"); // if (tr[tr[t].d1].u0 == t) /* passes thru LHS */
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("42sveu7omg4ras47bkv0d1q9l"); // tr[tr[t].d1].usave = tr[tr[t].d1].u1;
+UNSUPPORTED("3u8ltfhvqrsqd7ghc6mp90sk9"); // tr[tr[t].d1].uside = 1;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("12hbppj0gv84xkilzofj6ohze"); // else
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("4pcz02ip4pmu4wcvx249zt3hg"); // tr[tr[t].d1].usave = tr[tr[t].d1].u0;
+UNSUPPORTED("16fb5zagcitmzonkbzu89irjk"); // tr[tr[t].d1].uside = 2;
+UNSUPPORTED("ctzn5o8xqkywd73gcu6ofjsb7"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6s5143onio335hfkk9om9l2a9"); // tr[tr[t].d1].u0 = t;
+UNSUPPORTED("6y4fvgf18azjngp3ph603viqk"); // tr[tr[t].d1].u1 = tn;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("5ltskdvhhim7914v7bcvcdu1y"); // t = tr[t].d1;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("d8ibg8ps7psb492dez8t19wv3"); // /* two trapezoids below. Find out which one is intersected by */
+UNSUPPORTED("cpnw42brz1nujz70qenh15r33"); // /* this segment and proceed down that one */
+UNSUPPORTED("e2koj2xocq76awegpydpyu62m"); // else
+UNSUPPORTED("98gvqspn5y1bfyr14rwoaqk67"); // {
+UNSUPPORTED("aeo0l7hd0tz385ecxm03tsqb1"); // /* int tmpseg = tr[tr[t].d0].rseg; */
+UNSUPPORTED("21dtwfwxm34d3el5rfez2ddio"); // double y0, yt;
+UNSUPPORTED("ds4ikd3wmue9s0ynmtxz1aw74"); // pointf tmppt;
+UNSUPPORTED("ah7kj1y9wo89l5ql0wxxjuqlt"); // int tnext, i_d0, i_d1;
+UNSUPPORTED("9l5ekv5nqwnh36g4gcr1x82aj"); // i_d0 = i_d1 = (0);
+UNSUPPORTED("4z75kl9vosft7cj42ce1arxdo"); // if ((fabs(tr[t].lo.y - s.v0.y) <= 1.0e-7))
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("c8cramjmaogq40iauxa5mwm71"); // if (tr[t].lo.x > s.v0.x)
+UNSUPPORTED("18rqvljf5nebs454zlt2irs1i"); // i_d0 = (!(0));
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("v34oktxyq713ipav88bmcfn6"); // i_d1 = (!(0));
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("cm85lvkbze3joxoa0qgvj5d42"); // else
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("db0whoy6j8f6uwqf5v4ilkh4v"); // tmppt.y = y0 = tr[t].lo.y;
+UNSUPPORTED("e5hekltsjclzspvdy92oh7kbu"); // yt = (y0 - s.v0.y)/(s.v1.y - s.v0.y);
+UNSUPPORTED("f30z7uxjf30rbkx5rdbcrwsm4"); // tmppt.x = s.v0.x + yt * (s.v1.x - s.v0.x);
+UNSUPPORTED("b4znl042gb9xqbe7w3hs5cz0y"); // if (_less_than(&tmppt, &tr[t].lo))
+UNSUPPORTED("18rqvljf5nebs454zlt2irs1i"); // i_d0 = (!(0));
+UNSUPPORTED("3aqvmk5i0k4ue9zqfwhex7t14"); // else
+UNSUPPORTED("v34oktxyq713ipav88bmcfn6"); // i_d1 = (!(0));
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("9hbp7chg2crbrb1u4rnba7190"); // /* check continuity from the top so that the lower-neighbour */
+UNSUPPORTED("81ywl919vnapbffcabfhs0ntz"); // /* values are properly filled for the upper trapezoid */
+UNSUPPORTED("6a1dcxf2rsr9zq5pxrpuecig1"); // if ((tr[t].u0 > 0) && (tr[t].u1 > 0))
+UNSUPPORTED("4vladne5kzv3xueclq0sxcjho"); // { /* continuation of a chain from abv. */
+UNSUPPORTED("bwewd7qprc37qhwxz3ko1y4uq"); // if (tr[t].usave > 0) /* three upper neighbours */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("esaqksoargwy10mkyzhmv2p9v"); // if (tr[t].uside == 1)
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("lgzjorwqs1rmmyj7q8jzt16e"); // tr[t].u1 = -1;
+UNSUPPORTED("6wku8ik0lpiqemv9dmew6dodf"); // tr[tn].u1 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("30jz3yn7hygbk25oykenqo2tp"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("ehcdy9xx8x9l0nz0oybez912h"); // tr[tr[tn].u1].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6cf2pwwuzbumwpxili1otryjb"); // else /* intersects in the right */
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("1zxekgfse665xkba3vu2wy0c0"); // tr[tn].u1 = -1;
+UNSUPPORTED("82gucb8vt172fhq2ug560dgje"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("dedip96pnjatmrxwr3szb2ltb"); // tr[t].u1 = tr[t].u0;
+UNSUPPORTED("be5obz58np1ogzt1m8welxd6c"); // tr[t].u0 = tr[t].usave;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("2d4udv8v764lhooiia78atj4b"); // tr[tr[t].u1].d0 = t;
+UNSUPPORTED("72euqk1bum10xtl1bm12ug86r"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("d52osx7vrtw97wm9ut9vfa5wj"); // tr[t].usave = tr[tn].usave = 0;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("91694gf7sahoxvmiw82owvef2"); // else /* No usave.... simple case */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("e2zdzb3rlpq6pieuayb44oijq"); // tr[tn].u0 = tr[t].u1;
+UNSUPPORTED("ddpnvdcma38disf8tyw74xp3g"); // tr[tn].u1 = -1;
+UNSUPPORTED("dqxje9ppj2ffgivrfpyid7ffd"); // tr[t].u1 = -1;
+UNSUPPORTED("ay4xwmue8kz8uzp2wgge6752p"); // tr[tr[tn].u0].d0 = tn;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("embybz3p65nxf0rx8b52bb0cj"); // else
+UNSUPPORTED("2auoskyvfrf0wu8ekti5fs1n4"); // { /* fresh seg. or upward cusp */
+UNSUPPORTED("2hrv5rm87wox9rp79f6wpn619"); // int tmp_u = tr[t].u0;
+UNSUPPORTED("8zaj2aem34dupb1plqsm8uwk5"); // int td0, td1;
+UNSUPPORTED("6f3f5nfgz2txzlmdcntsu2yyx"); // if (((td0 = tr[tmp_u].d0) > 0) &&
+UNSUPPORTED("7ed0ylnawdzj4xmtq0ih0wt7o"); // ((td1 = tr[tmp_u].d1) > 0))
+UNSUPPORTED("8dh5ldf8m83e9ngo1yqfbo7m1"); // { /* upward cusp */
+UNSUPPORTED("62v7ooft04km5zqvbpql7o5ps"); // if ((tr[td0].rseg > 0) &&
+UNSUPPORTED("4hx3tu7xyeswnab7x0q6yoefl"); // !is_left_of(tr[td0].rseg, seg, &s.v1))
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("201vn0jou9fcf0n2tjih472mz"); // tr[t].u0 = tr[t].u1 = tr[tn].u1 = -1;
+UNSUPPORTED("rg3tngg7tj2qgf4erhpbcau8"); // tr[tr[tn].u0].d1 = tn;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("e77o5ieo3c02dom0f04cj7inv"); // else
+UNSUPPORTED("4tol1smeoe31nndhs3aq3vdlq"); // {
+UNSUPPORTED("e9ql35kajykty3zsmtldh0wzb"); // tr[tn].u0 = tr[tn].u1 = tr[t].u1 = -1;
+UNSUPPORTED("1h87mqh0ff7hg3ogzwu8daiai"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("dkxvw03k2gg9anv4dbze06axd"); // }
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("dayzocp22vmevtvo1awep6h63"); // else /* fresh segment */
+UNSUPPORTED("3lflizih274xjqgv1g0wjdgeq"); // {
+UNSUPPORTED("1i8cfmzh5xxisiuekr63cd7hs"); // tr[tr[t].u0].d0 = t;
+UNSUPPORTED("694mejpoguhaimtc4oglzp817"); // tr[tr[t].u0].d1 = tn;
+UNSUPPORTED("6eq5kf0bj692bokt0bixy1ixh"); // }
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("e0kb482en9la96mrxyisdyquw"); // if ((fabs(tr[t].lo.y - tr[tlast].lo.y) <= 1.0e-7) &&
+UNSUPPORTED("8d08n1tz1fajvu4tkkmyvqto3"); // (fabs(tr[t].lo.x - tr[tlast].lo.x) <= 1.0e-7) && tribot)
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("4i449ebwuk75bwvj3njk3c62q"); // /* this case arises only at the lowest trapezoid.. i.e.
+UNSUPPORTED("chl5iuvrjyna1uuc1kjo3qe67"); // tlast, if the lower endpoint of the segment is
+UNSUPPORTED("9x1ytb8hzdseof3w011rw1vo6"); // already inserted in the structure */
+UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("m24vo48yuozp20pg0jewoocj"); // tr[tr[t].d0].u1 = -1;
+UNSUPPORTED("bqsxgabpkfrz4qsvsfyt54x4d"); // tr[tr[t].d1].u0 = tn;
+UNSUPPORTED("5pcabowqh0osy2bara83fy53g"); // tr[tr[t].d1].u1 = -1;
+UNSUPPORTED("9akd96bko966x16jg4ghdofjt"); // tr[tn].d0 = tr[t].d1;
+UNSUPPORTED("ez9y4mtzds5q3em5b2h4m0dj"); // tr[t].d1 = tr[tn].d1 = -1;
+UNSUPPORTED("7zlu4fl3iisiyyfhc8efkikq2"); // tnext = tr[t].d1;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("7ekeyr3kxnx2g4xkar2e97ujg"); // else if (i_d0)
+UNSUPPORTED("df98v04w3tfu8ysuydsf7y85a"); // /* intersecting d0 */
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("dy31y8zhzxmyas9wde5g3vvlh"); // tr[tr[t].d0].u1 = tn;
+UNSUPPORTED("bqsxgabpkfrz4qsvsfyt54x4d"); // tr[tr[t].d1].u0 = tn;
+UNSUPPORTED("5pcabowqh0osy2bara83fy53g"); // tr[tr[t].d1].u1 = -1;
+UNSUPPORTED("f4j0by9ay0t0diwmyfz091taa"); // /* new code to determine the bottom neighbours of the */
+UNSUPPORTED("62pe8dmdbu3mmvgi9x43iqe6b"); // /* newly partitioned trapezoid */
+UNSUPPORTED("6qcsr9br9c9peep8mzd4eldpu"); // tr[t].d1 = -1;
+UNSUPPORTED("7n0btjlxfoym1gc1tkc5zrbdg"); // tnext = tr[t].d0;
+UNSUPPORTED("6t98dcecgbvbvtpycwiq2ynnj"); // }
+UNSUPPORTED("et6v36d4wyvf6eg7htev3s7m9"); // else /* intersecting d1 */
+UNSUPPORTED("6dbei3uox5ql5a1vaaguh0xzp"); // {
+UNSUPPORTED("3vlkssstu9yp43651wjntawrq"); // tr[tr[t].d0].u0 = t;
+UNSUPPORTED("m24vo48yuozp20pg0jewoocj"); // tr[tr[t].d0].u1 = -1;
+UNSUPPORTED("6s5143onio335hfkk9om9l2a9"); // tr[tr[t].d1].u0 = t;
+UNSUPPORTED("6y4fvgf18azjngp3ph603viqk"); // tr[tr[t].d1].u1 = tn;
+UNSUPPORTED("f4j0by9ay0t0diwmyfz091taa"); // /* new code to determine the bottom neighbours of the */
+UNSUPPORTED("62pe8dmdbu3mmvgi9x43iqe6b"); // /* newly partitioned trapezoid */
+UNSUPPORTED("9akd96bko966x16jg4ghdofjt"); // tr[tn].d0 = tr[t].d1;
+UNSUPPORTED("41y3k6fjtt5tbdx3goo3bnr1i"); // tr[tn].d1 = -1;
+UNSUPPORTED("da00twqjxr6q0clcep0wcdlql"); // tnext = tr[t].d1;
+UNSUPPORTED("1dgkp19ct6hczd1425v8q1dct"); // }
+UNSUPPORTED("6fwmq6tx1y4cibphzm0f4wakm"); // t = tnext;
+UNSUPPORTED("flupwh3kosf3fkhkxllllt1"); // }
+UNSUPPORTED("e44ec6lx2mkb3zz7hmhjx90rq"); // tr[t_sav].rseg = tr[tn_sav].lseg = segnum;
+UNSUPPORTED("65mlofu9i9895kq8xkb6x103e"); // } /* end-while */
+UNSUPPORTED("8rkpqhwjgyuqdygp3b2o580ff"); // /* Now combine those trapezoids which share common segments. We can */
+UNSUPPORTED("cklqh43b0korps6nmg2eefd70"); // /* use the pointers to the parent to connect these together. This */
+UNSUPPORTED("nzam565p5xaq9ashe9ekcjks"); // /* works only because all these new trapezoids have been formed */
+UNSUPPORTED("81u7z601i80he54qa00v17ami"); // /* due to splitting by the segment, and hence have only one parent */
+UNSUPPORTED("cn4qmoxsrclu3q3mbcc9ff7fw"); // tfirstl = tfirst;
+UNSUPPORTED("duhakllu2zu2zvohf6zxwdnqc"); // tlastl = tlast;
+UNSUPPORTED("36mff9r0jqhoc1chz9zqbk3x1"); // merge_trapezoids(segnum, tfirstl, tlastl, 1, tr, qs);
+UNSUPPORTED("aldx6ji29f73y5modmaxg9zs9"); // merge_trapezoids(segnum, tfirstr, tlastr, 2, tr, qs);
+UNSUPPORTED("5e3z4o423d4ob6d3adzxdeipj"); // seg[segnum].is_inserted = (!(0));
+UNSUPPORTED("bid671dovx1rdiquw5vm3fttj"); // return 0;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 7afsay7ejf6pnu6atsg7glt53
+// static void find_new_roots(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+public static Object find_new_roots(Object... arg) {
+UNSUPPORTED("e2z2o5ybnr5tgpkt8ty7hwan1"); // static void
+UNSUPPORTED("hytfu5b4w9vy61qxrhvzemj3"); // find_new_roots(int segnum, segment_t* seg, trap_t* tr, qnode_t* qs)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("55wy1clqaecn10s0jetfvt04s"); // segment_t *s = &seg[segnum];
+UNSUPPORTED("13js9c1rj1roq5meh748h5zjy"); // if (s->is_inserted) return;
+UNSUPPORTED("3v99ch3hok3ae2fl5leqyzkd7"); // s->root0 = locate_endpoint(&s->v0, &s->v1, s->root0, seg, qs);
+UNSUPPORTED("7xdyqtj001z8eqv93gzye5r0k"); // s->root0 = tr[s->root0].sink;
+UNSUPPORTED("azljsp4ofo8uf3sqfwo50lv7y"); // s->root1 = locate_endpoint(&s->v1, &s->v0, s->root1, seg, qs);
+UNSUPPORTED("4cgieg4q0okhq82lczulvj2ok"); // s->root1 = tr[s->root1].sink;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 1ftshkxhp22o0xgh3kuc3sile
+// static int math_logstar_n(int n)
+public static Object math_logstar_n(Object... arg) {
+UNSUPPORTED("3a94rmq48cptlea8l9svm2vdf"); // static int math_logstar_n(int n)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i;
+UNSUPPORTED("6om7utuy6ofppg87j05edy4cy"); // double v;
+UNSUPPORTED("2r6ldqvvcn5lqu4qdj5pias2v"); // for (i = 0, v = (double) n; v >= 1; i++)
+UNSUPPORTED("1d99ficfyx27epymfs7pc5c4"); // v = (log(v)/log(2));
+UNSUPPORTED("17678qqlxjn7yfcjfzl0pk4ao"); // return (i - 1);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 20alp7vy21dvsx8ums8pezh3o
+// static int math_N(int n, int h)
+public static Object math_N(Object... arg) {
+UNSUPPORTED("dd4ge3rbi53dw0wh8a3si1jh7"); // static int math_N(int n, int h)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("9cyat6ft4tmgpumn70l9fwydy"); // register int i;
+UNSUPPORTED("6om7utuy6ofppg87j05edy4cy"); // double v;
+UNSUPPORTED("ujffxxrs7gz2vawl37d9jslq"); // for (i = 0, v = (int) n; i < h; i++)
+UNSUPPORTED("1d99ficfyx27epymfs7pc5c4"); // v = (log(v)/log(2));
+UNSUPPORTED("enxjvr50hyamoic6g6lwxie70"); // return (int) ceil((double) 1.0*n/v);
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+
+
+//3 9jpwujop3smqitn3gmtcrcixm
+// int construct_trapezoids(int nseg, segment_t* seg, int* permute, int ntraps, trap_t* tr)
+public static Object construct_trapezoids(Object... arg) {
+UNSUPPORTED("etrjsq5w49uo9jq5pzifohkqw"); // int
+UNSUPPORTED("cywexw0hiyl2gthuawhdixmym"); // construct_trapezoids(int nseg, segment_t* seg, int* permute, int ntraps,
+UNSUPPORTED("benaopemb2t6pehss4gcdybzb"); // trap_t* tr)
+UNSUPPORTED("erg9i1970wdri39osu8hx2a6e"); // {
+UNSUPPORTED("b17di9c7wgtqm51bvsyxz6e2f"); // int i;
+UNSUPPORTED("c4yv5wsz9md0n246eno8qs5et"); // int root, h;
+UNSUPPORTED("1c0phmc3iq7tb3sotrpcjoup9"); // int segi = 1;
+UNSUPPORTED("7jamhwzh4w6lx0bpq57thdtpt"); // qnode_t* qs;
+UNSUPPORTED("1yqtu5d20wep1ymxy1y0nv1g0"); // QSIZE = 2*ntraps;
+UNSUPPORTED("3mcur34pgw6444857byhvmgs5"); // TRSIZE = ntraps;
+UNSUPPORTED("alj695bdzyptc3wnccsnyuano"); // qs = (qnode_t*)zmalloc((2*ntraps)*sizeof(qnode_t));
+UNSUPPORTED("eroaf3tk5y6euf62it6cxn758"); // q_idx = tr_idx = 1;
+UNSUPPORTED("873fgjnxtke0s60r4k3bn0se8"); // memset((void *)tr, 0, ntraps*sizeof(trap_t));
+UNSUPPORTED("dznan6lx9lxucsy4yr6edbkas"); // /* Add the first segment and get the query structure and trapezoid */
+UNSUPPORTED("acrntweri3uun3ahwdudmq1bc"); // /* list initialised */
+UNSUPPORTED("57gkh96bcrh9z87hoeeqq9nw4"); // root = init_query_structure(permute[segi++], seg, tr, qs);
+UNSUPPORTED("56oij2ngkqcxgpihju021plmr"); // for (i = 1; i <= nseg; i++)
+UNSUPPORTED("137jp8s4g6ip477ywoxna6hr4"); // seg[i].root0 = seg[i].root1 = root;
+UNSUPPORTED("56osqlqd8y3slj5zr13d4grc7"); // for (h = 1; h <= math_logstar_n(nseg); h++) {
+UNSUPPORTED("tmjwiqe8s4q112nev98zolt7"); // for (i = math_N(nseg, h -1) + 1; i <= math_N(nseg, h); i++)
+UNSUPPORTED("bk608pqmg2xw7fpucgxkgwhmo"); // add_segment(permute[segi++], seg, tr, qs);
+UNSUPPORTED("9lu6zl26144vbdgsqc1mc6wwz"); // /* Find a new root for each of the segment endpoints */
+UNSUPPORTED("d1y51tnl70njrosh5iimn6xmx"); // for (i = 1; i <= nseg; i++)
+UNSUPPORTED("cfk5n685oegsos34urlk5307z"); // find_new_roots(i, seg, tr, qs);
+UNSUPPORTED("dvgyxsnyeqqnyzq696k3vskib"); // }
+UNSUPPORTED("4sfugdwxcf71d498tnurlvs5"); // for (i = math_N(nseg, math_logstar_n(nseg)) + 1; i <= nseg; i++)
+UNSUPPORTED("eqduqz9al6zdpuhe8fsvnn2en"); // add_segment(permute[segi++], seg, tr, qs);
+UNSUPPORTED("5olrlwcgauazrftmytyls44zs"); // free (qs);
+UNSUPPORTED("awblwd52926w1zhpsot3aqld9"); // return tr_idx;
+UNSUPPORTED("c24nfmv9i7o5eoqaymbibp7m7"); // }
+
+throw new UnsupportedOperationException();
+}
+
+
+}