function $AdfStampedDragSource$$($allowedActions$$12$$, $defaultAction$$7$$, $modelName$$) {
  arguments.length && this.Init($allowedActions$$12$$, $defaultAction$$7$$, $modelName$$);
}
$goog$exportSymbol$$("AdfStampedDragSource", $AdfStampedDragSource$$);
$goog$exportSymbol$$("AdfStampedDragSource", $AdfStampedDragSource$$);
$AdfObject$$.$createSubclass$($AdfStampedDragSource$$, $AdfDragSource$$);
$AdfStampedDragSource$$.prototype.Init = function $$AdfStampedDragSource$$$$Init$($allowedActions$$13$$, $defaultAction$$8$$, $modelName$$1$$) {
  $AdfStampedDragSource$$.$superclass$.Init.call(this, $allowedActions$$13$$, $defaultAction$$8$$);
  this.$_modelName$ = $modelName$$1$$;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.Init", {Init:$AdfStampedDragSource$$.prototype.Init});
$AdfStampedDragSource$$.prototype.$getModelName$ = function $$AdfStampedDragSource$$$$$getModelName$$() {
  return this.$_modelName$;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.getModelName", {$getModelName$:$AdfStampedDragSource$$.prototype.$getModelName$});
$AdfStampedDragSource$$.prototype.$isAvailable$ = function $$AdfStampedDragSource$$$$$isAvailable$$($dndContext$$44$$, $inputEvent$$34$$) {
  $AdfAssert$$.$assertPrototype$($dndContext$$44$$, $AdfDnDContext$$);
  $AdfAssert$$.$assertPrototype$($inputEvent$$34$$, $AdfUIInputEvent$$);
  $AdfAssert$$.$DEBUG$ && $AdfDnDContext$$.$assertUserAction$($dndContext$$44$$.$getUserAction$());
  return this.$AreDraggedRowKeysAvailable$($inputEvent$$34$$) ? !0 : null != $AdfStampedDragSource$$.$superclass$.$GetDragTransferable$.call(this, $inputEvent$$34$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.isAvailable", {$isAvailable$:$AdfStampedDragSource$$.prototype.$isAvailable$});
$AdfStampedDragSource$$.prototype.$getRowKeyDataFlavor$ = function $$AdfStampedDragSource$$$$$getRowKeyDataFlavor$$() {
  if (this.$getComponent$()) {
    var $modelName$$2$$ = this.$_modelName$;
    if ($modelName$$2$$) {
      return $AdfDataFlavor$$.$getRowKeyDataFlavor$($modelName$$2$$);
    }
  }
  return null;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.getRowKeyDataFlavor", {$getRowKeyDataFlavor$:$AdfStampedDragSource$$.prototype.$getRowKeyDataFlavor$});
$AdfStampedDragSource$$.prototype.$GetDragTransferable$ = function $$AdfStampedDragSource$$$$$GetDragTransferable$$($inputEvent$$35_rowKeys$$) {
  var $peerTransferable$$3_rowKeyDataFlavor$$ = $AdfStampedDragSource$$.$superclass$.$GetDragTransferable$.call(this, $inputEvent$$35_rowKeys$$);
  this.$getComponent$();
  var $modelName$$3$$ = this.$_modelName$;
  if ($modelName$$3$$ && $modelName$$3$$.length && ($inputEvent$$35_rowKeys$$ = $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$35_rowKeys$$), $AdfAssert$$.$assertArrayOrNull$($inputEvent$$35_rowKeys$$), $inputEvent$$35_rowKeys$$)) {
    var $transferFlavors$$1$$ = [], $transferObjects$$1$$ = [];
    if (null != $peerTransferable$$3_rowKeyDataFlavor$$) {
      for (var $peerFlavors$$1$$ = $peerTransferable$$3_rowKeyDataFlavor$$.$getTransferDataFlavors$(), $flavorCount$$2$$ = $peerFlavors$$1$$.length, $i$$156$$ = 0;$i$$156$$ < $flavorCount$$2$$;$i$$156$$++) {
        var $currFlavor$$3$$ = $peerFlavors$$1$$[$i$$156$$];
        $transferFlavors$$1$$.push($currFlavor$$3$$);
        $transferObjects$$1$$.push($peerTransferable$$3_rowKeyDataFlavor$$.$getTransferData$($currFlavor$$3$$));
      }
    }
    $peerTransferable$$3_rowKeyDataFlavor$$ = $AdfDataFlavor$$.$getRowKeyDataFlavor$($modelName$$3$$);
    $transferObjects$$1$$.push($inputEvent$$35_rowKeys$$);
    $transferFlavors$$1$$.push($peerTransferable$$3_rowKeyDataFlavor$$);
    return new $AdfObjectTransferable$$($transferObjects$$1$$, $transferFlavors$$1$$);
  }
  return $peerTransferable$$3_rowKeyDataFlavor$$;
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDragTransferable", {$GetDragTransferable$:$AdfStampedDragSource$$.prototype.$GetDragTransferable$});
$AdfStampedDragSource$$.prototype.$GetDragOffset$ = function $$AdfStampedDragSource$$$$$GetDragOffset$$($inputEvent$$36$$) {
  var $rowKeys$$1$$ = $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$36$$);
  return $rowKeys$$1$$ ? this.$GetDragOffsetForRowKeys$($inputEvent$$36$$, $rowKeys$$1$$) : {x:$inputEvent$$36$$.$getOffsetX$(), y:$inputEvent$$36$$.$getOffsetY$()};
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDragOffset", {$GetDragOffset$:$AdfStampedDragSource$$.prototype.$GetDragOffset$});
$AdfStampedDragSource$$.prototype.$GetDragOffsetForRowKeys$ = function $$AdfStampedDragSource$$$$$GetDragOffsetForRowKeys$$($inputEvent$$37$$, $rowKeys$$2$$) {
  $AdfAssert$$.$assertArray$($rowKeys$$2$$);
  return this.$getComponent$().$getPeer$().$getDragOffsetForRowKeys$($inputEvent$$37$$, $rowKeys$$2$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDragOffsetForRowKeys", {$GetDragOffsetForRowKeys$:$AdfStampedDragSource$$.prototype.$GetDragOffsetForRowKeys$});
$AdfStampedDragSource$$.prototype.$GetDragOverFeedback$ = function $$AdfStampedDragSource$$$$$GetDragOverFeedback$$($inputEvent$$38$$) {
  $AdfAssert$$.$assertPrototype$($inputEvent$$38$$, $AdfUIInputEvent$$);
  var $rowKeys$$3$$ = $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$38$$);
  return $rowKeys$$3$$ ? this.$GetDragOverFeedbackForRowKeys$($rowKeys$$3$$) : $AdfStampedDragSource$$.$superclass$.$GetDragOverFeedback$.call(this, $inputEvent$$38$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDragOverFeedback", {$GetDragOverFeedback$:$AdfStampedDragSource$$.prototype.$GetDragOverFeedback$});
$AdfStampedDragSource$$.prototype.$applyDragReadyState$ = function $$AdfStampedDragSource$$$$$applyDragReadyState$$($inputEvent$$39$$) {
  $AdfAssert$$.$assertPrototype$($inputEvent$$39$$, $AdfUIInputEvent$$);
  var $rowKeys$$4$$ = $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$39$$);
  return $rowKeys$$4$$ ? this.$ApplyDragReadyStateForRowKeys$($inputEvent$$39$$, $rowKeys$$4$$) : $AdfStampedDragSource$$.$superclass$.$applyDragReadyState$.call(this, $inputEvent$$39$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.applyDragReadyState", {$applyDragReadyState$:$AdfStampedDragSource$$.prototype.$applyDragReadyState$});
$AdfStampedDragSource$$.prototype.$ApplyDragReadyStateForRowKeys$ = function $$AdfStampedDragSource$$$$$ApplyDragReadyStateForRowKeys$$($inputEvent$$40$$, $rowKeys$$5$$) {
  $AdfAssert$$.$assertArray$($rowKeys$$5$$);
  var $c$$5$$ = this.$getComponent$(), $peer$$54$$ = $c$$5$$.$getPeer$();
  return $peer$$54$$.$applyDragReadyStateForRowKeys$ ? $peer$$54$$.$applyDragReadyStateForRowKeys$($c$$5$$, $inputEvent$$40$$, $rowKeys$$5$$) : $AdfStampedDragSource$$.$superclass$.$applyDragReadyState$.call(this, $inputEvent$$40$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.ApplyDragReadyStateForRowKeys", {$ApplyDragReadyStateForRowKeys$:$AdfStampedDragSource$$.prototype.$ApplyDragReadyStateForRowKeys$});
$AdfStampedDragSource$$.prototype.$applyDragSourceState$ = function $$AdfStampedDragSource$$$$$applyDragSourceState$$($inputEvent$$41$$) {
  $AdfAssert$$.$assertPrototype$($inputEvent$$41$$, $AdfDomUIInputEvent$$);
  var $rowKeys$$6$$ = $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$41$$);
  return $rowKeys$$6$$ ? this.$ApplyDragSourceStateForRowKeys$($inputEvent$$41$$, $rowKeys$$6$$) : $AdfStampedDragSource$$.$superclass$.$applyDragSourceState$.call(this, $inputEvent$$41$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.applyDragSourceState", {$applyDragSourceState$:$AdfStampedDragSource$$.prototype.$applyDragSourceState$});
$AdfStampedDragSource$$.prototype.$ApplyDragSourceStateForRowKeys$ = function $$AdfStampedDragSource$$$$$ApplyDragSourceStateForRowKeys$$($inputEvent$$42$$, $rowKeys$$7$$) {
  $AdfAssert$$.$assertArray$($rowKeys$$7$$);
  var $c$$6$$ = this.$getComponent$(), $peer$$55$$ = $c$$6$$.$getPeer$();
  return $peer$$55$$.$applyDragSourceStateForRowKeys$ ? $peer$$55$$.$applyDragSourceStateForRowKeys$($c$$6$$, $inputEvent$$42$$, $rowKeys$$7$$) : $AdfStampedDragSource$$.$superclass$.$applyDragSourceState$.call(this, $inputEvent$$42$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.ApplyDragSourceStateForRowKeys", {$ApplyDragSourceStateForRowKeys$:$AdfStampedDragSource$$.prototype.$ApplyDragSourceStateForRowKeys$});
$AdfStampedDragSource$$.prototype.$GetDragOverFeedbackForRowKeys$ = function $$AdfStampedDragSource$$$$$GetDragOverFeedbackForRowKeys$$($rowKeys$$8$$) {
  $AdfAssert$$.$assertArray$($rowKeys$$8$$);
  return this.$getComponent$().$getPeer$().$getDragNodeForRowKeys$($rowKeys$$8$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDragOverFeedbackForRowKeys", {$GetDragOverFeedbackForRowKeys$:$AdfStampedDragSource$$.prototype.$GetDragOverFeedbackForRowKeys$});
$AdfStampedDragSource$$.prototype.$GetDraggedRowKeys$ = function $$AdfStampedDragSource$$$$$GetDraggedRowKeys$$($mouseRowKey$$) {
  $AdfAssert$$.assert($mouseRowKey$$);
  return [$mouseRowKey$$];
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.GetDraggedRowKeys", {$GetDraggedRowKeys$:$AdfStampedDragSource$$.prototype.$GetDraggedRowKeys$});
$AdfStampedDragSource$$.prototype.$AreDraggedRowKeysAvailable$ = function $$AdfStampedDragSource$$$$$AreDraggedRowKeysAvailable$$($inputEvent$$43$$) {
  return null != $JSCompiler_StaticMethods__getRowKeys$$(this, $inputEvent$$43$$);
};
$AdfObject$$.$exportPrototypeSymbol$("AdfStampedDragSource.prototype.AreDraggedRowKeysAvailable", {$AreDraggedRowKeysAvailable$:$AdfStampedDragSource$$.prototype.$AreDraggedRowKeysAvailable$});
function $JSCompiler_StaticMethods__getRowKeys$$($JSCompiler_StaticMethods__getRowKeys$self$$, $inputEvent$$44$$) {
  var $mouseRowKey$$1$$ = $JSCompiler_StaticMethods__getRowKeys$self$$.$getComponent$().$getPeer$().$getRowKeyForEvent$($inputEvent$$44$$);
  return $mouseRowKey$$1$$ ? $JSCompiler_StaticMethods__getRowKeys$self$$.$GetDraggedRowKeys$($mouseRowKey$$1$$) : null;
}
;