| 
														
															@@ -19,7 +19,7 @@ type OutboundGroup struct { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Type       string 
														 | 
														
														 | 
														
															 	Type       string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Selectable bool 
														 | 
														
														 | 
														
															 	Selectable bool 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Selected   string 
														 | 
														
														 | 
														
															 	Selected   string 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	isExpand   int8 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+	IsExpand   bool 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	items      []*OutboundGroupItem 
														 | 
														
														 | 
														
															 	items      []*OutboundGroupItem 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -27,19 +27,6 @@ func (g *OutboundGroup) GetItems() OutboundGroupItemIterator { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	return newIterator(g.items) 
														 | 
														
														 | 
														
															 	return newIterator(g.items) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } 
														 | 
														
														 | 
														
															 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-func (g *OutboundGroup) IsExpand() bool { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	switch g.isExpand { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	case -1: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return g.Selectable 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	case 0: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return false 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	case 1: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		return true 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	default: 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		panic("unexpected expand value") 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-	} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-} 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 type OutboundGroupIterator interface { 
														 | 
														
														 | 
														
															 type OutboundGroupIterator interface { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	Next() *OutboundGroup 
														 | 
														
														 | 
														
															 	Next() *OutboundGroup 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 	HasNext() bool 
														 | 
														
														 | 
														
															 	HasNext() bool 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -129,7 +116,7 @@ func readGroups(reader io.Reader) (OutboundGroupIterator, error) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return nil, err 
														 | 
														
														 | 
														
															 			return nil, err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		err = binary.Read(reader, binary.BigEndian, &group.isExpand) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		err = binary.Read(reader, binary.BigEndian, &group.IsExpand) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if err != nil { 
														 | 
														
														 | 
														
															 		if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return nil, err 
														 | 
														
														 | 
														
															 			return nil, err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -192,12 +179,8 @@ func writeGroups(writer io.Writer, boxService *BoxService) error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		_, group.Selectable = iGroup.(*outbound.Selector) 
														 | 
														
														 | 
														
															 		_, group.Selectable = iGroup.(*outbound.Selector) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		group.Selected = iGroup.Now() 
														 | 
														
														 | 
														
															 		group.Selected = iGroup.Now() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if cacheFile != nil { 
														 | 
														
														 | 
														
															 		if cacheFile != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			if isExpand, loaded := cacheFile.LoadGroupExpand(group.Tag); !loaded { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				group.isExpand = -1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} else if isExpand { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				group.isExpand = 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-			} else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-				group.isExpand = 0 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+			if isExpand, loaded := cacheFile.LoadGroupExpand(group.Tag); loaded { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+				group.IsExpand = isExpand 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			} 
														 | 
														
														 | 
														
															 			} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -240,7 +223,7 @@ func writeGroups(writer io.Writer, boxService *BoxService) error { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if err != nil { 
														 | 
														
														 | 
														
															 		if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return err 
														 | 
														
														 | 
														
															 			return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-		err = binary.Write(writer, binary.BigEndian, group.isExpand) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+		err = binary.Write(writer, binary.BigEndian, group.IsExpand) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		if err != nil { 
														 | 
														
														 | 
														
															 		if err != nil { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 			return err 
														 | 
														
														 | 
														
															 			return err 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 		} 
														 | 
														
														 | 
														
															 		} 
														 |