;(function () {
	const icon =
		'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAF0WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDUgNzkuMTYzNDk5LCAyMDE4LzA4LzEzLTE2OjQwOjIyICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxOSAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDI0LTAxLTE4VDE3OjE4OjM0KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDI0LTAxLTE4VDE3OjE4OjM0KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyNC0wMS0xOFQxNzoxODozNCswODowMCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0OWQ4NGRkOS03NGI4LTNhNGQtOWI5OC0zYWEzZjI0OTUzMGEiIHhtcE1NOkRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2ZjY5ZTJjNy1mMWFlLTJmNDctYjNj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'

	// 定义返回顶部插件函数
	function scrollToTop() {
		var config = {
			scrollOffset: 10, // 滚动多少像素后显示返回顶部按钮
			speed: 500, // 回滚到顶部的速度（毫秒）
			showEasing: 'linear', // 显示动画的缓动效果
			hideEasing: 'linear', // 隐藏动画的缓动效果
			buttonClass: 'scroll-to-top-btn', // 返回顶部按钮的class名
		}

		// 创建返回顶部按钮元素
		var btn = document.createElement('button')
		btn.className = config.buttonClass
		btn.innerHTML = `<div style="position:fixed; bottom:20px;right:0;width:100px;height:100px;cursor:pointer;"><div><img src="${icon}"></div></div>`
		document.body.appendChild(btn)

		// 当滚动超过设定距离时显示按钮
		function toggleButtonVisibility() {

			if (
				(window.document.body.scrollTop || document.documentElement.scrollTop) >
				config.scrollOffset
			) {
				btn.style.display = 'block'
			} else {
				btn.style.display = 'none'
			}
		}

		// 添加滚动监听
		window.addEventListener('scroll', function () {
			toggleButtonVisibility()
		})

		// 点击按钮时平滑滚动到顶部
		btn.addEventListener('click', function (event) {
			event.preventDefault()
			window.scrollTo({
				top: 0,
				behavior: 'smooth',
			})
		})

		// 初始状态检查
		toggleButtonVisibility()
	}

	// 将插件公开给全局作用域
	window.scrollToTop = scrollToTop
})()

// 使用插件
scrollToTop()
