mirror of
				https://github.com/jiawanlong/Cesium-Examples.git
				synced 2025-11-04 09:14:17 +00:00 
			
		
		
		
	
		
			
	
	
		
			303 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			303 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								(function(){
							 | 
						|||
| 
								 | 
							
								    var PrintMap = {};
							 | 
						|||
| 
								 | 
							
								    var LAYER_COUNT = 0;
							 | 
						|||
| 
								 | 
							
								    var LAYER_LENGTH = 0;
							 | 
						|||
| 
								 | 
							
								    window.MapToImg = PrintMap;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    PrintMap.excute = function(map){
							 | 
						|||
| 
								 | 
							
								        var canvas = document.createElement("canvas");
							 | 
						|||
| 
								 | 
							
								        var broz = SuperMap.Browser.name;
							 | 
						|||
| 
								 | 
							
								        if(!canvas.getContext||(broz=='msie'&&!canvas.msToBlob)){
							 | 
						|||
| 
								 | 
							
								            alert("您的浏览器版本太低,请升级。");
							 | 
						|||
| 
								 | 
							
								            return;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(document.location.toString().match(/file:\/\//)){
							 | 
						|||
| 
								 | 
							
								            alert("该功能需要在服务器中发布出来后,方可使用");
							 | 
						|||
| 
								 | 
							
								            return;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        LAYER_COUNT = 0;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        var layers = map.layers.concat([]);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        //layers排序,将markers放到最上边
							 | 
						|||
| 
								 | 
							
								        var layers1 = [];
							 | 
						|||
| 
								 | 
							
								        for(var i=0;i<layers.length;){
							 | 
						|||
| 
								 | 
							
								            if(layers[i].CLASS_NAME == "SuperMap.Layer.Markers"){
							 | 
						|||
| 
								 | 
							
								                var templayer = layers.splice(i,1);
							 | 
						|||
| 
								 | 
							
								                layers1.push(templayer[0]);
							 | 
						|||
| 
								 | 
							
								            } else if(layers[i].CLASS_NAME == "SuperMap.Layer.GOAnimationLayer" ||
							 | 
						|||
| 
								 | 
							
								                layers[i].CLASS_NAME == "SuperMap.Layer.PlottingLayer.Temporary" ||
							 | 
						|||
| 
								 | 
							
								                (layers[i].CLASS_NAME == "SuperMap.Layer.PlottingLayer" && !layers[i].getVisibility()) ||
							 | 
						|||
| 
								 | 
							
								                layers[i].CLASS_NAME == "SuperMap.Layer.PlottingLayer.RootContainer"){
							 | 
						|||
| 
								 | 
							
								                //处理标绘图层的动画图层和图层不显示
							 | 
						|||
| 
								 | 
							
								                layers.splice(i,1);
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                i++;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        layers = layers.concat(layers1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        LAYER_LENGTH = layers.length;
							 | 
						|||
| 
								 | 
							
								        var imgUrls = [];
							 | 
						|||
| 
								 | 
							
								        for(var i=0;i<layers.length;i++){
							 | 
						|||
| 
								 | 
							
								            var layer = layers[i];
							 | 
						|||
| 
								 | 
							
								            if(layer.CLASS_NAME == "SuperMap.Layer.TiledDynamicRESTLayer"){
							 | 
						|||
| 
								 | 
							
								                if(layer.useCanvas==false){
							 | 
						|||
| 
								 | 
							
								                    draw(getImgLayerData(layer,map),i,imgUrls);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else{
							 | 
						|||
| 
								 | 
							
								                    draw(getCanvasLayerData(layer),i,imgUrls);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else if(layer.CLASS_NAME == "SuperMap.Layer.Markers"){
							 | 
						|||
| 
								 | 
							
								                draw(getImgLayerData(layer,map),i,imgUrls);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else if(layer.CLASS_NAME == "SuperMap.Layer.Vector"){
							 | 
						|||
| 
								 | 
							
								                getVectorLayerData(layer,map,function(imgUrls,i){
							 | 
						|||
| 
								 | 
							
								                    return function(img){
							 | 
						|||
| 
								 | 
							
								                        draw(img,i,imgUrls);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }(imgUrls,i))
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else if(layer.CLASS_NAME == "SuperMap.Layer.PlottingLayer"){
							 | 
						|||
| 
								 | 
							
								                getPlottingLayerData(layer,map,function(imgUrls,i){
							 | 
						|||
| 
								 | 
							
								                    return function(img){
							 | 
						|||
| 
								 | 
							
								                        draw(img,i,imgUrls);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }(imgUrls,i))
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    };
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    function draw(img,i,imgUrls){
							 | 
						|||
| 
								 | 
							
								        imgUrls[i] = img;
							 | 
						|||
| 
								 | 
							
								        LAYER_COUNT++;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        if(LAYER_COUNT>=LAYER_LENGTH){
							 | 
						|||
| 
								 | 
							
								            var canvas = document.createElement("canvas");
							 | 
						|||
| 
								 | 
							
								            var size = map.getSize();
							 | 
						|||
| 
								 | 
							
								            canvas.height = size.h;
							 | 
						|||
| 
								 | 
							
								            canvas.width = size.w;
							 | 
						|||
| 
								 | 
							
								            var ctx = canvas.getContext("2d");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            canvas.style.position = "relative";
							 | 
						|||
| 
								 | 
							
								            canvas.style.border = "1px solid #4c4c4c";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            //document.body.appendChild(canvas);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var panel = document.createElement("div");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            panel.style.position = "absolute";
							 | 
						|||
| 
								 | 
							
								            panel.style.left = "0px";
							 | 
						|||
| 
								 | 
							
								            panel.style.top = "0px";
							 | 
						|||
| 
								 | 
							
								            panel.style.height = "100%";
							 | 
						|||
| 
								 | 
							
								            panel.style.width = "100%";
							 | 
						|||
| 
								 | 
							
								            // panel.style.background = "#e6e8eb";
							 | 
						|||
| 
								 | 
							
								            panel.style.background = "#ffffff";
							 | 
						|||
| 
								 | 
							
								            document.body.appendChild(panel);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            var buttonPanel = document.createElement("div");
							 | 
						|||
| 
								 | 
							
								            buttonPanel.style.position = "relative";
							 | 
						|||
| 
								 | 
							
								            panel.appendChild(buttonPanel);
							 | 
						|||
| 
								 | 
							
								            panel.appendChild(canvas);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            window.setTimeout(function(){
							 | 
						|||
| 
								 | 
							
								                for(var i=0;i<imgUrls.length;i++){
							 | 
						|||
| 
								 | 
							
								                    ctx.drawImage(imgUrls[i],0,0);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if(canvas.msToBlob){
							 | 
						|||
| 
								 | 
							
								                    var button = document.createElement("input");
							 | 
						|||
| 
								 | 
							
								                    buttonPanel.appendChild(button);
							 | 
						|||
| 
								 | 
							
								                    button.type = "button";
							 | 
						|||
| 
								 | 
							
								                    button.value = "保存";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    button.onclick = function(){
							 | 
						|||
| 
								 | 
							
								                        window.navigator.msSaveBlob(canvas.msToBlob(), 'map.png');
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else{
							 | 
						|||
| 
								 | 
							
								                    var aa = document.createElement("a");
							 | 
						|||
| 
								 | 
							
								                    buttonPanel.appendChild(aa);
							 | 
						|||
| 
								 | 
							
								                    aa.target = "_blank";
							 | 
						|||
| 
								 | 
							
								                    aa.download="map.png";
							 | 
						|||
| 
								 | 
							
								                    aa.href=canvas.toDataURL();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    var button = document.createElement("input");
							 | 
						|||
| 
								 | 
							
								                    aa.appendChild(button);
							 | 
						|||
| 
								 | 
							
								                    button.type = "button";
							 | 
						|||
| 
								 | 
							
								                    button.value = "保存";
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var button = document.createElement("input");
							 | 
						|||
| 
								 | 
							
								                buttonPanel.appendChild(button);
							 | 
						|||
| 
								 | 
							
								                button.type = "button";
							 | 
						|||
| 
								 | 
							
								                button.value = "关闭";
							 | 
						|||
| 
								 | 
							
								                button.onclick = function(){
							 | 
						|||
| 
								 | 
							
								                    document.body.removeChild(panel);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            },30);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    //截取图片图层
							 | 
						|||
| 
								 | 
							
								    function getImgLayerData(layer,map){
							 | 
						|||
| 
								 | 
							
								        var div = layer.div;
							 | 
						|||
| 
								 | 
							
								        var pdiv = div.parentNode;
							 | 
						|||
| 
								 | 
							
								        var offsetX =  parseInt(pdiv.style.left.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								        var offsetY =  parseInt(pdiv.style.top.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        var canvas = document.createElement("canvas");
							 | 
						|||
| 
								 | 
							
								        var size = map.getSize();
							 | 
						|||
| 
								 | 
							
								        canvas.height = size.h;
							 | 
						|||
| 
								 | 
							
								        canvas.width = size.w;
							 | 
						|||
| 
								 | 
							
								        var ctx = canvas.getContext("2d");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        canvas.style.position = "absolute";
							 | 
						|||
| 
								 | 
							
								        canvas.style.left = "5px";
							 | 
						|||
| 
								 | 
							
								        canvas.style.top = "600px";
							 | 
						|||
| 
								 | 
							
								        canvas.style.border = "1px solid #f00";
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        //document.body.appendChild(canvas);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        var divs = div.getElementsByTagName("div");
							 | 
						|||
| 
								 | 
							
								        for(var i=0;i<divs.length;i++){
							 | 
						|||
| 
								 | 
							
								            var div1 = divs[i];
							 | 
						|||
| 
								 | 
							
								            if(div1.style.display!="none"){
							 | 
						|||
| 
								 | 
							
								                var left = parseInt(div1.style.left.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								                var top = parseInt(div1.style.top.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								                var img = div1.getElementsByTagName("img")[0];
							 | 
						|||
| 
								 | 
							
								                var imgWidth = img.style.width;
							 | 
						|||
| 
								 | 
							
								                var imgHeight = img.style.height;
							 | 
						|||
| 
								 | 
							
								                var imgW = null,imgH = null;
							 | 
						|||
| 
								 | 
							
								                if(imgWidth!=null||imgWidth!=""){
							 | 
						|||
| 
								 | 
							
								                    imgW = parseInt(imgWidth.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if(imgHeight!=null||imgHeight!=""){
							 | 
						|||
| 
								 | 
							
								                    imgH = parseInt(imgHeight.replace(/px/,""));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if(imgW!=null&&imgH!=null){
							 | 
						|||
| 
								 | 
							
								                    ctx.drawImage(img,left+offsetX,top+offsetY,imgW,imgH);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else{
							 | 
						|||
| 
								 | 
							
								                    ctx.drawImage(img,left+offsetX,top+offsetY);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        var imageUrl = canvas.toDataURL("image/png");
							 | 
						|||
| 
								 | 
							
								        var img = new Image();
							 | 
						|||
| 
								 | 
							
								        img.src = imageUrl;
							 | 
						|||
| 
								 | 
							
								        return img;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    //截取canvas图层
							 | 
						|||
| 
								 | 
							
								    function getCanvasLayerData(layer){
							 | 
						|||
| 
								 | 
							
								        var div = layer.div;
							 | 
						|||
| 
								 | 
							
								        var canvas0 = div.getElementsByTagName("canvas")[0];
							 | 
						|||
| 
								 | 
							
								        var imageUrl = canvas0.toDataURL("image/png");
							 | 
						|||
| 
								 | 
							
								        var img = new Image();
							 | 
						|||
| 
								 | 
							
								        img.src = imageUrl;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        return img;
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								    //截取Vector图层
							 | 
						|||
| 
								 | 
							
								    function getVectorLayerData(layer,map,callback){
							 | 
						|||
| 
								 | 
							
								        var printLayer,
							 | 
						|||
| 
								 | 
							
								            strategies = [],
							 | 
						|||
| 
								 | 
							
								            features1 = [],
							 | 
						|||
| 
								 | 
							
								            features = layer.features,
							 | 
						|||
| 
								 | 
							
								            layerStrategies = layer.strategies;
							 | 
						|||
| 
								 | 
							
								        //GeoText无法截图问题修复
							 | 
						|||
| 
								 | 
							
								        if(layerStrategies){
							 | 
						|||
| 
								 | 
							
								            for(var i = 0; i<layerStrategies.length; i++){
							 | 
						|||
| 
								 | 
							
								                if (layerStrategies[i].CLASS_NAME === "SuperMap.Strategy.GeoText"){
							 | 
						|||
| 
								 | 
							
								                    strategies.push(layerStrategies[i].clone());
							 | 
						|||
| 
								 | 
							
								                }else{
							 | 
						|||
| 
								 | 
							
								                    strategies.push(layerStrategies[i]);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            printLayer = new SuperMap.Layer.Vector("PRINT_LAYER", {strategies: strategies, visibility: true, renderers: ["Canvas"]});
							 | 
						|||
| 
								 | 
							
								        }else{
							 | 
						|||
| 
								 | 
							
								            printLayer = new SuperMap.Layer.Vector("PRINT_LAYER", {visibility: true, renderers: ["Canvas"]});
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        map.addLayer(printLayer);
							 | 
						|||
| 
								 | 
							
								        for(var j=0;j<features.length;j++){
							 | 
						|||
| 
								 | 
							
								            var feature = features[j];
							 | 
						|||
| 
								 | 
							
								            var feature1 = new SuperMap.Feature.Vector();
							 | 
						|||
| 
								 | 
							
								            feature1.geometry = feature.geometry.clone();
							 | 
						|||
| 
								 | 
							
								            feature1.style = feature.style;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            features1.push(feature1);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(layer.style){
							 | 
						|||
| 
								 | 
							
								            printLayer.style = layer.style;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        printLayer.setOpacity(0);
							 | 
						|||
| 
								 | 
							
								        printLayer.addFeatures(features1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        window.setTimeout(function(printLayer,map,callback){
							 | 
						|||
| 
								 | 
							
								            return function(){
							 | 
						|||
| 
								 | 
							
								                var div = printLayer.div;
							 | 
						|||
| 
								 | 
							
								                var canvas1 = div.getElementsByTagName("canvas")[0];
							 | 
						|||
| 
								 | 
							
								                var cxt1 = canvas1.getContext("2d");
							 | 
						|||
| 
								 | 
							
								                var imageUrl = canvas1.toDataURL("image/png");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                map.removeLayer(printLayer);
							 | 
						|||
| 
								 | 
							
								                printLayer.destroy();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var img = new Image();
							 | 
						|||
| 
								 | 
							
								                img.src = imageUrl;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                callback(img);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }(printLayer,map,callback),30);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    //截取Plotting图层
							 | 
						|||
| 
								 | 
							
								    function getPlottingLayerData(layer,map,callback){
							 | 
						|||
| 
								 | 
							
								        var printLayer,
							 | 
						|||
| 
								 | 
							
								            features1 = [],
							 | 
						|||
| 
								 | 
							
								            features = layer.features,
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        printLayer = new SuperMap.Layer.PlottingLayer("PRINT_LAYER", layer.serverUrl, {visibility: true, renderers: ["Canvas"]});
							 | 
						|||
| 
								 | 
							
								        //printLayer.spatialAnalystUrl = layer.spatialAnalystUrl;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        map.addLayer(printLayer);
							 | 
						|||
| 
								 | 
							
								        for(var j=0;j<features.length;j++){
							 | 
						|||
| 
								 | 
							
								            if(features[j].geometry instanceof SuperMap.Geometry.PlottingGeometry){
							 | 
						|||
| 
								 | 
							
								                var feature = features[j];
							 | 
						|||
| 
								 | 
							
								                var feature1 = SuperMap.Plot.PlottingUtil.copyFeature(feature);
							 | 
						|||
| 
								 | 
							
								                features1.push(feature1);
							 | 
						|||
| 
								 | 
							
								            } else {
							 | 
						|||
| 
								 | 
							
								                var feature1 = new SuperMap.Feature.Vector();
							 | 
						|||
| 
								 | 
							
								                feature1.geometry = features[j].geometry.clone();
							 | 
						|||
| 
								 | 
							
								                feature1.style = features[j].style;
							 | 
						|||
| 
								 | 
							
								                features1.push(feature1);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        if(layer.style){
							 | 
						|||
| 
								 | 
							
								            printLayer.style = layer.style;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        printLayer.setOpacity(0);
							 | 
						|||
| 
								 | 
							
								        printLayer.addFeatures(features1);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        window.setTimeout(function(printLayer,map,callback){
							 | 
						|||
| 
								 | 
							
								            return function(){
							 | 
						|||
| 
								 | 
							
								                var div = printLayer.div;
							 | 
						|||
| 
								 | 
							
								                var canvas1 = div.getElementsByTagName("canvas")[0];
							 | 
						|||
| 
								 | 
							
								                var cxt1 = canvas1.getContext("2d");
							 | 
						|||
| 
								 | 
							
								                var imageUrl = canvas1.toDataURL("image/png");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                map.removeLayer(printLayer);
							 | 
						|||
| 
								 | 
							
								                printLayer.destroy();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var img = new Image();
							 | 
						|||
| 
								 | 
							
								                img.src = imageUrl;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                callback(img);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }(printLayer,map,callback),30);
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								})();
							 |