[
https://issues.apache.org/jira/browse/LUCENE-7225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15243531#comment-15243531
]
Karl Wright commented on LUCENE-7225:
-------------------------------------
This is an amazingly complicated shape.
The key bits of information are:
{code}
[junit4] > Throwable #1: java.lang.AssertionError: FAIL: id=1232 should
have matched but did not
[junit4] > shape=GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=0.005231432499595553,
lon=-3.0862340266543162([X=-0.9995714720941167, Y=-0.055391499631979646,
Z=0.005237261336869486])], [lat=0.0029182819023867443,
lon=-0.032138879303176764([X=1.0005975774174058, Y=-0.03216916145782471,
Z=0.002921542803075024])], [lat=0.10113281091802886,
lon=-1.2157899200552644([X=0.3461953375936234, Y=-0.933864957976355,
Z=0.10106999250964968])]], internalEdges={2},
holes=[GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.8591243228198664,
lon=-2.2274391102539495([X=-0.3983697483077307, Y=-0.5168669331944037,
Z=-0.7566574583787644])], [lat=-0.37718071417481963,
lon=-1.2386052834250234([X=0.3033919367506424, Y=-0.8794611216390052,
Z=-0.36854448262580203])], [lat=-1.3946814240874228,
lon=2.0177109501216832([X=-0.0755597288202241, Y=0.15766067566422126,
Z=-0.9824296675127969])], [lat=-0.24808464825566548,
lon=2.411264315804974([X=-0.7228093657055927, Y=0.6472822916612959,
Z=-0.24577250087124944])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.02080695195262,
lon=-2.922262692777017([X=-0.5094811213911561, Y=-0.11357148442577071,
Z=-0.8514012629710328])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={2}, holes=[]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1, 2}, holes=[]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.6646219091337651,
lon=0.46591907373918007([X=0.7031330741541721, Y=0.3535652379842781,
Z=-0.616661676265519])], [lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.312796395413519,
lon=2.9190058051077536([X=-0.24834988656996387, Y=0.05621081924960125,
Z=-0.964948866362671])], [lat=-0.6900148217936716,
lon=-0.1613499244602278([X=0.7610325184341872, Y=-0.1238693394246404,
Z=-0.6363924790266242])], [lat=-0.1177895742261974,
lon=1.5755048321041856([X=-0.004680875751735904, Y=0.9941246430674897,
Z=-0.11764339693506065])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.5046910299572311,
lon=1.6405569879770554([X=-0.004594218194037653, Y=0.06574999481541563,
Z=-0.9955975613860795])], [lat=-1.390359982577477,
lon=-2.8056478114636425([X=-0.16906606495154705, Y=-0.059034625448534064,
Z=-0.9816699283665345])], [lat=-0.5157131166693403,
lon=1.9693453199633526([X=-0.3377091674420673, Y=0.8019997410019131,
Z=-0.49330300163867574])]], internalEdges={}, holes=[]}]}]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=0.06025223088438945,
lon=0.06089455074119268([X=0.997437813048173, Y=0.060813714824258396,
Z=0.06028241768529984])], [lat=0.01853544023917254,
lon=-0.17425422696735537([X=0.9857875149880889, Y=-0.17353767090167418,
Z=0.01855509469495709])], [lat=0.024531783493328727,
lon=1.2101274791421073([X=0.3531879518318299, Y=0.9364241207750743,
Z=0.024556717936517092])]], internalEdges={2},
holes=[GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.8591243228198664,
lon=-2.2274391102539495([X=-0.3983697483077307, Y=-0.5168669331944037,
Z=-0.7566574583787644])], [lat=-0.37718071417481963,
lon=-1.2386052834250234([X=0.3033919367506424, Y=-0.8794611216390052,
Z=-0.36854448262580203])], [lat=-1.3946814240874228,
lon=2.0177109501216832([X=-0.0755597288202241, Y=0.15766067566422126,
Z=-0.9824296675127969])], [lat=-0.24808464825566548,
lon=2.411264315804974([X=-0.7228093657055927, Y=0.6472822916612959,
Z=-0.24577250087124944])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.02080695195262,
lon=-2.922262692777017([X=-0.5094811213911561, Y=-0.11357148442577071,
Z=-0.8514012629710328])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={2}, holes=[]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1, 2}, holes=[]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.6646219091337651,
lon=0.46591907373918007([X=0.7031330741541721, Y=0.3535652379842781,
Z=-0.616661676265519])], [lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.312796395413519,
lon=2.9190058051077536([X=-0.24834988656996387, Y=0.05621081924960125,
Z=-0.964948866362671])], [lat=-0.6900148217936716,
lon=-0.1613499244602278([X=0.7610325184341872, Y=-0.1238693394246404,
Z=-0.6363924790266242])], [lat=-0.1177895742261974,
lon=1.5755048321041856([X=-0.004680875751735904, Y=0.9941246430674897,
Z=-0.11764339693506065])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.5046910299572311,
lon=1.6405569879770554([X=-0.004594218194037653, Y=0.06574999481541563,
Z=-0.9955975613860795])], [lat=-1.390359982577477,
lon=-2.8056478114636425([X=-0.16906606495154705, Y=-0.059034625448534064,
Z=-0.9816699283665345])], [lat=-0.5157131166693403,
lon=1.9693453199633526([X=-0.3377091674420673, Y=0.8019997410019131,
Z=-0.49330300163867574])]], internalEdges={}, holes=[]}]}]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=0.2981769806905103,
lon=-1.1957064327131945([X=0.3504801074909927, Y=-0.890152514704055,
Z=0.29402131728537856])], [lat=0.06025223088438945,
lon=0.06089455074119268([X=0.997437813048173, Y=0.060813714824258396,
Z=0.06028241768529984])], [lat=0.024531783493328727,
lon=1.2101274791421073([X=0.3531879518318299, Y=0.9364241207750743,
Z=0.024556717936517092])], [lat=0.005231432499595553,
lon=-3.0862340266543162([X=-0.9995714720941167, Y=-0.055391499631979646,
Z=0.005237261336869486])]], internalEdges={1, 3},
holes=[GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.8591243228198664,
lon=-2.2274391102539495([X=-0.3983697483077307, Y=-0.5168669331944037,
Z=-0.7566574583787644])], [lat=-0.37718071417481963,
lon=-1.2386052834250234([X=0.3033919367506424, Y=-0.8794611216390052,
Z=-0.36854448262580203])], [lat=-1.3946814240874228,
lon=2.0177109501216832([X=-0.0755597288202241, Y=0.15766067566422126,
Z=-0.9824296675127969])], [lat=-0.24808464825566548,
lon=2.411264315804974([X=-0.7228093657055927, Y=0.6472822916612959,
Z=-0.24577250087124944])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.02080695195262,
lon=-2.922262692777017([X=-0.5094811213911561, Y=-0.11357148442577071,
Z=-0.8514012629710328])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={2}, holes=[]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1, 2}, holes=[]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.6646219091337651,
lon=0.46591907373918007([X=0.7031330741541721, Y=0.3535652379842781,
Z=-0.616661676265519])], [lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.312796395413519,
lon=2.9190058051077536([X=-0.24834988656996387, Y=0.05621081924960125,
Z=-0.964948866362671])], [lat=-0.6900148217936716,
lon=-0.1613499244602278([X=0.7610325184341872, Y=-0.1238693394246404,
Z=-0.6363924790266242])], [lat=-0.1177895742261974,
lon=1.5755048321041856([X=-0.004680875751735904, Y=0.9941246430674897,
Z=-0.11764339693506065])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.5046910299572311,
lon=1.6405569879770554([X=-0.004594218194037653, Y=0.06574999481541563,
Z=-0.9955975613860795])], [lat=-1.390359982577477,
lon=-2.8056478114636425([X=-0.16906606495154705, Y=-0.059034625448534064,
Z=-0.9816699283665345])], [lat=-0.5157131166693403,
lon=1.9693453199633526([X=-0.3377091674420673, Y=0.8019997410019131,
Z=-0.49330300163867574])]], internalEdges={}, holes=[]}]}]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=0.2981769806905103,
lon=-1.1957064327131945([X=0.3504801074909927, Y=-0.890152514704055,
Z=0.29402131728537856])], [lat=0.005231432499595553,
lon=-3.0862340266543162([X=-0.9995714720941167, Y=-0.055391499631979646,
Z=0.005237261336869486])], [lat=0.10113281091802886,
lon=-1.2157899200552644([X=0.3461953375936234, Y=-0.933864957976355,
Z=0.10106999250964968])]], internalEdges={0, 1, 2},
holes=[GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.8591243228198664,
lon=-2.2274391102539495([X=-0.3983697483077307, Y=-0.5168669331944037,
Z=-0.7566574583787644])], [lat=-0.37718071417481963,
lon=-1.2386052834250234([X=0.3033919367506424, Y=-0.8794611216390052,
Z=-0.36854448262580203])], [lat=-1.3946814240874228,
lon=2.0177109501216832([X=-0.0755597288202241, Y=0.15766067566422126,
Z=-0.9824296675127969])], [lat=-0.24808464825566548,
lon=2.411264315804974([X=-0.7228093657055927, Y=0.6472822916612959,
Z=-0.24577250087124944])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.02080695195262,
lon=-2.922262692777017([X=-0.5094811213911561, Y=-0.11357148442577071,
Z=-0.8514012629710328])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={2}, holes=[]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1, 2}, holes=[]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.6646219091337651,
lon=0.46591907373918007([X=0.7031330741541721, Y=0.3535652379842781,
Z=-0.616661676265519])], [lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.312796395413519,
lon=2.9190058051077536([X=-0.24834988656996387, Y=0.05621081924960125,
Z=-0.964948866362671])], [lat=-0.6900148217936716,
lon=-0.1613499244602278([X=0.7610325184341872, Y=-0.1238693394246404,
Z=-0.6363924790266242])], [lat=-0.1177895742261974,
lon=1.5755048321041856([X=-0.004680875751735904, Y=0.9941246430674897,
Z=-0.11764339693506065])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.5046910299572311,
lon=1.6405569879770554([X=-0.004594218194037653, Y=0.06574999481541563,
Z=-0.9955975613860795])], [lat=-1.390359982577477,
lon=-2.8056478114636425([X=-0.16906606495154705, Y=-0.059034625448534064,
Z=-0.9816699283665345])], [lat=-0.5157131166693403,
lon=1.9693453199633526([X=-0.3377091674420673, Y=0.8019997410019131,
Z=-0.49330300163867574])]], internalEdges={}, holes=[]}]}]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=0.2981769806905103,
lon=-1.1957064327131945([X=0.3504801074909927, Y=-0.890152514704055,
Z=0.29402131728537856])], [lat=0.10113281091802886,
lon=-1.2157899200552644([X=0.3461953375936234, Y=-0.933864957976355,
Z=0.10106999250964968])], [lat=0.08379414165238538,
lon=-1.9166576536646662([X=-0.3381876450576418, Y=-0.9385096537289869,
Z=0.08378778249082772])]], internalEdges={0},
holes=[GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.8591243228198664,
lon=-2.2274391102539495([X=-0.3983697483077307, Y=-0.5168669331944037,
Z=-0.7566574583787644])], [lat=-0.37718071417481963,
lon=-1.2386052834250234([X=0.3033919367506424, Y=-0.8794611216390052,
Z=-0.36854448262580203])], [lat=-1.3946814240874228,
lon=2.0177109501216832([X=-0.0755597288202241, Y=0.15766067566422126,
Z=-0.9824296675127969])], [lat=-0.24808464825566548,
lon=2.411264315804974([X=-0.7228093657055927, Y=0.6472822916612959,
Z=-0.24577250087124944])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.02080695195262,
lon=-2.922262692777017([X=-0.5094811213911561, Y=-0.11357148442577071,
Z=-0.8514012629710328])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={2}, holes=[]}, GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.053385992118747,
lon=-1.7101529930598205([X=-0.0686097147113416, Y=-0.48914056632171965,
Z=-0.8678692323655887])], [lat=-1.1675900763693992,
lon=-2.4503073540671765([X=-0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1, 2}, holes=[]}, GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-0.6646219091337651,
lon=0.46591907373918007([X=0.7031330741541721, Y=0.3535652379842781,
Z=-0.616661676265519])], [lat=-1.0276628117149074,
lon=3.0613257338537685([X=-0.5144645085437867, Y=0.04138339429075249,
Z=-0.8549424347461246])], [lat=-1.1675900763693992, lon=-2.4503073540671765([X=-
[junit4] > 0.30177124558992363, Y=-0.24971547051019677,
Z=-0.9182227219239103])]], internalEdges={1}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConcavePolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.312796395413519,
lon=2.9190058051077536([X=-0.24834988656996387, Y=0.05621081924960125,
Z=-0.964948866362671])], [lat=-0.6900148217936716,
lon=-0.1613499244602278([X=0.7610325184341872, Y=-0.1238693394246404,
Z=-0.6363924790266242])], [lat=-0.1177895742261974,
lon=1.5755048321041856([X=-0.004680875751735904, Y=0.9941246430674897,
Z=-0.11764339693506065])]], internalEdges={}, holes=[]}]},
GeoCompositeMembershipShape: {[GeoConvexPolygon:
{planetmodel=PlanetModel.WGS84, points=[[lat=-1.5046910299572311,
lon=1.6405569879770554([X=-0.004594218194037653, Y=0.06574999481541563,
Z=-0.9955975613860795])], [lat=-1.390359982577477,
lon=-2.8056478114636425([X=-0.16906606495154705, Y=-0.059034625448534064,
Z=-0.9816699283665345])], [lat=-0.5157131166693403,
lon=1.9693453199633526([X=-0.3377091674420673, Y=0.8019997410019131,
Z=-0.49330300163867574])]], internalEdges={}, holes=[]}]}]}]}
[junit4] > world bounds=( minX=-1.0011188539924791
maxX=1.0011188539924791 minY=-1.0011188539924791 maxY=1.0011188539924791
minZ=-0.9977622920221051 maxZ=0.9977622920221051
[junit4] > point=[X=-0.2148664437996684, Y=0.08975483909618988,
Z=-0.9703963441043814]
[junit4] > docID=1173 deleted?=false
{code}
> Geo3d test failure
> ------------------
>
> Key: LUCENE-7225
> URL: https://issues.apache.org/jira/browse/LUCENE-7225
> Project: Lucene - Core
> Issue Type: Bug
> Components: modules/spatial3d
> Affects Versions: master
> Reporter: Karl Wright
> Assignee: Karl Wright
>
> Here's how to reproduce:
> {code}
> ant test -Dtestcase=TestGeo3DPoint -Dtests.method=testRandomMedium
> -Dtests.seed=FC3AB2BE996B411E -Dtests.multiplier=3 -Dtests.slow=true
> -Dtests.locale=vi -Dtests.timezone=Europe/Kaliningrad -Dtests.asserts=true
> -Dtests.file.encoding=US-ASCII
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]