<commit_before>
<svg version="1.1" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" height="540" onload="init(evt)" onmousemove="drag(evt)" onmouseup="deselect()">
        <style>
		text {
		  font-size: 20px;
		  cursor: default;
		  font-family: Tahoma, Geneva, sans-serif;
		}
        .control_point{
            fill: #FFF;
            opacity: 0;
            stroke: #888;
            stroke-width: 2;
            cursor: pointer;
        }
		.unselected-fish {
			 fill:white;
			 stroke:#01b29F;
			 stroke-width:3;
		}
		.hot-fish {
			fill:rgb(200,60,50);
		}
		.cold-fish {
			fill:rgb(28,105,180);
		}
		.good-fish {
			fill:green;
		}
		.moveable{
			cursor: move;	
		}
		.locked {
			cursor: default;	
		}
        .control_point:hover{
            opacity: 0.5;
        }
        .invisible{
            pointer-events: none;
        }
    </style>
    <script type="text/ecmascript"><![CDATA[
        var svgDoc;
        var selectedPoint = 0;
        var dx = 0;
        var dy = 0;
        
        var example_shape;
        var coords = [0, 0, 400, 300, 400, 200, 400, 100];
		var locked = [0, 0, 220, 220, 220, 50, 220, 420];
    	function lockPosition(evt, point){			
			evt.target.removeAttribute('onmousedown');
			evt.target.removeAttribute('onmouseup');
			var x = locked[point*2];
			var y = locked[point*2+1];
			var xo = coords[point*2];
			var yo = coords[point*2+1];
			if (Math.abs(yo-y) < 50){
				document.getElementById(point).setAttribute('class','good-fish');
			} else {
				if (yo < y){
					 document.getElementById(point).setAttribute('class','hot-fish');
				 } else {
					 document.getElementById(point).setAttribute('class','cold-fish');
				 }
			}
			sweepMove(evt.target.parentNode, x, y, xo, yo);
			evt.target.parentNode.setAttribute('class','locked');
		}
        function init(evt) {
            if ( window.svgDocument == null ) {
                svgDoc = evt.target.ownerDocument;
            }  
            example_shape = svgDoc.getElementById('example_shape');
			text_var = svgDoc.getElementById('temperature-text');
        };
        
        function selectElement(evt, point){
            selectedPoint = point;
            control_point = evt.target.parentNode;
            dx = coords[selectedPoint*2] - evt.clientX;
            dy = coords[selectedPoint*2 + 1] - evt.clientY;
			text_var.firstChild.data = "Temperature: " + mutateTemperature(evt.clientY) + " °F";
        };
        
        function drag(evt){
            if (selectedPoint === 0) { return; }
            var x = evt.clientX + dx;
            var y = evt.clientY + dy;
			if (y > 450){
				y = 450;
			}
			if (y < 0){
				y = 0;
			}
			if (x > 700){
				x = 700;
			}
            coords[selectedPoint*2] = x;
            coords[selectedPoint*2 + 1] = y;
			text_var.firstChild.data = "Temperature: " + mutateTemperature(y) + " °F";
            
            control_point.setAttributeNS(null, "transform", "translate(" + x + "," + y + ")");
        };
		
		function mutateTemperature(y){
			var temp = 80-(y/10);
			return(temp)
		}
        
		function sweepMove(evt, x, y, xo, yo){
			var i = 0;
			var numSteps = 20;
		    var sweepCount = setInterval(function () {   
		    	if (i < numSteps){
				var xnew = (x*(i+1)+xo*(numSteps-1-i))/numSteps;
				var ynew = (y*(i+1)+yo*(numSteps-1-i))/numSteps;
				evt.setAttributeNS(null, "transform", "translate(" + xnew + "," + ynew + ")");
				i++
				} else {
                   clearInterval(sweepCount);
				}}, 20);}
		
        function deselect(){
            selectedPoint = 0;
			//text_var.firstChild.data = " ";
        }
    
    ]]> </script>	
  	<g transform="translate(15,520)">
  		<text id='temperature-text'> </text>
  	</g>
	
	<g id="thermometer">
		<path d="M50 50 v350 a50,50 0 1,0 60,0 v-350 a30,30 0 1,0 -60,0" fill="url(#temperature)" stroke="black"/>
	</g>
	
    <g transform="translate(400,100)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#lake-trout" id='3' class='unselected-fish'/>
		<text dy='0.33em' text-anchor='middle'>Lake Trout</text>
		<use xlink:href="#lake-trout" opacity='0' onmousedown="selectElement(evt, 3)"  onmouseup="lockPosition(evt,3)"/>
    </g>
	
    <g transform="translate(400,300)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#walleye" class='unselected-fish' id='1'/>
		<text dy='0.33em' text-anchor='middle'>Walleye</text>
		<use xlink:href="#walleye" opacity='0' onmousedown="selectElement(evt, 1)"  onmouseup="lockPosition(evt,1)"/>
    </g>
	
    <g transform="translate(400,200)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#largemouth-bass" class='unselected-fish' id='2'/>
		<text dy='0.33em' text-anchor='middle'>LM Bass</text>
		<use xlink:href="#largemouth-bass" opacity='0' onmousedown="selectElement(evt, 2)"  onmouseup="lockPosition(evt,2)"/>
    </g>
	<defs>
	    <linearGradient id="temperature" x1="0%" y1="0%" x2="0%" y2="100%">
	      <stop offset="0%" style="stop-color:rgb(200,60,50);stop-opacity:1" /><commit_msg>some minor touch ups<commit_after>
