| 
					 
							
													 
							
							
										  | ̤²ò·è | 
										  | ²ò·è | 
										  | Ää»ß | 
								  | ºï½üÍ×ÀÁ | 
							 
						 
						 
						
 
 | 
 | 
 
2011/5/24(Tue) 20:30:26|NO.39372 
buffer¾å¤Ë¤¢¤ë¥Õ¥ë¥«¥é¡¼¤Î²èÁü¤«¤é¡¢ 
ÆÃÄê¤Î1¿§¤ÎºÂɸ¤ò¹â®¤Ë¸¡º÷¤¹¤ë½èÍý¤òºî¤ê¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Þ¤¹¡£ 
¼èÆÀ¤·¤¿¤¤ºÂɸ¤Ï1ÅÀ¤Ç¡¢²èÁü¤ÎÃæ¤Ç³ºÅö¤¹¤ë¿§¤Îdot¤Î¤¦¤Á¡¢¡¢ºÇ¤âº¸¾å¤Î¥Ô¥¯¥»¥ë¤Ç¤¹¡£ 
 
²èÁü¤Î¥µ¥¤¥º¤Ï1920*1020¤Ç¤¹¡£ 
 
ưºî¤¹¤ë¥Ç¥â¥¹¥¯¥ê¥×¥È¤È¡¢´Êñ¤Ê¥¢¥ë¥´¥ê¥º¥à¤Î¥³¥á¥ó¥ÈÀâÌÀ¤¬¤¢¤ë¤ÈÂçÊѽõ¤«¤ê¤Þ¤¹¡£ 
 
¤è¤í¤·¤¯¤ª´ê¤¤¤¤¤¿¤·¤Þ¤¹¡£ 
 
 |   
  
 
 | 
 | 
 
2011/5/24(Tue) 21:05:43|NO.39374 
¤¨¤¨¤È¡¢pget¤è¤ê¤âVRAM¤òľÀÜpeek¤·¤¿Êý¤¬¤º¤Ã¤È®¤«¤Ã¤¿¡¢ 
¤È¤É¤³¤«¤Î¥Ö¥í¥°¤Ë½ñ¤¤¤Æ¤¢¤Ã¤¿µ¤¤¬¡Ä 
 
¼ÂºÝ¤½¤¦¤Ç¤¹¡£»î¤·¤Þ¤·¤¿¡£ 
mref¤ÇVRAM¤òÊÑ¿ô¤Ë³ä¤êÅö¤Æ¡¢´èÄ¥¤ì¤Ð¤Ç¤¤ë¤Ï¤º¡Ä¡Ä 
 
 |   
  
| 
 | 
 
2011/5/24(Tue) 22:30:44|NO.39378 
ÅÓÃæ¤Þ¤Ç¤ä¤ê¤Þ¤·¤¿¡¢Ì¤´°À®¤Ç¤¹¤±¤É»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£ 
¤¢¤ÈCookie¤µ¤ó¤Î¤¤¤¦¤È¤ª¤êpget»È¤¦¤è¤ê¡¢vram(DIB¥»¥¯¥·¥ç¥ó¡©)¤Ë½ñ¤¹þ¤ó¤À¤Û¤¦¤¬Áᤤ¤Ç¤¹¡£ 
pget2¤Èpget¤ò°ìËü³¬²ó¤¹¤È¡¢ 
pget2  1s120m 
pget  21s200m
  
