import { asciiAlphanumeric } from "../micromark-util-character/index.js";
function normalizeUri(t) {
	let n = [], r = -1, i = 0, a = 0;
	for (; ++r < t.length;) {
		let o = t.charCodeAt(r), s = "";
		if (o === 37 && asciiAlphanumeric(t.charCodeAt(r + 1)) && asciiAlphanumeric(t.charCodeAt(r + 2))) a = 2;
		else if (o < 128) /[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(o)) || (s = String.fromCharCode(o));
		else if (o > 55295 && o < 57344) {
			let e = t.charCodeAt(r + 1);
			o < 56320 && e > 56319 && e < 57344 ? (s = String.fromCharCode(o, e), a = 1) : s = "�";
		} else s = String.fromCharCode(o);
		s &&= (n.push(t.slice(i, r), encodeURIComponent(s)), i = r + a + 1, ""), a &&= (r += a, 0);
	}
	return n.join("") + t.slice(i);
}
export { normalizeUri };
