!function(e){"object"==typeof module&&"object"==typeof module.exports?e(require,exports):"function"==typeof define&&define.amd&&define(["require","exports","../../Validation","./tools","esri/geometry/geometryEngineAsync"],e)}(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=e("../../Validation"),i=e("./tools"),n=e("esri/geometry/geometryEngineAsync"),e=(o.prototype.executeWith=function(e,t,o){switch(e){case"contains":return n.contains(t,o);case"crosses":return n.crosses(t,o);case"disjoint":return n.disjoint(t,o);case"equals":return n.equals(t,o);case"intersects":return n.intersects(t,o);case"overlaps":return n.overlaps(t,o);case"touches":return n.touches(t,o);case"within":return n.within(t,o)}},o.prototype.execute=function(e){var t=r.validation.exists("geometry1",e.geometry1),o=r.validation.exists("geometry2",e.geometry2),e=r.validation.string("operation",e.operation),o=this.executeWith(e,t,o);return i.inline(o,function(e){return{result:e}})},o.action="gcx:wf:arcgis::CompareGeometries",o.suite="gcx:wf:builtin",o);function o(){}t.CompareGeometries=e});