#define SCREEN_WIDTH 640
	#define SCREEN_HEIGHT 480
	#define pget2_setup mref vram,66
	#define pget2(%1,%2) r = peek( vram, (2+ %1 *3)+( (SCREEN_HEIGHT-1- %2)*SCREEN_WIDTH*3 ) ):\
						  g = peek( vram, (1+ %1 *3)+( (SCREEN_HEIGHT-1- %2)*SCREEN_WIDTH*3 ) ):\
						   b = peek( vram, (0+ %1 *3)+( (SCREEN_HEIGHT-1- %2)*SCREEN_WIDTH*3 ) )
	#define »ØÄꤷ¤¿¿§¤Îº¸¾å¤Î¥Ô¥¯¥»¥ë¤òõ¤¹(%1,%2,%3) x = -1:y = -1:repeat SCREEN_WIDTH * SCREEN_HEIGHT :\
														b = peek( vram, (0+ (cnt%SCREEN_WIDTH) *3)+( (SCREEN_HEIGHT-1- (cnt/SCREEN_WIDTH))*SCREEN_WIDTH*3 ) ):\
														if(b == %3):g = peek( vram, (1+ (cnt%SCREEN_WIDTH) *3)+( (SCREEN_HEIGHT-1- (cnt/SCREEN_WIDTH))*SCREEN_WIDTH*3 ) ):\
														if(g == %2):r = peek( vram, (2+ (cnt%SCREEN_WIDTH) *3)+( (SCREEN_HEIGHT-1- (cnt/SCREEN_WIDTH))*SCREEN_WIDTH*3 ) ):\
														if(r == %1):if(x+y<(( (SCREEN_HEIGHT-1- (cnt/SCREEN_WIDTH))))+(cnt%SCREEN_WIDTH))):x = ( (SCREEN_HEIGHT-1- (cnt/SCREEN_WIDTH)))):\
														y = (cnt/SCREEN_WIDTH))):\
														loop
	
	pget2_setup//1:276 21:200
	color 125,120,12
	boxf 90,90,888,888
	»ØÄꤷ¤¿¿§¤Îº¸¾å¤Î¥Ô¥¯¥»¥ë¤òõ¤¹ 125,120,12
	title ""+x+"  "+y	
 
 
 
  |    |   
  
| 
 | 
 
2011/5/24(Tue) 22:33:14|NO.39379 
>ºÇ¤âº¸¾å¤Î¥Ô¥¯¥»¥ë¤Ç¤¹¡£ 
¡Ê£²¡¤£°¡Ë¤È¡Ê£°¡¤£²¡Ë¤¬Âоݿ§¤À¤Ã¤¿¤È¤·¤Æ¡¢ 
¤É¤Á¤é¤¬¡ÉºÇ¤âº¸¾å¡É¤Ë¤Ê¤ë¤Î¤Ç¤·¤ç¤¦¤«¡¦¡¦¡¦ 
 
 |   
  
| 
 | 
 
2011/5/24(Tue) 22:44:07|NO.39380 
¤ß¤Ê¤µ¤ó¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£vram¤òpeek¤¹¤ë¤Î¤¬¤è¤¤¤È¤Î¤³¤È¡¢»²¹Í¤Ë¤Ê¤ê¤Þ¤¹¡£ 
¥¹¥¥ë¤¬½½Ê¬¤Ç¤Ê¤¯¡¢vram¤Î¹½Â¤¤¬¤¤¤Þ¤¤¤ÁÍý²ò¤Ç¤¤º¤ËÆñ¹Ò¤·¤Æ¤¤¤Þ¤¹¡£¡£ 
 
f3d¤µ¤ó¤ÎÊýË¡¤À¤È£±¥Ô¥¯¥»¥ë¤ÎrgbÍ×ÁǤò3¤Ä¤È¤âpeek¤·¤Æ¤¤¤ë¤Î¤Ç¤·¤ç¤¦¤«¡£ 
¥ª¡¼¥È¥Þ¥È¥ó¤Ç£±¿§¤À¤±¤Îɾ²Á¤«¤é²ó¤·¤Æ¤¤¤Ã¤¿Êý¤¬¤¤¤¤¤Î¤Ç¤·¤ç¤¦¤«¡£ 
peek¤Èwpeek¤ÎÁȤ߹ç¤ï¤»¤âµ¤¤Ë¤Ê¤ê¤Þ¤¹¡£¡Ê̵°ÕÌ£¡©¡Ë 
 
¤¿¤ó¤¹¤µ¤ó¡¢º¸¾å¡¢¤È¤¤¤¦É½¸½¤¬Àµ³Î¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£¼ºÎ餷¤Þ¤·¤¿¡£ 
ÂоݤȤʤëbuffer¤Ë¤Ï¡¢¸¡º÷Âоݤ理¬1dot¤À¤±¤·¤«¤Ê¤¤¤È¤¤¤¦²¾Äê¤È¤·¤¿¤¤¤È»×¤¤¤Þ¤¹¡£ 
 
 |   
  
  
