local H=require(script.Parent:WaitForChild("\066\097\115\101\067\104\097\114\097\099\116\101\114\067\111\110\116\114\111\108\108\101\114"))local J=setmetatable({},H)J.__index=J function J.new()local V=setmetatable(H.new(),J)V.humanoid=nil V.tools={}V.toolEquipped=nil V.moveTouchObject=nil V.moveTouchLockedIn=false V.moveTouchFirstChanged=false V.moveTouchStartPosition=nil V.startImage=nil V.endImage=nil V.middleImages={}V.startImageFadeTween=nil V.endImageFadeTween=nil V.middleImageFadeTweens={}V.isFirstTouch=true V.thumbstickFrame=nil V.onRenderSteppedConn=nil V.fadeInAndOutBalance=FADE_IN_OUT_BALANCE_DEFAULT V.fadeInAndOutHalfDuration=FADE_IN_OUT_HALF_DURATION_DEFAULT V.hasFadedBackgroundInPortrait=false V.hasFadedBackgroundInLandscape=false V.tweenInAlphaStart=nil V.tweenOutAlphaStart=nil V.shouldRevertAutoJumpOnDisable=false return V end
--
local BaseCharacterController = require(script.Parent:WaitForChild("BaseCharacterController"))
local DynamicThumbstick = setmetatable({}, BaseCharacterController)
DynamicThumbstick.__index = DynamicThumbstick

function DynamicThumbstick.new()
	local self = setmetatable(BaseCharacterController.new(), DynamicThumbstick)

	self.humanoid = nil -- Remove on FFlagUserDTDoesNotTrackTools

	self.tools = {} -- Remove on FFlagUserDTDoesNotTrackTools
	self.toolEquipped = nil -- Remove on FFlagUserDTDoesNotTrackTools

	self.moveTouchObject = nil
	self.moveTouchLockedIn = false
	self.moveTouchFirstChanged = false
	self.moveTouchStartPosition = nil

	self.startImage = nil
	self.endImage = nil
	self.middleImages = {}

	self.startImageFadeTween = nil
	self.endImageFadeTween = nil
	self.middleImageFadeTweens = {}

	self.isFirstTouch = true

	self.thumbstickFrame = nil

	self.onRenderSteppedConn = nil

	self.fadeInAndOutBalance = FADE_IN_OUT_BALANCE_DEFAULT
	self.fadeInAndOutHalfDuration = FADE_IN_OUT_HALF_DURATION_DEFAULT
	self.hasFadedBackgroundInPortrait = false
	self.hasFadedBackgroundInLandscape = false

	self.tweenInAlphaStart = nil
	self.tweenOutAlphaStart = nil

	-- If this module changes a player's humanoid's AutoJumpEnabled, it saves
	-- the previous state in this variable to revert to
	self.shouldRevertAutoJumpOnDisable = false -- Remove on FFlagUserDTDoesNotForceAutoJump

	return self
end
