import urllib,sys

def getblockpos(data,j):
	i=0
	block=0
	num=0
	for line in data:
		if( (line[:5] == " * [:") and (block==0)):
			if (num==j):
				start=i
			block=1
		if( (line[:5] != " * [:") and (block==1)):
			if(num==j):
				end=i
				break
			else:
				num=num+1
			block=0
		i=i+1
	try:
		return [start,end]	
	except UnboundLocalError:
		return 0
		
def sort(sortblock):
	block=[]
	for line in sortblock:
		block.append(line.split(":"))
	lcmp=lambda i, j: (i[2].lower() < j[2].lower()) and -1 or (i[2].lower() > j[2].lower()) and 1 or 0
	block.sort(lcmp)
	sortblock=[]
	for line in block:
		sortblock.append(":".join(line))
	return sortblock


if __name__=="__main__":
	if(sys.argv[0]==sys.argv[-1]) :
		sys.exit()
	url=sys.argv[1]+"?action=raw"
	data =  urllib.urlopen(url).read().split("\n")
	
	i=0
	ndata=""
	while(getblockpos(data,i) != 0):
		if(i!=0):
			ndata=ndata+"\n"+"\n".join(data[getblockpos(data,i-1)[1]:getblockpos(data,i)[0]])
		else:
			ndata=ndata+"\n"+"\n".join(data[:getblockpos(data,i)[0]])
		ndata=ndata+"\n"+"\n".join(sort(data[getblockpos(data,i)[0]:getblockpos(data,i)[1]]))
		i=i+1
	ndata=ndata+"\n"+"\n".join(data[getblockpos(data,i-1)[1]:])
	print ndata    