| 
 | 
 
2011/5/24(Tue) 23:26:34|NO.39383 
¡¡¤¢¡Á¡¢¤¹¤ß¤Þ¤»¤ó¡£¼ÁÌä¼Ô¤È¤ÏÊ̿ͤʤ¬¤é¤Õ¤Èµ¿Ìä¤Ë»×¤Ã¤¿»ö¤¬°ì¤Ä¡£ 
¡¡f3dÍͤÏVRAM¥Ç¡¼¥¿¤ò°ú¤½Ð¤¹°Ù¤ËmrefÌ¿Îá¤Î66ÈÖÌܤòÍøÍѤ·¤Æ¤¤¤¿¤ï¤±¤Ç¤¹¤¬¡¢mrefÌ¿Îá¤Î96ÈÖÌܰʹߤòÍøÍѤ·¤Æ¤âƱ¤¸»ö¤¬¤Ç¤¤ë¤«¤â¤È»×¤¤¤Þ¤·¤¿¡£
 
¡¡§¤Þ¤º¤ªÌÜÅö¤Æ¥¦¥£¥ó¥É¥¦¤ÎBMSCR¹½Â¤ÂΤò¼èÆÀ 
¢¡§Â³¤¤¤Æ¡¢¡¤Ç¼èÆÀ¤·¤¿BMSCR¹½Â¤ÂΤ«¤é¤ªÌÜÅö¤Æ¥¦¥£¥ó¥É¥¦¤ÎVRAM¥Ç¡¼¥¿¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò¼èÆÀ 
£¡§¹¹¤Ë¡¢¢¤Ç¼èÆÀ¤·¤¿¤½¤Î¥Ý¥¤¥ó¥¿¤òdupptrÌ¿Îá¤ÇÊÑ¿ô¤ËÍî¤È¤·¹þ¤à 
¤¡§£¤ÇÊÑ¿ô²½¤·¤¿¥Ç¡¼¥¿¤ò»²¾È¤·¤Æ¸¡º÷¤¹¤ì¤Ð£Ï£Ë
 
