<commit_before>package format.swf;

import format.abc.Data.ABCData;
import format.abc.Data.ClassDef;
import format.abc.Data.Field;
import format.abc.Data.IName;
import format.abc.Data.Index;
import format.abc.Data.Name;
import format.abc.Data.Namespace;
import format.abc.Data.OpCode;
import format.SWF;
import format.swf.data.SWFFrameLabel;
import format.swf.data.SWFRawTag;
import format.swf.data.SWFRecordHeader;
import format.swf.data.SWFScene;
import format.swf.data.consts.SoundCompression;
import format.swf.events.SWFErrorEvent;
import format.swf.events.SWFEventDispatcher;
import format.swf.events.SWFProgressEvent;
import format.swf.events.SWFWarningEvent;
import format.swf.factories.ISWFTagFactory;
import format.swf.factories.SWFTagFactory;
import format.swf.tags.IDefinitionTag;
import format.swf.tags.IDisplayListTag;
import format.swf.tags.ITag;
import format.swf.tags.TagDefineMorphShape;
import format.swf.tags.TagDefineScalingGrid;
import format.swf.tags.TagDefineSceneAndFrameLabelData;
import format.swf.tags.TagDoABC;
import format.swf.tags.TagEnd;
import format.swf.tags.TagFrameLabel;
import format.swf.tags.TagJPEGTables;
import format.swf.tags.TagPlaceObject;
import format.swf.tags.TagPlaceObject2;
import format.swf.tags.TagPlaceObject3;
import format.swf.tags.TagPlaceObject4;
import format.swf.tags.TagRemoveObject;
import format.swf.tags.TagRemoveObject2;
import format.swf.tags.TagSetBackgroundColor;
import format.swf.tags.TagShowFrame;
import format.swf.tags.TagSoundStreamBlock;
import format.swf.tags.TagSoundStreamHead;
import format.swf.tags.TagSoundStreamHead2;
import format.swf.tags.TagSymbolClass;
import format.swf.timeline.Frame;
import format.swf.timeline.FrameObject;
import format.swf.timeline.Layer;
import format.swf.timeline.LayerStrip;
import format.swf.timeline.Scene;
import format.swf.timeline.SoundStream;
import format.swf.utils.StringUtils;
import flash.errors.Error;
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.ByteArray;
import flash.utils.Endian;

// import flash.utils.getTimer;
class SWFTimelineContainer extends SWFEventDispatcher
{
	// We're just being lazy here.
	public static var TIMEOUT:Int = 50;
	public static var AUTOBUILD_LAYERS:Bool = false;
	public static var EXTRACT_SOUND_STREAM:Bool = true;
	public static var scalingGrids(default, null):Map<Int, Int>;

	public var tags(default, null):Array<ITag>;
	public var tagsRaw(default, null):Array<SWFRawTag>;<commit_msg>SWF scale9Grid should be per parser instance<commit_after>package format.swf;

import format.abc.Data.ABCData;
import format.abc.Data.ClassDef;
import format.abc.Data.Field;
import format.abc.Data.IName;
import format.abc.Data.Index;
import format.abc.Data.Name;
import format.abc.Data.Namespace;
import format.abc.Data.OpCode;
import format.SWF;
import format.swf.data.SWFFrameLabel;
import format.swf.data.SWFRawTag;
import format.swf.data.SWFRecordHeader;
import format.swf.data.SWFScene;
import format.swf.data.consts.SoundCompression;
import format.swf.events.SWFErrorEvent;
import format.swf.events.SWFEventDispatcher;
import format.swf.events.SWFProgressEvent;
import format.swf.events.SWFWarningEvent;
import format.swf.factories.ISWFTagFactory;
import format.swf.factories.SWFTagFactory;
import format.swf.tags.IDefinitionTag;
import format.swf.tags.IDisplayListTag;
import format.swf.tags.ITag;
import format.swf.tags.TagDefineMorphShape;
import format.swf.tags.TagDefineScalingGrid;
import format.swf.tags.TagDefineSceneAndFrameLabelData;
import format.swf.tags.TagDoABC;
import format.swf.tags.TagEnd;
import format.swf.tags.TagFrameLabel;
import format.swf.tags.TagJPEGTables;
import format.swf.tags.TagPlaceObject;
import format.swf.tags.TagPlaceObject2;
import format.swf.tags.TagPlaceObject3;
import format.swf.tags.TagPlaceObject4;
import format.swf.tags.TagRemoveObject;
import format.swf.tags.TagRemoveObject2;
import format.swf.tags.TagSetBackgroundColor;
import format.swf.tags.TagShowFrame;
import format.swf.tags.TagSoundStreamBlock;
import format.swf.tags.TagSoundStreamHead;
import format.swf.tags.TagSoundStreamHead2;
import format.swf.tags.TagSymbolClass;
import format.swf.timeline.Frame;
import format.swf.timeline.FrameObject;
import format.swf.timeline.Layer;
import format.swf.timeline.LayerStrip;
import format.swf.timeline.Scene;
import format.swf.timeline.SoundStream;
import format.swf.utils.StringUtils;
import flash.errors.Error;
import flash.display.Sprite;
import flash.events.Event;
import flash.utils.ByteArray;
import flash.utils.Endian;

// import flash.utils.getTimer;
class SWFTimelineContainer extends SWFEventDispatcher
{
	// We're just being lazy here.
	public static var TIMEOUT:Int = 50;
	public static var AUTOBUILD_LAYERS:Bool = false;
	public static var EXTRACT_SOUND_STREAM:Bool = true;

	public var scalingGrids(default, null):Map<Int, Int>;

	public var tags(default, null):Array<ITag>;
	public var tagsRaw(default, null):Array<SWFRawTag>;
{'fraction_non_alphanumeric': 0.10308033017918261, 'fraction_numerical': 0.0030199315482182403, 'mean_word_length': 6.470676691729324, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6427973', 'n_tokens_mistral': 1696, 'n_tokens_neox': 1676, 'n_words': 304}