<svg version="1.1" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="800" height="540" onload="init(evt)" onmousemove="drag(evt)" onmouseup="deselect()">
        <style>
		text {
		  font-size: 20px;
		  cursor: default;
		  font-family: Tahoma, Geneva, sans-serif;
		}
		.noselect {
		  -webkit-touch-callout: none; /* iOS Safari */
		  -webkit-user-select: none;   /* Chrome/Safari/Opera */
		  -khtml-user-select: none;    /* Konqueror */
		  -moz-user-select: none;      /* Firefox */
		  -ms-user-select: none;       /* Internet Explorer/Edge */
		  user-select: none;           /* Non-prefixed version, currently
		                                  not supported by any browser */
		}
        .control_point{
            fill: #FFF;
            opacity: 0;
            stroke: #888;
            stroke-width: 2;
            cursor: pointer;
        }
		.unselected-fish {
			 fill:white;
			 stroke:#01b29F;
			 stroke-width:3;
		}
		.hot-fish {
			fill:rgb(200,60,50);
		}
		.cold-fish {
			fill:rgb(28,105,180);
		}
		.good-fish {
			fill:green;
		}
		.moveable{
			cursor: move;	
		}
		.locked {
			cursor: default;	
		}
    </style>
    <script type="text/ecmascript"><![CDATA[
        var svgDoc;
        var selectedPoint = 0;
        var dx = 0;
        var dy = 0;
        
        var example_shape;
        var coords = [0, 0, 400, 300, 400, 200, 400, 100];
		var locked = [0, 0, 220, 220, 220, 50, 220, 420];
    	function lockPosition(evt, point){			
			evt.target.removeAttribute('onmousedown');
			evt.target.removeAttribute('onmouseup');
			var x = locked[point*2];
			var y = locked[point*2+1];
			var xo = coords[point*2];
			var yo = coords[point*2+1];
			if (Math.abs(yo-y) < 50){
				document.getElementById(point).setAttribute('class','good-fish');
			} else {
				if (yo < y){
					 document.getElementById(point).setAttribute('class','hot-fish');
				 } else {
					 document.getElementById(point).setAttribute('class','cold-fish');
				 }
			}
			sweepMove(evt.target.parentNode, x, y, xo, yo);
			evt.target.parentNode.setAttribute('class','locked');
		}
        function init(evt) {
            if ( window.svgDocument == null ) {
                svgDoc = evt.target.ownerDocument;
            }  
            example_shape = svgDoc.getElementById('example_shape');
			text_var = svgDoc.getElementById('temperature-text');
        };
        
        function selectElement(evt, point){
            selectedPoint = point;
            control_point = evt.target.parentNode;
            dx = coords[selectedPoint*2] - evt.clientX;
            dy = coords[selectedPoint*2 + 1] - evt.clientY;
			text_var.firstChild.data = "Temperature: " + mutateTemperature(evt.clientY) + " °F";
        };
        
        function drag(evt){
            if (selectedPoint === 0) { return; }
            var x = evt.clientX + dx;
            var y = evt.clientY + dy;
			// keep the fish in-bounds:
			if (y > 450){
				y = 450;
			} else if (y < 0){
				y = 0;
			} else if (x > 700){
				x = 700;
			}
            coords[selectedPoint*2] = x;
            coords[selectedPoint*2 + 1] = y;
			text_var.firstChild.data = "Temperature: " + mutateTemperature(y) + " °F";
            
            control_point.setAttributeNS(null, "transform", "translate(" + x + "," + y + ")");
        };
		
		function mutateTemperature(y){
			var temp = 80-(y/10);
			return(temp)
		}
        
		function sweepMove(evt, x, y, xo, yo){
			var i = 0;
			var numSteps = 20;
		    var sweepCount = setInterval(function () {   
		    	if (i < numSteps){
				var xnew = (x*(i+1)+xo*(numSteps-1-i))/numSteps;
				var ynew = (y*(i+1)+yo*(numSteps-1-i))/numSteps;
				evt.setAttributeNS(null, "transform", "translate(" + xnew + "," + ynew + ")");
				i++
				} else {
                   clearInterval(sweepCount);
				}}, 20);}
		
        function deselect(){
            selectedPoint = 0;
			//text_var.firstChild.data = " ";
        }
    
    ]]> </script>	
  	<g transform="translate(15,520)">
  		<text id='temperature-text' class='noselect'> </text>
  	</g>
	
	<g id="thermometer">
		<path d="M50 50 v350 a50,50 0 1,0 60,0 v-350 a30,30 0 1,0 -60,0" fill="url(#temperature)" stroke="black" stroke-width="3"/>
	</g>
	
    <g transform="translate(400,100)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#lake-trout" id='3' class='unselected-fish'/>
		<text dy='0.33em' text-anchor='middle' class='noselect'>Lake Trout</text>
		<use xlink:href="#lake-trout" opacity='0' onmousedown="selectElement(evt, 3)"  onmouseup="lockPosition(evt,3)"/>
    </g>
	
    <g transform="translate(400,300)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#walleye" class='unselected-fish' id='1'/>
		<text dy='0.33em' text-anchor='middle' class='noselect'>Walleye</text>
		<use xlink:href="#walleye" opacity='0' onmousedown="selectElement(evt, 1)"  onmouseup="lockPosition(evt,1)"/>
    </g>
	
    <g transform="translate(400,200)" class='moveable'>
        <circle class="control_point" cx="0" cy="0" r="10"/>
		<use xlink:href="#largemouth-bass" class='unselected-fish' id='2'/>
		<text dy='0.33em' text-anchor='middle' class='noselect'>LM Bass</text>
		<use xlink:href="#largemouth-bass" opacity='0' onmousedown="selectElement(evt, 2)"  onmouseup="lockPosition(evt,2)"/>
    </g>
	<defs>
	    <linearGradient id="temperature" x1="0%" y1="0%" x2="0%" y2="100%">
	      <stop offset="0%" style="stop-color:rgb(200,60,50);stop-opacity:1"/>
{'fraction_non_alphanumeric': 0.17773058812667344, 'fraction_numerical': 0.044594220293601695, 'mean_word_length': 2.554972103708566, 'pattern_counts': {'":': 0, '<': 85, '<?xml version=': 0, '>': 81, 'https://': 0, 'lorem ipsum': 0, 'www.': 6, 'xml': 6}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4977544', 'n_tokens_mistral': 4517, 'n_tokens_neox': 3836, 'n_words': 722}