¡¡¤È¡¢¹Í¤¨¤Æºî¤Ã¤Æ¤ß¤¿¤Î¤¬°Ê²¼
  
	//¥¦¥£¥ó¥É¥¦£É£Ä¤«¤é£Ö£Ò£Á£Í¥Ç¡¼¥¿¤ÎÆþ¤Ã¤¿ÇÛÎó¿ôÃÍ·¿ÊÑ¿ô¤òºî¤ë¥½¡¼¥¹¤Î¤Ï¤º
	//¤Á¤Ê¤ß¤Ë¡¢£Ö£Ò£Á£Í¥Ç¡¼¥¿¤Ï¡¢£±¥Ô¥¯¥»¥ë¤ò24bit¤Çɽ¸½¤·¤Æ¤¤¤ë¤Î¤ÇÃí°Õ
	//Äê¿ô¤ÎÄêµÁ¡§¾Ü¤·¤¯¤Ï»²¹Í¥µ¥¤¥È¤ò»²¾È¤µ¤ì¤¿¤·
	#define TARGET_BUFFER 1		//º£²ó¤Î¼Â¸³¤ÇÄ´¤Ù¤ëÂоݤˤ¹¤ë¥Ð¥Ã¥Õ¥¡¤Î£É£Ä
	#define VRAM_POINTER 5		//BMSCR¹½Â¤ÂΤÇVRAM¤Ø¤Î¥Ý¥¤¥ó¥¿¤ò¼¨¤¹ÇÛÎóÈÖ¹æ
	#define VRAM_SIZE 16		//ñ°Ì¤Ïbyte¡¢Æ±¹½Â¤ÂΤÇVRAM¤Î¥µ¥¤¥º¤ò¼¨¤¹ÈÖ¹æ
	//¡TARGET_BUFFER¤òºî¤ê¡¢¤½¤Î(0,0)ºÂɸ¤Î¿§¤ò(255,128,0)¤ËÄêµÁ¤¹¤ë
	buffer TARGET_BUFFER, 2, 2, 0
	color 128, 192, 64
	pset 0, 0
	color 10, 20, 40
	pset 1, 0
	//¢¥¦¥£¥ó¥É¥¦ID¤«¤éBMSCR¹½Â¤ÂΤò·Ð¤Æ¡¢VRAM¥Ç¡¼¥¿¤Ë¥Ð¥Ã¥Õ¥¡¤Î¥Ç¡¼¥¿¤òÆþ¤ì¤ë
	¥¦¥£¥ó¥É¥¦ID = TARGET_BUFFER
	mref BMSCR¹½Â¤ÂÎ, 96+¥¦¥£¥ó¥É¥¦ID
	dim VRAM¥Ç¡¼¥¿, BMSCR¹½Â¤ÂÎ(VRAM_SIZE)/4
	dupptr VRAM¥Ç¡¼¥¿, BMSCR¹½Â¤ÂÎ(VRAM_POINTER), BMSCR¹½Â¤ÂÎ(VRAM_SIZE)
	//£¿§(0),¿§(1),¿§(2)¤Ë¡¢TARGET_BUFFER¤Î(0,0)ºÂɸ¤Î(R,G,B)¤òÂåÆþ¤¹¤ë
	¿§ = 0, 0, 0
	repeat 3
		memcpy ¿§(cnt), VRAM¥Ç¡¼¥¿, 1, 0, 8+(2-cnt)
		//²¿¸Î¤«8byte¤Î¶õÇò¤¬¤¢¤ë¡£¤³¤Î¶õÇò¤Ï¥Ð¥Ã¥Õ¥¡¤Î¥µ¥¤¥º¼¡Âè¤ÇÊÑÆ°¤¹¤ë
	loop
	
	//¤·ë²Ì¤òɽ¼¨¤¹¤ë
	gsel 0
	mes "Buf"+TARGET_BUFFER+"¤Î¸¶ÅÀ¤Î¿§¤Ï("+¿§(0)+","+¿§(1)+","+¿§(2)+")"
	mes bmscr¹½Â¤ÂÎ(15)
	//¥»²¹Í¤Þ¤Ç¤Ë¥í¥°¤Ë³ÆºÂɸ¤Ë¤ª¤±¤ë1byte¤ÎÃͤò½Ð¤·¤Æ¤ß¤¿
	repeat 16
		k = 0
		memcpy k, VRAM¥Ç¡¼¥¿, 1, 0, cnt
		logmes "cnt="+cnt+" : "+k
	loop
 
¡¡²¿¸Î¤«¡¢BMSCR¹½Â¤ÂΤ«¤é¼èÆÀ¤·¤¿¥Ý¥¤¥ó¥¿¤È¼ÂÂ֤κÂɸ¤¬¤º¤ì¤Æ¤·¤Þ¤¤¤Þ¤¹¡£BMSCR¹½Â¤ÂΤ«¤é¤Î»²¾È¤Ï¤¤¤±¤Ê¤¤»ö¤À¤Ã¤¿¤Î¤Ç¤·¤ç¤¦¤«¡©
 
¡¡¾°¡¢BMSCR¹½Â¤ÂΤÎÃæ¿È¤Ë¤Ä¤¤¤Æ¤Ï¤³¤Á¤é¤Î¥Ú¡¼¥¸¤ò»²¹Í¤Ë¤·¤Þ¤·¤¿¡£ http://dream.freespace.jp/puma/iroiro/struct/bmscr3.htm
 
 
  |    |   
  
| 
 | 
 
2011/5/25(Wed) 00:55:00|NO.39384 
memcpy¤Çºî¤Ã¤Æ¤ß¤Þ¤·¤¿¡£ 
¤Ê¤ª¡¢»ä¤Î´Ä¶¤Ç¤Ï¥Ç¡¼¥¿¤ÎºîÀ®¤Ë8663ms,¸¡º÷¤Ë2293ms¤«¤«¤ê¤Þ¤·¤¿¡£ 
CPU¤ÏCeleron 1.20GHz¡¢ 
¥á¥â¥ê¡¼¤Ï504MByte¤Ç¤¹¡£(512MByteÅëºÜ¤·¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬...)
 
