package dagro

import (
	
	
)

type fasEntry struct {
	V           string
	In, Out     float64
	data        any
	prev, next  *fasEntry
	currentList *fasList
}

type fasList struct {
	head, tail *fasEntry
}

func ( *fasList) () *fasEntry {
	 := .tail
	if  != nil {
		.unlink()
	}
	return 
}

func ( *fasList) ( *fasEntry) {
	if .currentList != nil {
		.currentList.unlink()
	}
	.currentList = 
	.prev = nil
	.next = .head
	if .head != nil {
		.head.prev = 
	} else {
		.tail = 
	}
	.head = 
}

func ( *fasList) ( *fasEntry) {
	if .prev != nil {
		.prev.next = .next
	} else {
		.head = .next
	}
	if .next != nil {
		.next.prev = .prev
	} else {
		.tail = .prev
	}
	.prev, .next, .currentList = nil, nil, nil
}

func ( *fasList) () string {
	 := make([]string, 0)
	for  := .tail;  != nil;  = .prev {
		 := .data
		if  == nil {
			 = map[string]any{"v": .V, "in": .In, "out": .Out}
		}
		,  := json.Marshal()
		 = append(, string())
	}
	return "[" + strings.Join(, ", ") + "]"
}