;Ã̤Ǥ¹¤¬¡¢ 
ÀΡ¢°ã¤¦¼ïÎà¤Î¥×¥í¥°¥é¥à¤òºî¤Ã¤¿¤È¤¤Ë¡¢ 
HSP¤Çºî¤Ã¤¿½èÍý¤È¡¢C++¤Çºî¤Ã¤¿DLL¤Ç»þ´Ö¤òÈæ³Ó¤·¤¿¤È¤³¤í¡¢ 
HSP¤¬2É䰤餤¤Ç½èÍý¤µ¤ì¤¿¤â¤Î¤¬C++¤ÎDLL¤Ç¤Ï0.03É䰤餤¤Ç½èÍý¤Ç¤¤Þ¤·¤¿¡£ 
¤Á¤Ê¤ß¤Ë¤½¤Î¥Ñ¥½¥³¥ó¤Ï 
CPU 550MHz ¥á¥â¥ê¡¼ 384MByte¤Ç¤·¤¿¡£
  
	#define xsize 1920
	#define ysize 1020
	#uselib "winmm.dll"
	#func timeGetTime "timeGetTime"
	screen 1,xsize,ysize
	gsel 0,1
	mes "¥Ç¡¼¥¿¤òºîÀ®¤·¤Æ¤¤¤Þ¤¹¡£"
	gsel 1,0
	redraw 0
	timeGetTime
	delta=stat//³«»Ï»þ¹ï
	repeat xsize
		x=cnt
		repeat ysize
			color rnd(255),rnd(255),rnd(255)
			pset x,cnt
		loop
	loop
	color 0,0,255
	pset 100,100
	timeGetTime
	delta=stat-delta
	redraw
	r=0
	g=0
	b=255
	mref vram,66
	gsel 0,0
	title strf("¥Ç¡¼¥¿¤ÎºîÀ®¤Ë%dms¤«¤«¤ê¤Þ¤·¤¿¡£",delta)
*setting
	cls
	mes "¸¡º÷¤¹¤ë¿§¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤¡£(RGB)"
	input r,64,24
	rid=stat
	input g,64,24
	gid=stat
	input b,64,24
	bid=stat
	button "¸¡º÷",*search
	button "¥é¥ó¥À¥à",*random
	stop
*random
	gsel 1,0
	x=rnd(xsize)
	y=rnd(ysize)
	pget x,y
	r=ginfo(16)
	g=ginfo(17)
	b=ginfo(18)
	gsel 0,0
	objprm rid,r
	objprm gid,g
	objprm bid,b
	mes strf("¤³¤Î¿§¤Ï(%d,%d)¤«¤éÁªÂò¤·¤Þ¤·¤¿¡£",x,y)
	stop
*search
	cls
	mes "¸¡º÷Ãæ"
	sizeperline=3*xsize
	if(sizeperline&0x3){//4¤ÎÇÜ¿ô¤Ç¤Ê¤¤¤È¤¤Ï¼¡¤Î4¤ÎÇÜ¿ô¤Ë¤¹¤ë¡£
		mes "²£¤Î¥É¥Ã¥È¿ô¤¬4¤ÎÇÜ¿ô¤Ç¤Ê¤¤¤Î¤Ç¡¢¼¡¤Î4¤ÎÇÜ¿ô¤Ë¤·¤Þ¤¹¡£"
		sizeperline=(sizeperline&fffffffc)+4
	}
	target=b|(g<<8)|(r<<16)//¿§¤ÎÈÖ¹æ
	mes strf("¼¡¤Î¿§¤Î¸¡º÷¤ò³«»Ï¤·¤Þ¤¹¡£:#%06x",target)
	buf=0//°ì»þÊÑ¿ô
	redraw 0
	timeGetTime
	delta=stat//³«»Ï»þ¹ï¤òµÏ¿
	repeat ysize
		offset=sizeperline*(ysize-cnt-1)
		y=cnt
		repeat xsize
			memcpy buf,vram,3,0,offset+cnt*3
//memcpy¤Èlpeek¤Ç¤Ï¤É¤Á¤é¤ÎÊý¤¬Áᤤ¤Î¤«¤È»×¤¤¡¢ÃÖ¤´¹¤¨¤Æ¤ß¤ë¤È¡¢
//¥¨¥é¡¼¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
//1Byte¥ª¡¼¥Ð¡¼¤·¤Æ¤¤¤ë¤Î¤¬¸¶°ø¤Î¤è¤¦¤Ç¤¹¡£
//			buf=lpeek(vram,offset+cnt*3)
			if(buf==target){
				mes strf("°ìÃפ·¤Þ¤·¤¿¡£(%d,%d)",cnt,y)
			}
		loop
	loop
	timeGetTime
	delta=stat-delta//½èÍý»þ´Ö
	redraw
	mes "¸¡º÷¤¬½ªÎ»¤·¤Þ¤·¤¿¡£"
	title strf("½èÍý»þ´Ö¤Ï%dms¤Ç¤·¤¿¡£",delta)
	pos 0,0
	button "Ìá¤ë",*setting
 
 
 
  |    |   
  
| 
 | 
 
2011/5/25(Wed) 12:00:20|NO.39385 
¥â¥¸¥å¡¼¥ë¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£ 
¤¿¤Ö¤óÂçÄñ¤Ï®¤¤¤Ç¤¹¤¬¡¢Ãµ¤¹¿§¤ÎÀÄÀ®Ê¬¤ÈƱÃͤο§À®Ê¬¤¬Â¿¤¤²èÌ̤À¤È¤à¤Ã¤Á¤ã»þ´Ö¤¬¤«¤«¤ê¤Þ¤¹¡£
  
//color¤ÇÁªÂò¤µ¤ì¤Æ¤¤¤ë¿§¤Î¥Ô¥¯¥»¥ë¤òõ¤¹
#module
#deffunc findpixel var x,var y
	#uselib "msvcrt.dll"
	#func memchr "memchr" int,int,int
	
	r=ginfo_r:g=ginfo_g:b=ginfo_b
	mref vram,66
	sx=ginfo_sx
	sy=ginfo_sy
	lsize=(sx*3+3)&0xfffffffc
	vsize=lsize*sy
	pvram=varptr(vram)
	idx=0
	repeat
		memchr pvram+idx,b,vsize-idx
		if stat==0:idx==-1:break
		idx=stat-pvram
		if idx\lsize\3:idx++:continue
		if idx\lsize/3>=sx:idx++:continue
		if wpeek(vram,idx+1)==(g|r<<8):break
		idx+=3
	loop
	if idx==-1:x=-1:y=-1:return
	x=idx\lsize/3
	y=sy-1-idx/lsize
	return
#global
screen 0,1920,1020
color 1,2,3
pset 10,20
findpixel x,y
color
mes ""+x+","+y
 
 
 |   
  
| 
 | 
 
2011/5/26(Thu) 00:32:00|NO.39387 
¤ß¤Ê¤µ¤ó¡¢ËÜÅö¤Ë¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤·¤¿¡£ 
vram¤ò¸«¤Æ¤¤¤¯¤È¤¤¤¦ÊýË¡¤¬ºÇ¤â¤è¤¤¤È¤¤¤¦·ëÏÀ¤Ë»ê¤ê¡¢ 
¤È¤ê¤ï¤±koju¤µ¤ó¤Î¥³¡¼¥É¤¬¤Û¤Ü¤½¤Î¤Þ¤ÞÍÑÅӤ˹礦¤â¤Î¤Ç¤·¤¿¡£ 
 
ËÜ·ï¤Ï¡¢¤³¤ì¤Ë¤Æ²ò·è¤È¤µ¤»¤Æ¤¤¤¿¤À¤¤Þ¤¹¡£ 
 
 |   
  
| 
 | 
 
2011/5/26(Thu) 08:14:20|NO.39388 
ttp://hsp.tv/play/pforum.php?mode=pastwch&num=13849 
 
¾å¤ß¤¿¤¤¤ÊÊýË¡¤ò»È¤Ã¤Æ¡Ö»ØÄê¿§¤À¤±¤Î²èÁü¡×¤òºî¤Ã¤Æ¤ª¤±¤Ð 
¾ò·ï¤¬´Êñ²½¤Ç¤¤ë¤«¤â¡© 
 
 |   
  
					 |