-- @/lua/ge/extensions/ui/vehicleSelector/general.lua:477
add = function() end,
this.element.classList.add("debug");
this.element.textContent = string;
container.classList.add("pulsing");
}
item.container.title = item.tooltip;
item.container.classList.add(WI.DefaultDashboardView.EnabledItemStyleClassName);
} else {
this._drawOutline(rects);
this._element.classList.add(WI.HoverMenu.VisibleClassName);
foundClasses.add(className);
return `${selector}.${CSS.escape(className)}`;
// Add platform style classes so the UI can be tweaked per-platform.
document.body.classList.add(WI.Platform.name + "-platform");
if (WI.Platform.isNightlyBuild)
if (WI.Platform.isNightlyBuild)
document.body.classList.add("nightly-build");
if (WI.Platform.name === "mac")
document.body.classList.add(WI.Platform.version.name);
document.body.classList.add(WI.sharedApp.debuggableType);
document.body.setAttribute("dir", WI.resolvedLayoutDirection());
WI._undockToolbarButton = new WI.ButtonToolbarItem("undock", WI.UIString("Detach into separate window"), "Images/Undock.svg");
WI._undockToolbarButton.element.classList.add(WI.Popover.IgnoreAutoDismissClassName);
WI._undockToolbarButton.addEventListener(WI.ButtonNavigationItem.Event.Clicked, WI._undock);
WI._dockToSideToolbarButton = new WI.ButtonToolbarItem("dock-right", WI.UIString("Dock to side of window"), dockImage);
WI._dockToSideToolbarButton.element.classList.add(WI.Popover.IgnoreAutoDismissClassName);
WI._dockBottomToolbarButton = new WI.ButtonToolbarItem("dock-bottom", WI.UIString("Dock to bottom of window"), "Images/DockBottom.svg");
WI._dockBottomToolbarButton.element.classList.add(WI.Popover.IgnoreAutoDismissClassName);
WI._dockBottomToolbarButton.addEventListener(WI.ButtonNavigationItem.Event.Clicked, WI._dockBottom);
let dockedResizerElement = document.getElementById("docked-resizer");
dockedResizerElement.classList.add(WI.Popover.IgnoreAutoDismissClassName);
dockedResizerElement.addEventListener("mousedown", WI._dockedResizerMouseDown);
continue;
seenTabTypes.add(tabType);
openTabs.push(tabContentView.type);
seenTabTypes.add(tabContentView.type);
}
openTabs.insertAtIndex(tabType, index);
seenTabTypes.add(tabType);
}
if (side === WI.DockConfiguration.Bottom) {
document.body.classList.add("docked", WI.DockConfiguration.Bottom);
document.body.classList.remove("window-inactive", WI.DockConfiguration.Right, WI.DockConfiguration.Left);
} else if (side === WI.DockConfiguration.Right) {
document.body.classList.add("docked", WI.DockConfiguration.Right);
document.body.classList.remove("window-inactive", WI.DockConfiguration.Bottom, WI.DockConfiguration.Left);
} else if (side === WI.DockConfiguration.Left) {
document.body.classList.add("docked", WI.DockConfiguration.Left);
document.body.classList.remove("window-inactive", WI.DockConfiguration.Bottom, WI.DockConfiguration.Right);
// FIXME: We should use the :window-inactive pseudo class once https://webkit.org/b/38927 is fixed.
document.body.classList.add(WI.docked ? "window-docked-inactive" : "window-inactive");
};
let contentElement = document.createElement("table");
contentElement.classList.add("device-settings-content");
let userAgentValue = userAgentRow.appendChild(document.createElement("td"));
userAgentValue.classList.add("user-agent");
let settingsGroupItemContainer = settingsGroupValue.appendChild(document.createElement("div"));
settingsGroupItemContainer.classList.add("container");
let columnElement = settingsGroupItemContainer.appendChild(document.createElement("div"));
columnElement.classList.add("column");
if (isError)
messageElement.classList.add("error");
if (options.dontFloat)
linkElement.classList.add("dont-float");
if (options.className)
linkElement.classList.add(options.className);
let linkNode = document.createElement("a");
linkNode.classList.add("resource-link", className);
linkNode.title = resource.url;
this._element.classList.add("text");
this._element.textContent = label || "";
this.element.classList.add("resource-details", "resource-headers");
this.element.tabIndex = 0;
let pair = this._summarySection.appendKeyValuePair(WI.UIString("Initiator"), fragment);
pair.classList.add("initiator");
this._domBreakpointURLMap.add(breakpoint.url, breakpoint);
domBreakpointNodeIdentifierMap.add(nodeIdentifier, breakpoint);
var streamsList = []
StreamsManager.add(streamsList)
scope.$on("$destroy", function () {
var streamsList = ['forcedInductionInfo']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("cpu-usage-view");
this._detailsElement = this.element.appendChild(document.createElement("div"));
this._detailsElement.classList.add("details");
let detailsNameElement = this._detailsElement.appendChild(document.createElement("span"));
detailsNameElement.classList.add("name");
detailsNameElement.textContent = displayName;
this._graphElement = this.element.appendChild(document.createElement("div"));
this._graphElement.classList.add("graph");
node.element.classList.add("data-updated");
window.setTimeout(function() {
for (var node of this._nodesSinceLastNavigation)
node.element.classList.add("past-value");
var streamsList = ['clutchThermalData']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
if (child.equals(source)) {
this._childrenToChargeToSelf.add(child);
this._extraSelfTimeFromChargedChildren += child.filteredTimestampsAndDuration(this._tree.startTime, this._tree.endTime).duration;
let timeElement = fragment.appendChild(document.createElement("span"));
timeElement.classList.add("time");
timeElement.textContent = Number.secondsToMillisecondsString(totalTime);
let percentElement = fragment.appendChild(document.createElement("span"));
percentElement.classList.add("percentage");
percentElement.textContent = Number.percentageString(fraction);
let iconElement = fragment.appendChild(document.createElement("img"));
iconElement.classList.add("icon", iconClassName);
let titleElement = fragment.appendChild(document.createElement("span"));
let locationElement = fragment.appendChild(document.createElement("span"));
locationElement.classList.add("location");
sourceCodeLocation.populateLiveDisplayLocationString(locationElement, "textContent", WI.SourceCodeLocation.ColumnStyle.Hidden, WI.SourceCodeLocation.NameStyle.Short);
grp:setName("PlayerDropPoints")
scenetree.MissionGroup:add(grp)
end
grp:setName("ObserverDropPoints")
scenetree.MissionGroup:add(grp)
end
this.element.classList.add("console-prompt", WI.SyntaxHighlightedStyleClassName);
if (!interactive) {
getterElement.classList.add("disabled");
getterElement.title = WI.UIString("Getter");
if (!interactive)
setterElement.classList.add("disabled");
this._element.classList.add(...styleClassNames);
} else
this._element.classList.add("text-only");
this._swatchElement.classList.add("inline-swatch", this._type.split("-").lastValue);
if (readOnly)
this._swatchElement.classList.add("read-only");
else {
this._valueEditor.element = document.createElement("div");
this._valueEditor.element.classList.add("inline-swatch-variable-popover");
this._valueEditor.element.src = this._value.src;
this._valueEditor.element.classList.add("show-grid");
this._valueEditor.element.style.setProperty("max-width", "50vw");
var streamsList = ['advancedWheelDebugData']
StreamsManager.add(streamsList)
if gameplay_drift_general.getGeneralDebug() then
profiler:add("Drift scoring")
gc = profiler.sections[1].garbage
this.element.classList.add("timeline-recording");
option.value = type;
picker.add(option);
}
let buttonContainerElement = header.appendChild(document.createElement("div"));
buttonContainerElement.classList.add("breakpoint-action-button-container");
var descriptionElement = this._bodyElement.appendChild(document.createElement("div"));
descriptionElement.classList.add("description");
descriptionElement.setAttribute("dir", "ltr");
var editorElement = this._bodyElement.appendChild(document.createElement("div"));
editorElement.classList.add("breakpoint-action-eval-editor");
editorElement.classList.add(WI.SyntaxHighlightedStyleClassName);
editorElement.classList.add("breakpoint-action-eval-editor");
editorElement.classList.add(WI.SyntaxHighlightedStyleClassName);
var nameElement = document.createElement("span");
nameElement.classList.add("type-name");
nameElement.textContent = displayName;
else
--if p then p:add("Start Roads") end
local roadBgTransparentBlack = ui_apps_minimap_utils.colors.roadBgTransparentBlack
if p then p:add("Roads") end
--if p then p:add("Draw Link") end
if not hasRoads and not debugSettings.drawGrid then
this.element.classList.add(className);
this.element.classList.add(this.constructor.StyleClassName || "navigation-bar");
this.element.tabIndex = 0;
if (totalItemWidth > barWidth)
this.element.classList.add(WI.NavigationBar.CollapsedStyleClassName);
if (!wasCollapsed)
this.element.classList.add(WI.NavigationBar.CollapsedStyleClassName);
this.element.classList.add("memory");
this._legendElement = this.element.appendChild(document.createElement("div"));
this._legendElement.classList.add("legend");
this._memoryPressureMarkersContainerElement = this.element.appendChild(document.createElement("div"));
this._memoryPressureMarkersContainerElement.classList.add("memory-pressure-markers-container");
this._memoryPressureMarkerElements = [];
markerElement = this._memoryPressureMarkersContainerElement.appendChild(document.createElement("div"));
markerElement.classList.add("memory-pressure-event");
this._memoryPressureMarkerElements[i] = markerElement;
if (!item.enabled)
menuItemElement.classList.add("disabled");
if (this._highlightedMenuItemElement) {
this._highlightedMenuItemElement.classList.add("highlighted");
this._contextMenuElement.focus();
this._element = document.createElement("div");
this._element.classList.add("error-object");
var previewElement = WI.FormattedValue.createElementForError(this._object);
var span = document.createElement("span");
span.classList.add("error-object-link-container");
span.textContent = ` ${emDash} `;
let a = WI.linkifyLocation(sourceURL, new WI.SourceCodePosition(parseInt(lineNumber) - 1, parseInt(columnNumber)), options);
a.classList.add("error-object-link");
span.appendChild(a);
this._expanded = true;
this._element.classList.add("expanded");
this._brightnessSlider.delegate = this;
this._brightnessSlider.element.classList.add("brightness");
this._opacitySlider.delegate = this;
this._opacitySlider.element.classList.add("opacity");
let colorInputsContainerElement = document.createElement("div");
colorInputsContainerElement.classList.add("color-inputs");
this._element = document.createElement("div");
this._element.classList.add("color-picker");
dirInLevel = dirInLevel..filename
--scenetree.MissionGroup:add(scenetreeObject)
local objects = {}
if scenetree and scenetreeObject and scenetree.MissionGroup then
scenetree.MissionGroup:add(scenetreeObject)
end
this._element.setAttribute("dir", "ltr");
this._element.classList.add("completion-suggestions", WI.Popover.IgnoreAutoDismissClassName);
this._containerElement = document.createElement("div");
this._containerElement.classList.add("completion-suggestions-container");
this._containerElement.addEventListener("mousedown", this._mouseDown.bind(this));
selectedItemElement.classList.add("selected");
selectedItemElement.scrollIntoViewIfNeeded(false);
var itemElement = document.createElement("div");
itemElement.classList.add("item");
itemElement.classList.toggle("selected", i === this._selectedIndex);
this.element.classList.add("box-model");
if (nodeId && (mode === "all" || element._name === mode))
element.classList.add("active");
else
if (this._filterText)
this.element.classList.add("filter-non-matching");
for (let header of this._headerMap.values())
header.classList.add(WI.GeneralStyleDetailsSidebarPanel.NoFilterMatchInSectionClassName);
currentHeader = this.element.appendChild(document.createElement("h2"));
currentHeader.classList.add("section-header");
currentHeader.append(text);
var streamsList = ['engineInfo']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
targetEl.addEventListener("blur", blur)
targetEl.classList.add("focus-visible")
})
end
csvfile:add(unpack(row))
end
data.bitmap?.close?.()
if (data.blobUrl) pendingBlobCleanup.add(data.blobUrl)
}
function onCacheClear(callback) {
cacheListeners.add(callback)
return () => cacheListeners.delete(callback)
// finalise
if (oldBlobUrl) pendingBlobCleanup.add(oldBlobUrl)
if (!previews.value.has(key)) {
if (!previews.value.has(key)) {
pendingBlobCleanup.add(blobUrl)
blobCleanup()
{
this._advanceForwardArrowElement.classList.add(WI.DashboardContainerView.InactiveStyleClassName);
this._advanceBackwardArrowElement.classList.add(WI.DashboardContainerView.InactiveStyleClassName);
this._advanceForwardArrowElement.classList.add(WI.DashboardContainerView.InactiveStyleClassName);
this._advanceBackwardArrowElement.classList.add(WI.DashboardContainerView.InactiveStyleClassName);
}
var container = this;
dashboardView.element.classList.add(WI.DashboardContainerView.VisibleDashboardStyleClassName);
if (animationClass) {
dashboardView.element.classList.add(animationClass);
dashboardView.element.addEventListener("animationend", animationEnded);
if (animationClass) {
dashboardView.element.classList.add(animationClass);
dashboardView.element.addEventListener("animationend", animationEnded);
this._element = document.createElement("li");
this._element.classList.add("multiple");
-- add all the relevant info from this logging step
csvData:add(time, throttle, brake, batteryCapacity, motorPower)
end
link: function (scope, element, attrs) {
StreamsManager.add(['drivingStrategy'])
var callFrameElement = document.createElement("div");
callFrameElement.classList.add("call-frame", WI.CallFrameView.iconClassNameForCallFrame(callFrame));
var subtitleElement = document.createElement("span");
subtitleElement.classList.add("subtitle");
var linkElement = document.createElement("a");
linkElement.classList.add("source-link");
linkElement.href = sourceCodeLocation.sourceCode.url;
var separatorElement = document.createElement("span");
separatorElement.classList.add("separator");
separatorElement.textContent = ` ${emDash} `;
var titleElement = document.createElement("span");
titleElement.classList.add("title");
var imgElement = document.createElement("img");
imgElement.classList.add("icon");
end
dataLogger.csvFile:add(
dataLogger.time,
if (WI.sharedApp.debuggableType !== WI.DebuggableType.Web) {
this.element.classList.add(WI.NavigationBar.CollapsedStyleClassName);
return;
this.element.classList.add(WI.NavigationBar.CollapsedStyleClassName);
}
this.element.classList.add("script");
this.addSubview(this._dataGrid);
{
knob.element.classList.add(WI.GradientSlider.DetachingClassName);
this._shadowKnob = new WI.GradientSliderKnob(this);
this._shadowKnob.element.classList.add(WI.GradientSlider.ShadowClassName);
this.element.appendChild(this._shadowKnob.element);
this.element.addEventListener("transitionend", this);
this.element.classList.add(WI.GradientSliderKnob.FadeOutClassName);
this.selected = false;
MissionGroup.add(new SimGroup("GymkhanaArena") {
position = "]] .. params.rootX .. [[ ]] .. params.rootY .. [[ 0";
local roadTS = [[
GymkhanaArena.add(new DecalRoad() {
Material = "line_white_transparent";
local roadTS = [[
GymkhanaArena.add(new DecalRoad() {
Material = "]]..m..[[";
TorqueScript.eval([[
GymkhanaArena.add(new TSStatic() {
shapeName = "levels/driver_training/art/shapes/race/barriersegment]]..skin..[[.dae";
TorqueScript.eval([[
GymkhanaArena.add(new TSStatic() {
shapeName = "levels/driver_training/art/shapes/race/gate.dae";
TorqueScript.eval([[
GymkhanaArena.add(new TSStatic() {
shapeName = "levels/driver_training/art/shapes/race/ring_2m.dae";
TorqueScript.eval([[
GymkhanaArena.add(new TSStatic() {
shapeName = "levels/driver_training/art/shapes/race/barrelmarker_]]..skin..[[.dae";
this.element.classList.add("progress-view");
this._recentlyModifiedAttributes.set(attribute, new Set);
this._recentlyModifiedAttributes.get(attribute).add(node);
this._recentlyModifiedNodes.add(node);
this._recentlyModifiedAttributes.get(attribute).add(node);
this._recentlyModifiedNodes.add(node);
if (parentTreeElement)
parentElementsToUpdate.add(parentTreeElement);
};
-- helpers for collecting strings to be used when assembling the final trace
function Dumper:add (text)
self.lines[#self.lines + 1] = text
function Dumper:add_f (fmt, ...)
self:add(fmt:format(...))
end
if type(message) == "table" then
dumper:add("an error object {\n")
local first = true
if first then
dumper:add(" ")
first = false
else
dumper:add(",\n ")
end
end
dumper:add(safe_tostring(k))
dumper:add(": ")
dumper:add(safe_tostring(k))
dumper:add(": ")
dumper:add(safe_tostring(v))
dumper:add(": ")
dumper:add(safe_tostring(v))
end
end
dumper:add("\n}")
original_error = dumper:concat_lines()
elseif type(message) == "string" then
dumper:add(message)
original_error = message
if level == nil or level_limit == nil then
dumper:add('Simple Stack Trace:')
end
if type(message) == "table" then
dumper:add("an error object {\n")
local first = true
if first then
dumper:add(" ")
first = false
else
dumper:add(",\n ")
end
end
dumper:add(safe_tostring(k))
dumper:add(": ")
dumper:add(safe_tostring(k))
dumper:add(": ")
dumper:add(safe_tostring(v))
dumper:add(": ")
dumper:add(safe_tostring(v))
end
end
dumper:add("\n}")
original_error = dumper:concat_lines()
elseif type(message) == "string" then
dumper:add(message)
original_error = message
dumper:add('\n=============== Stack Traceback >> START >>\n')
--print(error_message)
dumper:add('--------------- << END <<\n')
local cl = select(i, ...)
loop:add(cl)
if type(cl) ~= "function" then
this.element.classList.add("heap-allocations");
imageElement = record[WI.HeapAllocationsTimelineOverviewGraph.RecordElementAssociationSymbol] = document.createElement("img");
imageElement.classList.add("snapshot");
imageElement.addEventListener("click", (event) => {
if (record.heapSnapshot.invalid)
imageElement.classList.add("invalid");
imageElement.classList.add("selected");
this._element = element;
this._element.classList.add("status-button");
this._element.addEventListener("click", this._clicked.bind(this));
else
this._element.classList.add(WI.TreeElementStatusButton.DisabledStyleClassName);
}
this._element = document.createElement("div");
this._element.classList.add("timeline-record-frame");
var frameElement = document.createElement("div");
frameElement.classList.add("frame");
this._element.appendChild(frameElement);
if (frameHeight >= 0.95)
this._element.classList.add("tall");
else
this._updateElementPosition(element, segment.duration / this._record.__displayData.frameDuration, "height");
element.classList.add("duration", segment.taskType);
frameElement.insertBefore(element, frameElement.firstChild);
var streamsList = ['wheelThermalData', 'wheelInfo']; // loading required streams
StreamsManager.add(streamsList); // adding streams
var svg = element[0]
var streamsList = ['shiftPointDebugData', 'engineInfo', 'electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
screenBlurFX_YShader:registerObject()
screenBlurFX:add(screenBlurFX_YShader)
screenBlurFX_XShader:registerObject()
screenBlurFX:add(screenBlurFX_XShader)
simpleBlendShader:registerObject()
screenBlurFX:add(simpleBlendShader)
end
this.element.classList.add("network-detail");
this.element.classList.add("data-grid");
}
add("streamMain", streamUpdateHandler, "stream")
add("hooksMain", mainHookHandler)
function add(id, func, type = "hook") {
if (!handlers[type]) handlers[type] = {}
let contentElement = document.createElement("div");
contentElement.classList.add("input-popover-content");
let label = document.createElement("div");
label.classList.add("label");
label.textContent = this._message;
splineObject:createMesh({{mesh}})
scenetree.MissionGroup:add(splineObject.obj)
be:reloadCollision()
this.element.classList.add("resource-details", "resource-cookies");
}
this.addSubview(this._requestCookiesTable);
detailsElement.classList.add("has-table");
detailsElement.appendChild(this._requestCookiesTable.element);
this.addSubview(this._responseCookiesTable);
detailsElement.classList.add("has-table");
detailsElement.appendChild(this._responseCookiesTable.element);
om:registerObject(nm) --'tmp_'..tostring(os.clock()))
groupBat:add(om.obj)
end
var streamsList = ['shiftDecisionData']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
{
var changedPageContext = this._executionContextList.add(context);
this._childFrameCollection.add(frame);
this._childFrameIdentifierMap.set(frame._id, frame);
if (this._isProvisionalResource(resource)) {
this._provisionalResourceCollection.add(resource);
this.dispatchEventToListeners(WI.Frame.Event.ProvisionalResourceWasAdded, {resource});
} else {
this._resourceCollection.add(resource);
this.dispatchEventToListeners(WI.Frame.Event.ResourceWasAdded, {resource});
{
this._extraScriptCollection.add(script);
be:physicsStopSimulation()
if p then p:add("disconnectActual.physicsStopSimulation") end
local canvas = scenetree.findObject("Canvas")
local canvas = scenetree.findObject("Canvas")
if p then p:add("disconnectActual.findCanvas") end
if not canvas then
log('E', logTag, 'canvas not found')
if p then p:add("disconnectActual.canvasError") end
else
canvas:enableCursorHideIfMouseInactive(false);
if p then p:add("disconnectActual.hideMouse") end
end
TorqueScriptLua.setVar("$sceneLighting::terminateLighting", "true")
if p then p:add("disconnectActual.setVars") end
server.destroy(p)
if p then p:add("disconnectActual.server") end
setMissionFilename("")
setMissionFilename("")
if p then p:add("disconnectActual.filename") end
if loadingScreen then core_gamestate.requestExitLoadingScreen(logTag) end
if loadingScreen then core_gamestate.requestExitLoadingScreen(logTag) end
if p then p:add("disconnectActual.requestExitLoadingScreen") end
local ret
end
if p then p:add("disconnectActual.callback") end
return ret
if loadingScreen == nil then loadingScreen = true end
if p then p:add("disconnectWrapper.bool") end
local function help (p)
core_gamestate.requestEnterLoadingScreen(logTag, help)
if p then p:add("disconnectWrapper.requestEnterLoadingScreen") end
else
help(p)
if p then p:add("disconnectWrapper.help") end
end
let newItems = new Set(extendSelection ? this._selectedItems : null);
newItems.add(item);
if (item)
newItems.add(item);
while (current) {
items.add(current);
if (current === lastItem)
if (className)
p.classList.add(className);
var streamsList = ['pneumaticsData']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
this.element.classList.add("recording-progress");
let statusElement = document.createElement("div");
statusElement.classList.add("status");
statusElement.textContent = WI.UIString("Recording Timeline Data");
if oldGroup then
oldGroup:add(object)
if actionData.placeholderObjects[i] then
if object then
newGroup:add(object)
if destObject then
if object and newGroup.add and newGroup.bringToFront then
newGroup:add(object)
newGroup:bringToFront(object)
add(context)
{
this.element.classList.add("layout-overview");
this.resultElement.classList.add("error");
this.resultElement.textContent = message;
this.element.classList.add("heap-allocations");
if (enable) {
elm.classList.add(focusClass)
if (elm === document.activeElement) return
// set focus-visible class
if (isController.value) target.classList.add(focusClass)
curFocused = target
let noTraceDataElement = this.contentView.element.appendChild(document.createElement("div"));
noTraceDataElement.classList.add("no-trace-data");
let noTraceDataMessageElement = noTraceDataElement.appendChild(document.createElement("div"));
noTraceDataMessageElement.classList.add("message");
noTraceDataMessageElement.textContent = WI.UIString("Call Stack Unavailable");
})
filtersStore.add({ id: 1, type: null, keywords: [] })
}
const request = objectStore.add(message) // Store the message directly
const step = currentStep.value
if (step) completedSteps.value.add(currentStepIndex.value)
if (isLastStep.value) return true
this.element.classList.add("cpu");
this._legendElement = this.element.appendChild(document.createElement("div"));
this._legendElement.classList.add("legend");
this.element.classList.add("recording", this.representedObject.type);
let pathCanvas = document.createElement("canvas");
pathCanvas.classList.add("path");
this._pathContext = pathCanvas.getContext("2d");
if (this.hasChildren)
this._element.classList.add("parent");
if (this.expanded)
if (this.expanded)
this._element.classList.add("expanded");
if (this.selected)
if (this.selected)
this._element.classList.add("selected");
if (this.revealed)
if (this.revealed)
this._element.classList.add("revealed");
if (this._hidden)
if (this._hidden)
this._element.classList.add("hidden");
this._element.classList.add(...this._classNames);
this._element.classList.add("hidden");
this._element.classList.add(...this._classNames);
if (this._hasChildren) {
this._element.classList.add("parent");
if (this.expanded)
if (this.expanded)
this._element.classList.add("expanded");
} else
if (this._revealed)
this._element.classList.add("revealed");
else
if (column["aligned"])
cellElement.classList.add(column["aligned"]);
if (column["group"])
cellElement.classList.add("column-group-" + column["group"]);
let iconElement = document.createElement("div");
iconElement.classList.add("icon");
div.insertBefore(iconElement, div.firstChild);
if (columnIdentifier === this.dataGrid.disclosureColumnIdentifier) {
cellElement.classList.add("disclosure");
if (this.indentPadding) {
if (this._element)
this._element.classList.add("expanded");
if (this._element)
this._element.classList.add("selected");
local function add(type, category, value)
if value then
for k, _ in pairs(rootNode.instances) do
add(entity.deps, 'simobject', k)
end
-- if it has a name, it can be referenced by
add(entity.provides, 'simobject', n.name)
end
if n.class == "BeamNGVehicle" then
add(entity.deps, 'file', n.JBeam)
add(entity.deps, 'file', n.partConfig)
add(entity.deps, 'file', n.JBeam)
add(entity.deps, 'file', n.partConfig)
elseif n.class == "BasicClouds" then
add(entity.deps, 'tex', n.texture)
elseif n.class == "CloudLayer" then
add(entity.deps, 'tex', n.texture)
elseif n.class == "DecalRoad" then
add(entity.deps, 'material', n.material)
elseif n.class == "MeshRoad" then
add(entity.deps, 'material', n.topMaterial)
add(entity.deps, 'material', n.bottomMaterial)
add(entity.deps, 'material', n.topMaterial)
add(entity.deps, 'material', n.bottomMaterial)
add(entity.deps, 'material', n.sideMaterial)
add(entity.deps, 'material', n.bottomMaterial)
add(entity.deps, 'material', n.sideMaterial)
elseif n.class == "River" then
add(entity.deps, 'material', n.topMaterial)
add(entity.deps, 'tex', n.rippleTex)
add(entity.deps, 'material', n.topMaterial)
add(entity.deps, 'tex', n.rippleTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.rippleTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'simobject', n.soundAmbience)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'simobject', n.soundAmbience)
elseif n.class == "WaterPlane" then
add(entity.deps, 'tex', n.rippleTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.rippleTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'tex', n.foamTex)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'simobject', n.soundAmbience)
add(entity.deps, 'tex', n.depthGradientTex)
add(entity.deps, 'simobject', n.soundAmbience)
elseif n.class == "ScatterSky" then
add(entity.deps, 'tex', n.colorizeGradientFile)
add(entity.deps, 'tex', n.sunScalegradientFile)
add(entity.deps, 'tex', n.colorizeGradientFile)
add(entity.deps, 'tex', n.sunScalegradientFile)
add(entity.deps, 'tex', n.ambientScaleGradientFile)
add(entity.deps, 'tex', n.sunScalegradientFile)
add(entity.deps, 'tex', n.ambientScaleGradientFile)
add(entity.deps, 'tex', n.fogScaleGradientFile)
add(entity.deps, 'tex', n.ambientScaleGradientFile)
add(entity.deps, 'tex', n.fogScaleGradientFile)
add(entity.deps, 'material', n.moonMat)
add(entity.deps, 'tex', n.fogScaleGradientFile)
add(entity.deps, 'material', n.moonMat)
add(entity.deps, 'simobject', n.nightCubemap)
add(entity.deps, 'material', n.moonMat)
add(entity.deps, 'simobject', n.nightCubemap)
elseif n.class == "SkyBox" then
add(entity.deps, 'material', n.material)
elseif n.class == "Sun" then
add(entity.deps, 'material', n.coronaMaterial)
elseif n.class == "ForestBrush" then
add(entity.deps, 'simobject', n.forestItemData)
elseif n.class == "ForestItemData" then
add(entity.deps, 'shape', n.shapeFile)
elseif n.class == "Material" then
add(entity.provides, 'material', n.mapTo)
for i = 1, 4 do
for i = 1, 4 do
add(entity.deps, 'tex', n.Stages[i].diffuseMap)
add(entity.deps, 'tex', n.Stages[i].colorMap)
add(entity.deps, 'tex', n.Stages[i].diffuseMap)
add(entity.deps, 'tex', n.Stages[i].colorMap)
add(entity.deps, 'tex', n.Stages[i].overlayMap)
add(entity.deps, 'tex', n.Stages[i].colorMap)
add(entity.deps, 'tex', n.Stages[i].overlayMap)
add(entity.deps, 'tex', n.Stages[i].opacityMap)
add(entity.deps, 'tex', n.Stages[i].overlayMap)
add(entity.deps, 'tex', n.Stages[i].opacityMap)
add(entity.deps, 'tex', n.Stages[i].colorPaletteMap)
add(entity.deps, 'tex', n.Stages[i].opacityMap)
add(entity.deps, 'tex', n.Stages[i].colorPaletteMap)
add(entity.deps, 'tex', n.Stages[i].lightMap)
add(entity.deps, 'tex', n.Stages[i].colorPaletteMap)
add(entity.deps, 'tex', n.Stages[i].lightMap)
add(entity.deps, 'tex', n.Stages[i].toneMap)
add(entity.deps, 'tex', n.Stages[i].lightMap)
add(entity.deps, 'tex', n.Stages[i].toneMap)
add(entity.deps, 'tex', n.Stages[i].detailMap)
add(entity.deps, 'tex', n.Stages[i].toneMap)
add(entity.deps, 'tex', n.Stages[i].detailMap)
add(entity.deps, 'tex', n.Stages[i].normalMap)
add(entity.deps, 'tex', n.Stages[i].detailMap)
add(entity.deps, 'tex', n.Stages[i].normalMap)
add(entity.deps, 'tex', n.Stages[i].detailNormalMap)
add(entity.deps, 'tex', n.Stages[i].normalMap)
add(entity.deps, 'tex', n.Stages[i].detailNormalMap)
add(entity.deps, 'tex', n.Stages[i].specularMap)
add(entity.deps, 'tex', n.Stages[i].detailNormalMap)
add(entity.deps, 'tex', n.Stages[i].specularMap)
add(entity.deps, 'tex', n.Stages[i].annotationMap)
add(entity.deps, 'tex', n.Stages[i].specularMap)
add(entity.deps, 'tex', n.Stages[i].annotationMap)
add(entity.deps, 'tex', n.Stages[i].envMap)
add(entity.deps, 'tex', n.Stages[i].annotationMap)
add(entity.deps, 'tex', n.Stages[i].envMap)
-- old stuff
-- old stuff
add(entity.deps, 'tex', n.Stages[i].baseTex)
add(entity.deps, 'tex', n.Stages[i].detailTex)
add(entity.deps, 'tex', n.Stages[i].baseTex)
add(entity.deps, 'tex', n.Stages[i].detailTex)
add(entity.deps, 'tex', n.Stages[i].overlayTex)
add(entity.deps, 'tex', n.Stages[i].detailTex)
add(entity.deps, 'tex', n.Stages[i].overlayTex)
add(entity.deps, 'tex', n.Stages[i].bumpTex)
add(entity.deps, 'tex', n.Stages[i].overlayTex)
add(entity.deps, 'tex', n.Stages[i].bumpTex)
add(entity.deps, 'tex', n.Stages[i].envTex)
add(entity.deps, 'tex', n.Stages[i].bumpTex)
add(entity.deps, 'tex', n.Stages[i].envTex)
end
end
add(entity.deps, 'simobject', n.cubemap)
elseif n.class == "SFXAmbience" then
add(entity.deps, 'simobject', n.environment)
add(entity.deps, 'simobject', n.soundTrack)
add(entity.deps, 'simobject', n.environment)
add(entity.deps, 'simobject', n.soundTrack)
elseif n.class == "SFXDescription" then
add(entity.deps, 'simobject', n.environment)
elseif n.class == "DecalData" then
add(entity.deps, 'material', n.material)
elseif n.class == "GroundCover" then
add(entity.deps, 'material', n.material)
add(entity.deps, 'shape', n.shapeFilename)
add(entity.deps, 'material', n.material)
add(entity.deps, 'shape', n.shapeFilename)
add(entity.deps, 'SimObject', n.layer)
add(entity.deps, 'shape', n.shapeFilename)
add(entity.deps, 'SimObject', n.layer)
elseif n.class == "ParticleData" then
add(entity.deps, 'tex', n.animTexFrames)
add(entity.deps, 'tex', n.textureName)
add(entity.deps, 'tex', n.animTexFrames)
add(entity.deps, 'tex', n.textureName)
add(entity.deps, 'tex', n.animTexName)
add(entity.deps, 'tex', n.textureName)
add(entity.deps, 'tex', n.animTexName)
elseif n.class == "ParticleEmitterData" then
add(entity.deps, 'simobject', n.particles)
add(entity.deps, 'tex', n.textureName)
add(entity.deps, 'simobject', n.particles)
add(entity.deps, 'tex', n.textureName)
elseif n.class == "PrecipitationData" then
add(entity.deps, 'simobject', n.soundProfile)
add(entity.deps, 'tex', n.dropTexture)
add(entity.deps, 'simobject', n.soundProfile)
add(entity.deps, 'tex', n.dropTexture)
add(entity.deps, 'tex', n.dropShader)
add(entity.deps, 'tex', n.dropTexture)
add(entity.deps, 'tex', n.dropShader)
add(entity.deps, 'tex', n.splashTexture)
add(entity.deps, 'tex', n.dropShader)
add(entity.deps, 'tex', n.splashTexture)
add(entity.deps, 'tex', n.splashShader)
add(entity.deps, 'tex', n.splashTexture)
add(entity.deps, 'tex', n.splashShader)
elseif n.class == "ConvexShape" then
add(entity.deps, 'material', n.material)
elseif n.class == "GroundPlane" then
add(entity.deps, 'material', n.material)
elseif n.class == "LevelInfo" then
add(entity.deps, 'simobject', n.globalEnviromentMap)
-- soundAmbience
elseif n.class == "TSStatic" then
add(entity.deps, 'shape', n.shapeName)
end
proc.canSave = false
scenetree.MissionGroup:add(proc.obj)
proc:createMesh({{mesh}})
this.element.classList.add("sidebar-navigation-bar");
this._holderElement = this.element.appendChild(document.createElement("div"));
this.element.classList.add("text");
this.element.classList.add("dom-events-breakdown");
}
let timeHeadCell = headRowElement.appendChild(document.createElement("th"));
timeHeadCell.classList.add("time");
timeHeadCell.textContent = WI.UIString("Time");
let originatorHeadCell = headRowElement.appendChild(document.createElement("th"));
originatorHeadCell.classList.add("originator");
originatorHeadCell.textContent = WI.UIString("Originator");
let nameCell = rowElement.appendChild(document.createElement("td"));
nameCell.classList.add("name");
nameCell.textContent = domEvent.eventName;
let graphCell = rowElement.appendChild(document.createElement("td"));
graphCell.classList.add("graph");
let fullscreenArea = graphCell.appendChild(document.createElement("div"));
fullscreenArea.classList.add("area", "fullscreen");
fullscreenArea.style.setProperty(styleAttribute, percentOfTotalTime(fullscreenRange.startTimestamp - startTimestamp) + "%");
let powerEfficientPlaybackArea = graphCell.appendChild(document.createElement("div"));
powerEfficientPlaybackArea.classList.add("area", "power-efficient-playback");
powerEfficientPlaybackArea.title = WI.UIString("Power Efficient Playback");
let timeCell = rowElement.appendChild(document.createElement("td"));
timeCell.classList.add("time");
let originatorCell = rowElement.appendChild(document.createElement("td"));
originatorCell.classList.add("originator");
if (domEvent.originator) {
rowElement.classList.add("inherited");
this.element.classList.add("has-inherited");
rowElement.classList.add("inherited");
this.element.classList.add("has-inherited");
}
p:registerObject(objName)
--MissionCleanup.add(%p)
return p
let streamsList = ['genericGraphAdvanced']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
om:setName('o_'..nm..'_'..id)
group:add(om.obj)
om:createMesh({data})
if oid then
groupEdit:add(om.obj)
aid[#aid+1] = oid
end
-- groupEdit:add(om.obj)
end
if newid then
scenetree.MissionGroup:add(om.obj)
id = newid
if oid then
groupEdit:add(om.obj)
aid[#aid+1] = oid
lo('?? for_DAE:'..tostring(om.obj)..':'..nm..':'..id) --..':'..om.__parent)
groupBat:add(om.obj)
local x = center.x + math.random(2*R) - R
om:registerObject(nm) --'tmp_'..tostring(os.clock()))
groupEdit:add(om.obj)
]]
om:registerObject(nm) --'tmp_'..tostring(os.clock()))
groupBat:add(om.obj)
end
this.element.classList.add("dom-node-details", "dom-events");
var connectionIndicatorElement = document.createElement("div");
connectionIndicatorElement.classList.add("ready-state", "connecting");
connectionIndicatorElement.title = WI.UIString("Connecting");
var connectionIndicatorElement = document.createElement("div");
connectionIndicatorElement.classList.add("ready-state", "open");
connectionIndicatorElement.title = WI.UIString("Open");
var streamsList = ['wheelThermalData', 'engineInfo']
StreamsManager.add(streamsList)
let buttonElement = fragment.appendChild(document.createElement("span"));
buttonElement.classList.add("more");
buttonElement.textContent = WI.UIString("Show %d More").format(this._batchCount);
let buttonElement = fragment.appendChild(document.createElement("span"));
buttonElement.classList.add("more");
buttonElement.textContent = WI.UIString("Show Remaining (%d)").format(this._remainingCount);
var streamsList = ['wheelInfo', 'electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
// StreamManager has a built-in system to track multiple consumers, so we don't need to track anything here
bridge.streams.add(names)
bridge.events.on("onStreamsUpdate", callback)
this.element.classList.add("canvas");
this.element.classList.add("open-resource-dialog");
let fieldElement = this.element.appendChild(document.createElement("div"));
fieldElement.classList.add("field");
let highlightSpan = document.createElement("span");
highlightSpan.classList.add("highlighted");
highlightSpan.append(title.substring(textRange.startColumn, textRange.endColumn));
this._anonymousScriptsFolderTreeElement.representedObject.add(representedObject);
if (parentFolderTreeElement)
parentFolderTreeElement.representedObject.add(script);
if (layer.isReflection)
element.classList.add("reflection");
else if (layer.pseudoElement)
else if (layer.pseudoElement)
element.classList.add("pseudo-element");
}
if gameplay_drift_general.getGeneralDebug() then
profiler:add("Drift detection")
gc = profiler.sections[1].garbage
for (let instrument of this._instruments)
this._firstRecordOfTypeAfterDiscontinuity.add(instrument.timelineRecordType);
}
case "name":
cell.classList.add(...this.iconClassNames());
return value;
scenetree.MissionGroup:add(splineObject.obj)
splineObject:createMesh(segment.meshes)
this.element.classList.add(WI.SpreadsheetCSSStyleDeclarationEditor.StyleClassName);
this.element.classList.add("network");
this.addSubview(this._dataGrid);
this.element.classList.add("simple");
else
this.element.classList.add(WI.DetailsSectionSimpleRow.DataStyleClassName);
} else {
} else {
this.element.classList.add(WI.DetailsSectionSimpleRow.EmptyStyleClassName);
this.element.classList.remove(WI.DetailsSectionSimpleRow.DataStyleClassName);
if (flag) {
this.element.classList.add(WI.RadioButtonNavigationItem.SelectedStyleClassName);
this.element.setAttribute("aria-selected", "true");
if (!isSelected) {
this.element.classList.add(WI.RadioButtonNavigationItem.SelectedStyleClassName);
this.element.setAttribute("aria-selected", "true");
maincef:registerObject("maincef")
onlyGui:add(maincef)
end
if (!dep.has(activeEffect)) {
dep.add(activeEffect);
activeEffect.deps.push(dep);
if (effect !== activeEffect || effect.allowRecurse) {
effects.add(effect);
}
if (key === 'length' || key >= newValue) {
add(dep);
}
if (key !== void 0) {
add(depsMap.get(key));
}
if (!isArray(target)) {
add(depsMap.get(ITERATE_KEY));
if (isMap(target)) {
if (isMap(target)) {
add(depsMap.get(MAP_KEY_ITERATE_KEY));
}
// new index added to array -> length changes
add(depsMap.get('length'));
}
if (!isArray(target)) {
add(depsMap.get(ITERATE_KEY));
if (isMap(target)) {
if (isMap(target)) {
add(depsMap.get(MAP_KEY_ITERATE_KEY));
}
if (isMap(target)) {
add(depsMap.get(ITERATE_KEY));
}
}
function add(value) {
value = toRaw(value);
if (!hadKey) {
target.add(value);
trigger(target, "add" /* ADD */, value, value);
}
record.instances.add(instance);
}
// on patch.
hmrDirtyComponents.add(component);
// 3. Make sure to unmark the component after the reload.
}
seen.add(value);
if (isRef(value)) {
keys.delete(key);
keys.add(key);
}
else {
keys.add(key);
// prune oldest entry
else if (plugin && isFunction(plugin.install)) {
installedPlugins.add(plugin);
plugin.install(app, ...options);
else if (isFunction(plugin)) {
installedPlugins.add(plugin);
plugin(app, ...options);
function addTransitionClass(el, cls) {
cls.split(/\s+/).forEach(c => c && el.classList.add(c));
(el._vtc ||
(el._vtc ||
(el._vtc = new Set())).add(cls);
}
}
moveClass.split(/\s+/).forEach(c => c && clone.classList.add(c));
clone.style.display = 'none';
if (checked) {
cloned.add(elementValue);
}
}
nameSet.add(name);
if (name[0] === '=') {
}
seenSlotNames.add(staticSlotName);
if (staticSlotName === 'default') {
context.helper(RESOLVE_COMPONENT);
context.components.add(tag);
return toValidAssetId(tag, `component`);
context.helper(RESOLVE_DIRECTIVE);
context.directives.add(dir.name);
dirArgs.push(toValidAssetId(dir.name, `directive`));
}
seen.add(node);
context.helper(SET_BLOCK_TRACKING);
var streamsList = ['sensors']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
add(key, value)
{
this.element.classList.add("column-chart");
seenPropertyNames.add(propertyName);
requestedValues.push(this.getProperty(propertyName));
this.element.classList.add("audit-test-group");
this.element.classList.toggle("contains-test-case", this._subobjects().some((test) => test instanceof WI.AuditTestCase || test instanceof WI.AuditTestCaseResult));
let informationContainer = this.headerView.element.appendChild(document.createElement("div"));
informationContainer.classList.add("information");
this._percentageContainer = this.headerView.element.appendChild(document.createElement("div"));
this._percentageContainer.classList.add("percentage-pass");
this._percentageContainer.hidden = true;
var searchElement = document.createElement("div");
searchElement.classList.add("search-bar");
this.element.appendChild(searchElement);
continue;
preventDuplicates.add(key);
{
this.element.classList.add("changed");
this._changedBanner = document.createElement("div");
this._changedBanner.classList.add("banner");
this._changedBanner.append(WI.UIString("The page's content has changed"), document.createElement("br"));
let streamsList = ['genericGraphSimple']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this._suggestionHintElement.contentEditable = false;
this._suggestionHintElement.classList.add("completion-hint");
this._suggestionsView = new WI.CompletionSuggestionsView(this, {preventBlur: true});
this._element.classList.add("spreadsheet-text-field");
this._element.classList.add("editing");
this._element.contentEditable = "plaintext-only";
om:registerObject(val) --'tmp_'..tostring(os.clock()))
scenetree.findObject('edit'):add(om.obj)
-- local box = om:getWorldBox()
this._savedRecordings.add(recording);
canvas.shaderProgramCollection.add(program);
}
recording.createDisplayName(recording.displayName);
this._savedRecordings.add(recording);
this.dispatchEventToListeners(WI.CanvasManager.Event.RecordingSaved, {recording});
TorqueScriptLua.setVar("$instantGroup", 0)
if p then p:add("endMission.vars") end
clientEndMission(missionFilename)
clientEndMission(missionFilename)
if p then p:add("endMission.clientEndMission") end
end
if p then p:add("endMission.editorGui") end
end
if p then p:add("endMission.audio") end
decalManagerClear()
if p then p:add("endMission.decals") end
scenetree.MissionGroup:deleteAllObjects()
if p then p:add("endMission.deleteObjects") end
scenetree.MissionGroup:delete()
scenetree.MissionGroup:delete()
if p then p:add("endMission.delete") end
end
scenetree.MissionCleanup:delete()
if p then p:add("endMission.cleanup") end
end
scenetree.LevelLoadingGroup:delete()
if p then p:add("endMission.levelLoading") end
end
clearLevelLogs()
if p then p:add("endMission.clearLogs") end
end
setMissionPath("")
if p then p:add("endMission.finalSet") end
end
TorqueScriptLua.setVar("$missionRunning", "false")
if p then p:add("server.destroy.setvar") end
endMission(p)
if p then p:add("server.destroy.endMission") end
be:physicsDestroyWorld()
if p then p:add("server.destroy.physics") end
TorqueScriptLua.setVar("$Server::GuidList", "")
if p then p:add("server.destroy.setvar") end
be:deleteDataBlocks()
if p then p:add("server.destroy.datablocks") end
TorqueScriptLua.setVar("$Server::Session", sessionCnt)
if p then p:add("server.destroy.sessioncount") end
rawset(_G, 'gameConnection', nil) -- backward compatibility
if p then p:add("server.destroy.rawsets") end
end
if #missingSidecarFiles > 0 then
notification.add("Textures", "Missing texture meta files",
function()
if #missingSidecarFiles > 0 then
notification.add("Textures", "Missing texture meta files",
function()
let element = document.createElement("section");
element.classList.add("spreadsheet-css-declaration");
this._headerElement = document.createElement("div");
this._headerElement.classList.add("header");
this._selectorElement = document.createElement("span");
this._selectorElement.classList.add("selector");
this._selectorElement.addEventListener("mouseenter", this._highlightNodesWithSelector.bind(this));
this._openBrace = document.createElement("span");
this._openBrace.classList.add("open-brace");
this._openBrace.textContent = " {";
this._selectorTextField.addEventListener(WI.SpreadsheetSelectorField.Event.StartedEditing, (event) => {
this._headerElement.classList.add("editing-selector");
});
this._propertiesEditor = new WI.SpreadsheetCSSStyleDeclarationEditor(this, this._style);
this._propertiesEditor.element.classList.add("properties");
this._propertiesEditor.addEventListener(WI.SpreadsheetCSSStyleDeclarationEditor.Event.FilterApplied, this._handleEditorFilterApplied, this);
this._closeBrace = document.createElement("span");
this._closeBrace.classList.add("close-brace");
this._closeBrace.textContent = "}";
if (!this._style.editable)
this._element.classList.add("locked");
else if (!this._style.ownerRule)
else if (!this._style.ownerRule)
this._element.classList.add("selector-locked");
if (matched)
selectorElement.classList.add(WI.SpreadsheetCSSStyleDeclarationSection.MatchedSelectorElementStyleClassName);
selectorElement.textContent = selectorText;
selectorElement.classList.add(WI.SpreadsheetCSSStyleDeclarationSection.MatchedSelectorElementStyleClassName);
};
this._selectorElement.textContent = WI.UIString("Style Attribute", "CSS properties defined via HTML style attribute");
this._selectorElement.classList.add("style-attribute");
break;
let mediaElement = document.createElement("div");
mediaElement.classList.add("header-media");
this._mouseDownIndex = propertyIndex;
this._element.classList.add("selecting");
} else
if (mediaElement.textContent.includes(this._filterText)) {
mediaElement.classList.add(WI.GeneralStyleDetailsSidebarPanel.FilterMatchSectionClassName);
matchesMedia = true;
if (selectorElement.textContent.includes(this._filterText)) {
selectorElement.classList.add(WI.GeneralStyleDetailsSidebarPanel.FilterMatchSectionClassName);
matchesSelector = true;
if (!matches)
this._element.classList.add(WI.GeneralStyleDetailsSidebarPanel.NoFilterMatchInSectionClassName);
this.element.classList.add("storage-view", "query", "monospace");
csvLog = require('csvlib').newCSV("fileName", "externalForce", "speedDiffSmootherOutRate")
csvLog:add(fileName, externalForce, speedDiffSmoother[true])
csvLog:write("settings_"..fileName)
local timeDiff = scriptTime - time -- negative value indicates vehicle is lagging script
if csvLog then csvLog:add(time, aiPos.x, aiPos.y, aiPos.z, timeDiff, speedDiffSmoother[true]) end
var streamsList = ['forcedInductionInfo']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
if scenetree.MissionGroup then
scenetree.MissionGroup:add(scenetreeObject)
else
this.element.classList.add("dom", WI.SyntaxHighlightedStyleClassName);
if (showLastSelected)
this.element.classList.add("show-last-selected");
continue;
removedDOMNodes.add(treeElement.representedObject);
treeElement.remove();
this.dragOverTreeElement = treeElement;
treeElement.listItemElement.classList.add("elements-drag-over");
treeElement.updateSelectionArea();
this._element.classList.add("search-bar");
this._timelineRecordingWarningElement = document.createElement("div");
this._timelineRecordingWarningElement.classList.add("warning-banner");
this._timelineRecordingWarningElement.append(WI.UIString("Debugger disabled during Timeline recording"), document.createElement("br"));
this._auditTestWarningElement = document.createElement("div");
this._auditTestWarningElement.classList.add("warning-banner");
this._auditTestWarningElement.append(WI.UIString("Debugger disabled during Audit"), document.createElement("br"));
this._breakpointsDisabledWarningElement = document.createElement("div");
this._breakpointsDisabledWarningElement.classList.add("warning-banner");
this._breakpointsDisabledWarningElement.append(WI.UIString("Breakpoints disabled"), document.createElement("br"));
this.element.classList.add(WI.DebuggerSidebarPanel.DebuggerPausedStyleClassName);
}
let targetDescriptionRow = new WI.DetailsSectionSimpleRow(WI.UIString("Details"), fragment);
targetDescriptionRow.element.classList.add("target-description");
this.element.classList.add("pinned");
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("text");
if gameplay_drift_general.getGeneralDebug() then
profiler:add("Drift bounds")
gc = profiler.sections[1].garbage
this.element.classList.add("area-chart");
map.updateGFX(dtReal, dtSim)
if geluaProfiler then geluaProfiler:add("luaPreRender map update") end
extensions.hook('onPreRender', dtReal, dtSim, dtRaw)
extensions.hook('onPreRender', dtReal, dtSim, dtRaw)
if geluaProfiler then geluaProfiler:add("luaPreRender extensions") end
if geluaProfiler then geluaProfiler:add("luaPreRender drawdebug") end
if geluaProfiler then geluaProfiler:add("luaPreRender ending") end
end
simTimeAuthority.update(dtReal)
if geluaProfiler then geluaProfiler:add("update beginning") end
extensions.hook('onUpdate', dtReal, dtSim, dtRaw)
if geluaProfiler then geluaProfiler:add("update extensions") end
if be:getUpdateUIflag() then
extensions.hook('onGuiUpdate', dtReal, dtSim, dtRaw)
if geluaProfiler then geluaProfiler:add("update onGuiUpdate") end
if geluaProfiler then geluaProfiler:add("update ending") end
if geluaProfiler then
extensions.hook('onPreExit')
p:add("extensions.onPreExit")
p:finish(true)
extensions.hook('onExit')
p:add("extensions.onExit")
serverConnection.noLoadingScreenDisconnect(p)
p:add("noLoadingScreenDisconnect")
PhysicsPlugin.destroy()
p:add("PhysicsPlugin")
-- Parent::onExit();
p:add("ParentOnExit")
local mainEventManager = scenetree.findObject("MainEventManager")
p:add("MainEventManager.find")
if mainEventManager then
mainEventManager:postEvent("onExit", 0)
p:add("MainEventManager.onExit")
else
log("E","", "Couldn't find event manager 'MainEventManager'")
p:add("MainEventManager.onError")
end
postFxModule.savePresetFile('settings/postfxSettings.postfx')
p:add("savePostFx")
settings.exit()
settings.exit()
p:add("settings")
p:finish(true)
-- -- fb:registerObject(fb:getName())
-- -- forestBrushGroup:add(fb)
-- end
var streamsList = ['electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("changes-panel");
}
let resourceSection = this.element.appendChild(document.createElement("section"));
resourceSection.classList.add("resource-section");
let resourceHeader = resourceSection.appendChild(document.createElement("div"));
resourceHeader.classList.add("header");
resourceHeader.append(styleSheet.isInlineStyleAttributeStyleSheet() ? styles[0].selectorText : this._createLocationLink(styleSheet));
let ruleElement = document.createElement("div");
ruleElement.classList.add("css-rule");
selectorElement.textContent = WI.UIString("Style Attribute");
selectorElement.classList.add("style-attribute");
} else
let propertyLineElement = ruleElement.appendChild(document.createElement("div"));
propertyLineElement.classList.add("css-property-line", className);
if (this._listItemNode)
this._listItemNode.classList.add(...this._classNames);
}
if (this._listItemNode)
this._listItemNode.classList.add(className);
}
this._listItemNode.classList.add("item");
if (this._classNames)
this._listItemNode.classList.add(...this._classNames);
this._subtitleElement.textContent = "";
this._titlesElement.classList.add(WI.GeneralTreeElement.NoSubtitleStyleClassName);
}
this.element.classList.add("canvas-overview");
this._savedRecordingsContentView = new WI.ContentView;
this._savedRecordingsContentView.element.classList.add("canvas", "saved-recordings");
this.addSubview(this._savedRecordingsContentView);
this._overviewTreeElement.appendChild(new WI.CanvasTreeElement(canvas));
this._canvasCollection.add(canvas);
if (data.value[id]) remove(id)
add(id, actionFn, immediateStart, options)
}
var streamsList = ['sensors']
StreamsManager.add(streamsList)
var streamsList = ['sensors', 'electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
im.Dummy(imVec01)
if p then p:add("setup") end
ui_apps_minimap_utils.drawGrid()
if p then p:add("Grid") end
end
firstPass = false
if p then p:add("Roads BG") end
end
firstPass = false
if p then p:add("Roads FG") end
end
ui_apps_minimap_route.drawNavigationRoute(td, dpi)
if p then p:add("Navigation") end
ui_apps_minimap_route.drawRoutePointer(td)
ui_apps_minimap_route.drawRoutePointer(td)
if p then p:add("Route Pointer") end
end
td:circle(width/2 + offsetX,height/2 + offsetY, 100/scale-w, w, 0, 0, color(255,255,255,0),color(255,255,255,250), 0, layers.GAMEPLAY_MARKERS)
if p then p:add("100mRadius") end
end
drawPlaymodeMarkers()
if p then p:add("Playmode Markers") end
end
ui_apps_minimap_vehicles.drawOtherVehicles(dtReal, dtSim)
if p then p:add("Other Vehicles") end
scaleInverse = 1/scale
if p then p:add("Player") end
end
M.drawOcclusion(offsetX, offsetY)
if p then p:add("Occlusion") end
drawCompass(offsetX, offsetY)
if p then p:add("Compass") end
end
M.drawDebugOverlay()
if p then p:add("Debug Overlay") end
end
im.PushStyleVar2(im.StyleVar_WindowPadding, padding)
if p then p:add("Canvas and window setup") end
if im.Begin("SDF Minimap",nil, bit.bor(im.WindowFlags_NoScrollbar, im.WindowFlags_NoScrollWithMouse, im.WindowFlags_NoTitleBar, im.WindowFlags_NoResize, im.WindowFlags_NoMove, im.WindowFlags_NoInputs, im.WindowFlags_Modal)) then
if debugSettingsOpen then
if p then p:add("debugSettings window") end
if im.Begin("SDF Minimap debugSettings") then
local time = math.floor(timer * 1000) / 1000 -- Make sure time doesn't have dozen of digits
csvData:add(time, velocityy, targetSpeed, u)
timer = timer + dtSim
end)
p:add("sort groups")
local data = getDataFunction()
p:add("getUiData")
local pathType = path.keys[1]
p:add("setupValidFilters")
p:add("lua function finished, sending groups to UI...")
p:finish(true)
this._element = element || document.createElement("div");
this._element.classList.add("filter-bar");
let resourcesCollectionForType = this.resourceCollectionForType(resource.type);
resourcesCollectionForType.add(resource);
}
let resourcesWithNewType = this.resourceCollectionForType(resource.type);
resourcesWithNewType.add(resource);
this.element.classList.add("panel", identifier);
this._contentView = new WI.View;
this._contentView.element.classList.add("content");
this.addSubview(this._contentView);
local modelList, configList, modelAndConfigList = {}, {}, {}
p:add("displayData")
for modelName, _ in pairs(core_vehicles.getModelsData()) do
end
p:add("vehicle and config list")
filterInstance.initializeFilters(modelAndConfigList)
uiData.activeFilters, uiData.onlyCommonFilters = filterInstance.calculateActiveFilters()
p:add("filterList")
-- Update uiData
uiData.displayInfo = core_vehicles.displayInfo
p:add("uiData finished")
p:finish(true)
if tag and tag ~= "" and tag ~= "undefined" then
M.p:add(tag)
else
else
M.p:add("profilerFinish (no tag, UI is now ready)")
M.p:finish(true)
if (property.inherited)
WI.CSSKeywordCompletions.InheritedProperties.add(property.name);
for (var value of existingValues)
union.add(value);
for (var value of newValues)
for (var value of newValues)
union.add(value);
*/
function add(item, index) {
if ( !item ) return -1;
if (angular.isUndefined(result)) {
result = add(validated);
}
function add(query) {
var result = mqls[query] = $window.matchMedia(query);
rgCtrl.add(render);
attr.$observe('value', render);
if (isScrollable) {
selectNode.classList.add('md-overflow');
}
var deregister = $$sticky.add(element, stickyClone || element.clone());
scope.$on('$destroy', deregister);
// Add an element and its sticky clone to this content's sticky collection
function add(element, stickyClone) {
stickyClone.addClass('md-sticky-clone');
case "name":
cell.classList.add(...this.iconClassNames());
return value;
this._element.classList.add("scope-bar");
var container = document.createElement("span");
container.classList.add(WI.CodeMirrorCompletionController.CompletionHintStyleClassName);
container.textContent = text;
this.element.classList.add("script");
this.element.classList.remove(...Object.values(WI.ButtonNavigationItem.Style));
this.element.classList.add(newButtonStyle);
$scope.$on('editApps', (_, mode) => {
if (mode) $element[0].classList.add('editable')
else $element[0].classList.remove('editable')
$element[0].classList.add('active')
$document.on('mousemove', translate)
-- @return true on success or false and error message on failure
function ioloop_mt:add(client)
local clients = self.clients
this._element = document.createElement("div");
this._element.classList.add(WI.TabBarItem.StyleClassName);
this._element.setAttribute("role", "tab");
this._iconElement = document.createElement("img");
this._iconElement.classList.add("icon");
this._element.appendChild(this._iconElement);
var streamsList = ['engineInfo']
StreamsManager.add(streamsList)
for (let item of items)
this.add(item);
}
add(item)
{
console.assert(!this._items.has(item));
this._items.add(item);
this._element = element;
this._element.classList.add("spreadsheet-selector-field");
let element = this._element;
element.classList.add("editing");
element.contentEditable = "plaintext-only";
this.element.classList.add("dom-storage");
else
editingNode.element.classList.add(WI.DOMStorageContentView.MissingKeyStyleClassName);
} else if (isEditingValue) {
else
editingNode.element.classList.add(WI.DOMStorageContentView.MissingValueStyleClassName);
}
if (domStorage.entries.has(key))
editingNode.element.classList.add(WI.DOMStorageContentView.DuplicateKeyStyleClassName);
else
this.element.classList.add("text-editor", WI.SyntaxHighlightedStyleClassName);
this.element.classList.add("settings-view", identifier);
}
let separatorElement = this.element.appendChild(document.createElement("div"));
separatorElement.classList.add("separator");
}
containerElement.append(...nodes);
containerElement.classList.add("container", "container-centered");
this.element.append(containerElement);
lines:add(svg.Polyline({p1.x - minX, maxY - p1.y, p2.x - minX, maxY - p2.y}, {
fill = 'none',
end
svgDoc:add(lines)
end
local p = n.pos - terrainPosition
nodes:add(svg.Circle(p.x - minX, maxY - p.y, n.radius, {
fill = 'black',
end
svgDoc:add(nodes)
end
if dataToCSV then
dataToCSV:add(0, trajectory.energy)
end
if dataToCSV then
dataToCSV:add(i, trajectory.energy)
end
for i = 1, #trajectory do
trajectoryToCSV2:add(trajectory[i].pos.x, trajectory[i].pos.y, trajectory[i].pos.z, trajectory[i].halfWidth)
end
this.element.classList.add("network");
rowRecords.__element = document.createElement("div");
rowRecords.__element.classList.add("graph-row");
this.element.appendChild(rowRecords.__element);
let disclosureButton = document.createElement("button");
disclosureButton.classList.add("disclosure-button");
disclosureButton.addEventListener("click", this._onDisclosureButtonClick.bind(this));
rayShaderPFX:registerObject()
lightRayPostFX:add(rayShaderPFX)
end
func(...)
profiler:add(extCallName)
end
accessible = true -- keeping this for later, when we have bg activities again
if p then p:add("getMissionsAtLocation") end
for _, cluster in ipairs(gameplay_missions_clustering.getAllClusters(freeroam_bigMapMode.bigMapActive() and freeroam_bigMapMode.clusterMergeRadius)) do
]]
if p then p:add("Missions complete") end
return changed
function add(left, top, width, bottom) {
if (top < 0) { top = 0 }
if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part
add(left, leftPos.top, null, leftPos.bottom)
left = leftSide
left = leftSide
if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top) }
}
if (left < leftSide + 1) { left = leftSide }
add(left, rightPos.top, right - left, rightPos.bottom)
})
if (leftEnd.top < rightStart.top - 2) {
add(leftEnd.right, leftEnd.top, null, leftEnd.bottom)
add(leftSide, rightStart.top, rightStart.left, rightStart.bottom)
add(leftEnd.right, leftEnd.top, null, leftEnd.bottom)
add(leftSide, rightStart.top, rightStart.left, rightStart.bottom)
} else {
} else {
add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom)
}
if (leftEnd.bottom < rightStart.top)
{ add(leftSide, leftEnd.bottom, null, rightStart.top) }
}
this.element.classList.add("profile");
element[key] = guidanceElement;
guidanceElement.classList.add("guidance", type);
guidanceElement.classList.toggle("base", node === baseElement);
this.element.classList.add("overview");
this.addSubview(this._dataGrid);
{
this._highlightedAttributes.add(name);
}
if (this.hovered)
this.listItemElement.classList.add("hovered");
listItemElement.addEventListener("animationend", this._boundHighlightAnimationEnd);
listItemElement.classList.add(WI.DOMTreeElement.HighlightStyleClassName);
}
if (this._highlightedAttributes.has(name))
attrSpanElement.classList.add("highlight");
}
fragmentElement.textContent = WI.UIString("Shadow Content (%s)").format(WI.DOMTreeElement.shadowRootTypeDisplayName(node.shadowRootType()));
this.listItemElement.classList.add("shadow");
} else if (node.parentNode && node.parentNode.templateContent() === node) {
fragmentElement.textContent = WI.UIString("Template Content");
this.listItemElement.classList.add("template");
} else {
fragmentElement.textContent = WI.UIString("Document Fragment");
this.listItemElement.classList.add("fragment");
}
element.addEventListener("animationend", existing.listener, {once: true});
element.classList.add("node-state-changed");
}
this._pseudoClassIndicatorElement = document.createElement("div");
this._pseudoClassIndicatorElement.classList.add("pseudo-class-indicator");
}
this._subtreeBreakpointTreeElements = new Set;
this._subtreeBreakpointTreeElements.add(treeElement);
} else {
this._statusImageElement = WI.ImageUtilities.useSVGSymbol("Images/DOMBreakpoint.svg", "status-image");
this._statusImageElement.classList.add("breakpoint");
this._statusImageElement.addEventListener("click", this._statusImageClicked.bind(this));
if (this.streams) {
window.bridge.streams.add(this.streams)
}
proc.canSave = false
scenetree.MissionGroup:add(proc.obj)
proc:createMesh({{mesh}})
if (this.streams) {
window.bridge.streams.add(this.streams)
}
editor.logWarn(string.format("%s - Not able to create font atlas for '%s'", logTag, path))
notification.add("Fonts", "Font Atlas creation failed", "Font Atlas creation failed. Check logs for more info.", notification.levels.error)
end
var span = document.createElement("span");
span.classList.add("type-token");
if (shouldHaveRightMargin)
if (shouldHaveRightMargin)
span.classList.add("type-token-right-spacing");
if (shouldHaveLeftMargin)
if (shouldHaveLeftMargin)
span.classList.add("type-token-left-spacing");
this._colorClass = WI.TypeTokenView.ColorClassForType[hashString] || "type-token-default";
this.element.classList.add(this._colorClass);
}
function Event.add(self, fun)
check_function(fun)
this._extensions.add(extension);
this._recordingCollection.add(recording);
}
this.element.classList.add("table", identifier);
this.element.tabIndex = 0;
let cell = document.createElement("span");
cell.classList.add("cell", column.identifier);
cell.textContent = column.name;
if (column.align)
cell.classList.add("align-" + column.align);
if (column.sortable) {
if (column.sortable) {
cell.classList.add("sortable");
cell.addEventListener("click", this._handleHeaderCellClicked.bind(this, column));
let cell = document.createElement("span");
cell.classList.add("cell", column.identifier);
return cell;
let cell = document.createElement("span");
cell.classList.add("cell", column.identifier);
if (column.align)
if (column.align)
cell.classList.add("align-" + column.align);
if (this._columnWidths)
if (this.isRowSelected(rowIndex))
row.classList.add("selected");
this._scrollContainerElement.classList.add("not-scrollable");
var streamsList = ['engineThermalData']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
var streamsList = ['engineInfo']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("timeline-view");
var streamsList = ['engineInfo']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
function set:add(connection)
local socket = connection.socket
var element = this._element = document.createElement("div");
element.classList.add("stack-trace");
this.element.classList.add("content-browser");
this.element.classList.add("range-chart");
rect.setAttribute("x", x);
rect.classList.add(className);
}
if im.Button("New String") then
fields:add(ffi.string(self.addFieldText),'string',"value")
self.addFieldText = im.ArrayChar(256,"")
if im.Button("New Number") then
fields:add(ffi.string(self.addFieldText),'number',0)
self.addFieldText = im.ArrayChar(256,"")
// data.uiNavHandler = UINavHandlers.add(
// _getHandlerElement(element),
data.uiNavHandler = UINavHandlers.add(
element,
if (className)
this._element.classList.add(className);
this._element.textContent = label;
let header = document.createElement("div");
header.classList.add("console-session-header");
var messageElement = messageView.element;
messageElement.classList.add(WI.LogContentView.ItemWrapperStyleClassName);
this.append(messageElement);
this.element.classList.add("canvas");
this._viewRelatedItemsContainer = footer.appendChild(document.createElement("div"));
this._viewRelatedItemsContainer.classList.add("view-related-items");
this._viewShaderButton = document.createElement("img");
this._viewShaderButton.classList.add("view-shader");
this._viewShaderButton.title = WI.UIString("View Shader");
this._viewRecordingButton = document.createElement("img");
this._viewRecordingButton.classList.add("view-recording");
this._viewRecordingButton.title = WI.UIString("View Recording");
this._outline.customIndent = true;
this._outline.element.classList.add("type");
this._element.appendChild(this._outline.element);
this.element.classList.add("resource-details", "resource-security");
}
let pairElement = this._certificateSection.appendKeyValuePair(button);
pairElement.classList.add("show-certificate");
}
let showMoreElement = document.createElement("a");
showMoreElement.classList.add("show-more");
showMoreElement.textContent = WI.UIString("Show %d More").format(remaining);
let streamsList = ['sensors']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
link: function (scope, element, attrs) {
StreamsManager.add(['electrics', 'engineInfo'])
var streamsList = ['engineThermalData']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
link: function (scope, element, attrs) {
StreamsManager.add(['electrics'])
var streamsList = ['sensors', 'electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
case WI.TimelineRecord.Type.Script:
instrumentSet.add(target.TimelineAgent.Instrument.ScriptProfiler);
break;
case WI.TimelineRecord.Type.HeapAllocations:
instrumentSet.add(target.TimelineAgent.Instrument.Heap);
break;
case WI.TimelineRecord.Type.Media:
instrumentSet.add(target.TimelineAgent.Instrument.Timeline);
break;
case WI.TimelineRecord.Type.CPU:
instrumentSet.add(target.TimelineAgent.Instrument.CPU);
break;
case WI.TimelineRecord.Type.Memory:
instrumentSet.add(target.TimelineAgent.Instrument.Memory);
break;
for(const poiId of gr.elements) {
shownIdSet.add(poiId)
}
recordingNameSet.add(name);
this._displayName = name;
let contentElement = document.createElement("div");
contentElement.classList.add("url-breakpoint-content");
let label = document.createElement("div");
label.classList.add("label");
label.textContent = WI.UIString("Break on request with URL:");
let editorWrapper = document.createElement("div");
editorWrapper.classList.add("editor-wrapper");
let editorElement = document.createElement("div");
editorElement.classList.add("editor");
for _, id in ipairs(self.selections) do
self.objects[id].customFields:add(ffi.string(self.addFieldText), 'string', "value")
end
for _, id in ipairs(self.selections) do
self.objects[id].customFields:add(ffi.string(self.addFieldText), 'number', 0)
end
if (this.displayed) {
this.elm.classList.add("fadein");
this.elm.classList.remove("fadeout");
this.elm.classList.remove("fadein");
this.elm.classList.add("fadeout");
}
let cellElement = this.createCell(WI.SpanningDataGridNode.ColumnIdentifier);
cellElement.classList.add("spanning");
cellElement.setAttribute("colspan", this.dataGrid.columns.size);
this.element.classList.add("layer-tree");
}
this.element.classList.add("application-cache-frame");
this._emptyView = WI.createMessageTextView(WI.UIString("No Application Cache information available"), false);
this._emptyView.classList.add("hidden");
this.element.appendChild(this._emptyView);
if (this._dataGrid)
this._dataGrid.element.classList.add("hidden");
return;
this._emptyView.classList.add("hidden");
}
for (let resource of this.representedObject)
extensions.add(WI.fileExtensionForMIMEType(resource.mimeType));
dump(res)
notification.add("Load/Save", "Baking Issues", "Issues occured when baking decals.\nCheck the layer stack in order to identify the issues.", notification.levels.warning)
end
this.element.classList.add("go-to-line-dialog");
fb:registerObject(fb:getName())
var.forestBrushGroup:add(fb)
table.insert(group.elements, element)
obj:add(fbe)
element.parentBrush = group
table.insert(var.forestBrushes, element)
var.forestBrushGroup:add(fbe)
table.sort(var.forestBrushes, forestBrushElemSortByNameFunc)
if (seen.has(obj)) return '[Circular]';
seen.add(obj);
// console.log("WS connected")
window.bridge.hooks.add("devtools-hook", (name, args) => {
const data = {
bl_ShadowFilterPostFx:setField("target", 0, "$outTex")
bl_ShadowFilterPostFx:add(bl_ShadowFilterShaderH)
bl_ShadowFilterPostFx:registerObject("BL_ShadowFilterPostFx")
this._element = document.createElement("div");
this._element.classList.add("bezier-editor");
this._bezierContainer.setAttribute("height", editorHeight);
this._bezierContainer.classList.add("bezier-container");
let linearCurve = svgGroup.appendChild(createSVGElement("line"));
linearCurve.classList.add("linear-curve");
linearCurve.setAttribute("x1", this._controlHandleRadius);
this._bezierCurve = svgGroup.appendChild(createSVGElement("path"));
this._bezierCurve.classList.add("bezier-curve");
let line = svgGroup.appendChild(createSVGElement("line"));
line.classList.add("control-line");
line.setAttribute("x1", x1);
let handle = svgGroup.appendChild(createSVGElement("circle"));
handle.classList.add("control-handle");
this._selectedControl.point = point;
this._selectedControl.handle.classList.add("selected");
this._updateValue();
this._bezierPreview.style.animationTimingFunction = this._bezier.toString();
this._bezierPreviewContainer.classList.add("animate");
this._bezierPreviewTiming.classList.add("animate");
this._bezierPreviewContainer.classList.add("animate");
this._bezierPreviewTiming.classList.add("animate");
}
if scenetree.MissionGroup then
scenetree.MissionGroup:add(scenetreeObject)
else
if (chg.new.done === true || chg.new.fail === true) {
goalElement && goalElement.classList.add('animated')
bngApi.engineLua(`Engine.Audio.playOnce('AudioGui', 'event:>UI>Main>Click_Tonal_02')`)
let streamsList = ['wheelThermalData']
StreamsManager.add(streamsList)
$scope.$on('$destroy', function () {
local function add(section, title, msg, level)
if not notifications[section] then notifications[section] = {} end
local road = scenetree.findObjectById(newRoadID)
groupEdit:add(road)
-- road:delete()
road:setField('distanceFade', 0, string.format("%f %f", 0, 200))
groupEdit:add(road)
]]
road:setField('distanceFade', 0, string.format("%f %f", 0, 200))
groupEdit:add(road)
ani[newRoadID] = {}
rdm:registerObjectWithIdSuffix(nm)
-- scenetree.MissionGroup:add(rdm.obj)
groupEdit:add(rdm.obj)
-- scenetree.MissionGroup:add(rdm.obj)
groupEdit:add(rdm.obj)
rdm:createMesh({{{
-- aidMesh[#aidMesh+1] = id
groupEdit:add(rdm.obj)
-- scenetree.MissionGroup:add(rdm.obj)
groupEdit:add(rdm.obj)
-- scenetree.MissionGroup:add(rdm.obj)
rdm:createMesh({{{
this.element.classList.add("cpu-usage-combined-view");
this._detailsElement = this.element.appendChild(document.createElement("div"));
this._detailsElement.classList.add("details");
let detailsNameElement = this._detailsElement.appendChild(document.createElement("span"));
detailsNameElement.classList.add("name");
detailsNameElement.textContent = displayName;
this._graphElement = this.element.appendChild(document.createElement("div"));
this._graphElement.classList.add("graph");
let rowElement = legendElement.appendChild(document.createElement("div"));
rowElement.classList.add("row");
let swatchElement = rowElement.appendChild(document.createElement("div"));
swatchElement.classList.add("swatch", className);
let labelElement = rowElement.appendChild(document.createElement("div"));
labelElement.classList.add("label");
this._legendElement = this._detailsElement.appendChild(document.createElement("div"));
this._legendElement.classList.add("legend-container");
var streamsList = ['electrics']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
if (!other.has(item))
result.add(item);
}
this._element.classList.add("indexed-database");
this._element = document.createElement("div");
this._element.classList.add(identifier, "details-section");
this._optionsElement = optionsElement;
this._optionsElement.classList.add("options");
this._optionsElement.addEventListener("mousedown", this._optionsElementMouseDown.bind(this));
if (flag)
this._element.classList.add(WI.DetailsSection.CollapsedStyleClassName);
else
{
this._headerElement.classList.add(WI.DetailsSection.MouseOverOptionsElementStyleClassName);
}
scenetreeObject.canSave = false
scenetree.MissionGroup:add(scenetreeObject)
local vehiclesByInternalName = {}
scenetreeObject.canSave = false
scenetree.MissionGroup:add(scenetreeObject)
local vehiclesByInternalName = {}
scenetreeObject.canSave = false
scenetree.MissionGroup:add(scenetreeObject)
local spawningOptions = sanitizeVehicleSpawnOptions("unicycle", {config = "vehicles/unicycle/with_mesh.pc"})
this._watchExpressionOptionsElement = document.createElement("div");
this._watchExpressionOptionsElement.classList.add("options");
let content = document.createElement("div");
content.classList.add("watch-expression");
content.appendChild(document.createElement("div")).textContent = WI.UIString("Add New Watch Expression");
let editorElement = content.appendChild(document.createElement("div"));
editorElement.classList.add("watch-expression-editor", WI.SyntaxHighlightedStyleClassName);
if (treeElement.expanded)
WI.ScopeChainDetailsSidebarPanel._autoExpandProperties.add(propertyPathIdentifier);
else
if data.types[name] == 'string' then
self:add(name,'string',tostring(data.values[name]))
elseif data.types[name] == 'number' then
elseif data.types[name] == 'number' then
self:add(name,'number',tonumber(data.values[name]))
elseif data.types[name] == 'vec3' then
elseif data.types[name] == 'vec3' then
self:add(name,'vec3',vec3(data.values[name]))
end
function C:add(name, type, value)
if self.values[name] then
this._remoteObjectsToRelease = new Set;
this._remoteObjectsToRelease.add(remoteObject);
}
this.element.classList.add("sidebar", this._side, WI.Sidebar.CollapsedStyleClassName);
if (hasNavigationBar) {
this.element.classList.add("has-navigation-bar");
this.element.classList.add("collection");
console.assert(selectedContentView, "Missing ContentView for selected item.", this._selectedItem);
selectedContentView.element.classList.add("selected");
}
existingNames.add(objectStore._name);
}
csvData:add(unpack(dataRow))
end
this._element.classList.add(...this._classNames);
this._element.navigationItem = this;
this.element.classList.add("timeline");
this._dirtyDataGridNodes = new Set;
this._dirtyDataGridNodes.add(dataGridNode);
this._popoverCallStackTreeOutline.disclosureButtons = false;
this._popoverCallStackTreeOutline.element.classList.add("timeline-data-grid");
this._popoverCallStackTreeOutline.addEventListener(WI.TreeOutline.Event.SelectionDidChange, this._popoverCallStackTreeSelectionDidChange, this);
case "name":
cell.classList.add(...this.iconClassNames());
{
this.element.classList.add("baseline");
}
if (this.heapSnapshot.invalid)
this.element.classList.add("invalid");
}
case "name":
cell.classList.add(...this.iconClassNames());
return this._createNameCellDocumentFragment();
let subtitleElement = document.createElement("span");
subtitleElement.classList.add("subtitle");
subtitleElement.textContent = this.subtitle;
this.element.classList.add("heap-snapshot");
this._element = document.createElement("div");
this._element.classList.add("gradient-editor");
this._gradientTypePicker = this._element.appendChild(document.createElement("select"));
this._gradientTypePicker.classList.add("gradient-type-select");
for (let type in this._gradientTypes) {
let angleContainerElement = this._element.appendChild(document.createElement("div"));
angleContainerElement.classList.add("gradient-angle");
angleContainerElement.append(WI.UIString("Angle"));
this._element.appendChild(this._colorPicker.element);
this._element.classList.add("editing-color");
this._colorPicker.color = selectedStop.color;
this.element.classList.add("layer");
this.element.classList.add("stacked-column-chart");
let rect = this._svgElement.appendChild(createSVGElement("rect"));
rect.classList.add(this._sections[i]);
if (additionalClass)
if (additionalClass)
rect.classList.add(additionalClass);
rect.setAttribute("width", width);
]]
scenetree.MissionGroup:add(rdm.obj)
rdm:createMesh({{{
rdm:registerObject(nm..'_'..id)
scenetree.MissionGroup:add(rdm.obj)
rdm:createMesh({{{
rdm:registerObject(nm..'_'..id)
scenetree.MissionGroup:add(rdm.obj)
rdm:createMesh({{{
-- aidMesh[#aidMesh+1] = id
scenetree.MissionGroup:add(rdm.obj)
rdm:createMesh({{{
-- aidMesh[#aidMesh+1] = id
scenetree.MissionGroup:add(rdm2.obj)
rdm2:createMesh({{{
if (uniqueValues.size > 1) {
cell.classList.add("multiple");
cell.textContent = WI.UIString("(multiple)");
if (domNode) {
this._table.element.classList.add("grouped");
cell.classList.add("parent");
let disclosureElement = cell.appendChild(document.createElement("img"));
disclosureElement.classList.add("disclosure");
disclosureElement.classList.toggle("expanded", !!entry.expanded);
cell.classList.add("dom-node");
cell.appendChild(WI.linkifyNodeReference(domNode));
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
if (nodeEntry.initiatedResourceEntries.length > 1 || nodeEntry.domNode.domEvents.length)
cell.classList.add("child");
}
let rangeElement = nameElement.appendChild(document.createElement("span"));
rangeElement.classList.add("range");
rangeElement.textContent = WI.UIString("Byte Range %s\u2013%s").format(range.start, range.end);
cell.title = resource.url;
cell.classList.add(WI.Resource.classNameForResource(resource));
}
if (uniqueSchemeValues.size > 1 || uniqueDomainValues.size > 1) {
cell.classList.add("multiple");
cell.textContent = WI.UIString("(multiple)");
if (resourceEntries.every((resourceEntry) => resourceEntry.resource.responseSource === WI.Resource.ResponseSource.MemoryCache)) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(memory)");
if (resourceEntries.every((resourceEntry) => resourceEntry.resource.responseSource === WI.Resource.ResponseSource.DiskCache)) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(disk)");
if (resourceEntries.every((resourceEntry) => resourceEntry.resource.responseSource === WI.Resource.ResponseSource.ServiceWorker)) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(service worker)");
if (responseSource === WI.Resource.ResponseSource.MemoryCache) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(memory)");
if (responseSource === WI.Resource.ResponseSource.DiskCache) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(disk)");
if (responseSource === WI.Resource.ResponseSource.ServiceWorker) {
cell.classList.add("cache-type");
cell.textContent = WI.UIString("(service worker)");
let fullscreenElement = container.appendChild(document.createElement("div"));
fullscreenElement.classList.add("area", "dom-fullscreen");
positionByStartOffset(fullscreenElement, fullscreenDOMEvents[i].timestamp);
let powerEfficientPlaybackRangeElement = container.appendChild(document.createElement("div"));
powerEfficientPlaybackRangeElement.classList.add("area", "power-efficient-playback");
powerEfficientPlaybackRangeElement.title = WI.UIString("Power Efficient Playback");
let lineElement = container.appendChild(document.createElement("div"));
lineElement.classList.add("dom-activity");
lineElement.classList.toggle("playing", playing);
let eventElement = container.appendChild(document.createElement("div"));
eventElement.classList.add("dom-event");
positionByStartOffset(eventElement, startTimestamp - paddingForCentering);
let block = container.appendChild(document.createElement("div"));
block.classList.add("block", className);
positionByStartOffset(block, startTimestamp);
if (this._urlFilterSearchRegex.test(resource.url)) {
this._activeURLFilterResources.add(resource);
return;
if (this._urlFilterSearchRegex.test(redirect.url)) {
this._activeURLFilterResources.add(resource);
return;
this.element.classList.add("showing-detail");
this._table.scrollContainer.style.width = this._nameColumn.width + "px";
if (value || typeof value === "number")
accumulator.add(value);
return accumulator;
let contentElement = document.createElement("div");
contentElement.classList.add("waterfall-popover-content");
return contentElement;
this._waterfallPopover = new WI.Popover;
this._waterfallPopover.element.classList.add("waterfall-popover");
}
lastTimeOfSend = os.clockhp()
csvSendData:add(os.clockhp(), unpack(msgOut))
end
if enableVSL then
csvReceiveData:add(os.clockhp(), unpack(msgIn))
end
if enableVSL then
csvReceiveData:add(os.clockhp(), unpack(msgIn))
end
-- Add to CSV for logging
csvSendData:add(os.clockhp(), unpack(msgOut))
-- log('I', logTag, 'VSL only from controller, logging data.')
meshes[3] = meshes[1]
scenetree.MissionGroup:add(splineObject.obj)
--globObj = splineObject
// move target to panned location
scope.target.add( panOffset );
position.copy( scope.target ).add( offset );
panOffset.add( v );
panOffset.add( v );
this._element.classList.add(WI.Popover.FadeOutClassName);
this._element.classList.add(this._cssClassNameForEdge());
if (this._preferredSize.width < WI.Popover.MinWidth || this._preferredSize.height < WI.Popover.MinHeight)
this._container.classList.add("center");
else
var streamsList = ['engineInfo', 'electrics']
StreamsManager.add(streamsList)
{
this._resourceCollection.add(resource);
{
this._extraScriptCollection.add(script);
var streamsList = ['wheelInfo', 'sensors']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("rendering-frame");
this.addSubview(this._dataGrid);
if (flag)
this.element.classList.add(WI.HierarchicalPathNavigationItem.AlwaysShowLastPathComponentSeparatorStyleClassName);
else
valueElement.classList.add("value");
if (this.hadError())
if (this.hadError())
valueElement.classList.add("error");
if (element)
element.classList.add("editable");
-- local csvfile = require('csvlib').newCSV("c1", "c2", "c3") -- or .newTSV("c1", "c2", "c3") for Tab Separated Values
-- csvfile:add(1,2,3)
-- csvfile:add(5,6,7)
-- csvfile:add(1,2,3)
-- csvfile:add(5,6,7)
-- ...
if headercount ~= 0 then
self:add(...)
local header = {...}
function csvWriter:add(...)
local delim, rundelim, buf = self.delim, self.linedelim, self.buf
for (let [key, value] of items)
this.add(key, value);
}
add(key, value)
{
}
valueSet.add(value);
this._hoverMenu = new WI.HoverMenu(this);
this._hoverMenu.element.classList.add(this.cssClassName);
this._rects = this._marker.rects;
if (columnIdentifier === "name" && this.records.length) {
cell.classList.add(...this.iconClassNames());
return this._createNameCellContent(cell);
let subtitleElement = document.createElement("span");
subtitleElement.classList.add("subtitle");
sourceCodeLocation.populateLiveDisplayLocationString(subtitleElement, "textContent", null, WI.SourceCodeLocation.NameStyle.None, WI.UIString("line "));
StreamsManager.add(svg.getStreams())
scope.$on('$destroy', function () {
this.element.classList.add("timeline-ruler");
this._headerElement = document.createElement("div");
this._headerElement.classList.add("header");
this.element.appendChild(this._headerElement);
this._markersElement = document.createElement("div");
this._markersElement.classList.add("markers");
this.element.appendChild(this._markersElement);
this._leftShadedAreaElement = document.createElement("div");
this._leftShadedAreaElement.classList.add("shaded-area");
this._leftShadedAreaElement.classList.add("left");
this._leftShadedAreaElement.classList.add("shaded-area");
this._leftShadedAreaElement.classList.add("left");
this._rightShadedAreaElement = document.createElement("div");
this._rightShadedAreaElement.classList.add("shaded-area");
this._rightShadedAreaElement.classList.add("right");
this._rightShadedAreaElement.classList.add("shaded-area");
this._rightShadedAreaElement.classList.add("right");
this._leftSelectionHandleElement = document.createElement("div");
this._leftSelectionHandleElement.classList.add("selection-handle");
this._leftSelectionHandleElement.classList.add("left");
this._leftSelectionHandleElement.classList.add("selection-handle");
this._leftSelectionHandleElement.classList.add("left");
this._leftSelectionHandleElement.addEventListener("mousedown", this._handleSelectionHandleMouseDown.bind(this));
this._rightSelectionHandleElement = document.createElement("div");
this._rightSelectionHandleElement.classList.add("selection-handle");
this._rightSelectionHandleElement.classList.add("right");
this._rightSelectionHandleElement.classList.add("selection-handle");
this._rightSelectionHandleElement.classList.add("right");
this._rightSelectionHandleElement.addEventListener("mousedown", this._handleSelectionHandleMouseDown.bind(this));
this._selectionDragElement = document.createElement("div");
this._selectionDragElement.classList.add("selection-drag");
let markerElement = document.createElement("div");
markerElement.classList.add(marker.type, "marker");
// Turn on col-resize cursor style once dragging begins, rather than on the initial mouse down.
this.element.classList.add(WI.TimelineRuler.ResizingSelectionStyleClassName);
}
this.element.classList.add(WI.TimelineRuler.ResizingSelectionStyleClassName);
this.element.classList.add("content-view-container");
{
this.element.classList.add(WI.DetailsSectionRow.EmptyStyleClassName);
smaaPostEffect1:add(smaaPostEffect2)
smaaPostEffect1:registerObject("SMAA_PostEffect1")
smaaPostEffect:add(smaaPostEffect1)
smaaPostEffect:registerObject("SMAA_PostEffect")
if gameplay_drift_general.getGeneralDebug() then
profiler:add("Drift cruising")
gc = profiler.sections[1].garbage
})
svg:add(line)
svg:writeTo('test.svg')
stop["stop-opacity"] = opacity
tbl:add(stop)
return tbl
local defs = createDefs()
tbl:add(defs)
tbl["addDef"] = function(tbl, def)
defs:add(def)
end
if bgcolor then
ret:add(EzSVG.Rect(0, 0, width, height, 0, 0, {
stroke=nil,
dofBlurY:registerObject("DOFBlurY")
dofPostEffect:add(dofBlurY)
dofBlurX:registerObject("DOFBlurX")
dofPostEffect:add(dofBlurX)
dofCalcCoC:registerObject("DOFCalcCoC")
dofPostEffect:add(dofCalcCoC)
dofSmallBlur:registerObject("DOFSmallBlur")
dofPostEffect:add(dofSmallBlur)
dofFinalPFX:registerObject("DOFFinalPFX")
dofPostEffect:add(dofFinalPFX)
end
if (!this.property.enumerable)
nameElement.classList.add("not-enumerable");
}
valueOrGetterElement.classList.add("value");
if (this.hadError())
if (this.hadError())
valueOrGetterElement.classList.add("error");
var message = this._messageElement = document.createElement("div");
message.classList.add("message");
message.title = message.textContent = WI.UIString("Debugger Paused");
var dividerElement = document.createElement("div");
dividerElement.classList.add("divider");
this.element.appendChild(dividerElement);
var locationElement = this._locationElement = document.createElement("div");
locationElement.classList.add("location");
this.element.appendChild(locationElement);
var iconElement = document.createElement("div");
iconElement.classList.add(iconClassName);
this._locationElement.appendChild(iconElement);
nameElement.append(functionName);
nameElement.classList.add("function-name");
this._locationElement.appendChild(nameElement);
this._element = document.createElement("div");
this._element.classList.add("console-message");
if (this._message.type === WI.ConsoleMessage.MessageType.Result) {
this._element.classList.add("console-user-command-result");
this._element.setAttribute("data-labelprefix", WI.UIString("Output: "));
} else if (this._message.type === WI.ConsoleMessage.MessageType.StartGroup || this._message.type === WI.ConsoleMessage.MessageType.StartGroupCollapsed)
this._element.classList.add("console-group-title");
case WI.ConsoleMessage.MessageLevel.Log:
this._element.classList.add("console-log-level");
this._element.setAttribute("data-labelprefix", WI.UIString("Log: "));
case WI.ConsoleMessage.MessageLevel.Info:
this._element.classList.add("console-info-level");
this._element.setAttribute("data-labelprefix", WI.UIString("Info: "));
case WI.ConsoleMessage.MessageLevel.Debug:
this._element.classList.add("console-debug-level");
this._element.setAttribute("data-labelprefix", WI.UIString("Debug: "));
case WI.ConsoleMessage.MessageLevel.Warning:
this._element.classList.add("console-warning-level");
this._element.setAttribute("data-labelprefix", WI.UIString("Warning: "));
case WI.ConsoleMessage.MessageLevel.Error:
this._element.classList.add("console-error-level");
this._element.setAttribute("data-labelprefix", WI.UIString("Error: "));
this._messageBodyElement = this._element.appendChild(document.createElement("span"));
this._messageBodyElement.classList.add("console-top-level-message", "console-message-body");
this._appendMessageTextAndArguments(this._messageBodyElement);
if (this._message.type === WI.ConsoleMessage.MessageType.Image) {
this._element.classList.add("console-image-container");
this._element.addEventListener("contextmenu", this._handleContextMenu.bind(this));
this._repeatCountElement = document.createElement("span");
this._repeatCountElement.classList.add("repeat-count");
this._element.insertBefore(this._repeatCountElement, this._element.firstChild);
if (this._expandable)
this._element.classList.add("expanded");
let img = element.appendChild(document.createElement("img"));
img.classList.add("console-image", "show-grid");
img.src = this._message.messageText;
var savedVariableElement = document.createElement("span");
savedVariableElement.classList.add("console-saved-variable");
savedVariableElement.textContent = " = $" + this._message.savedResultIndex;
var anchor = WI.linkifyURLAsNode(this._message.url, this._message.url, "console-message-url");
anchor.classList.add("console-message-location");
this._element.appendChild(anchor);
var locationElement = new WI.CallFrameView(callFrame, showFunctionName);
locationElement.classList.add("console-message-location");
this._element.appendChild(locationElement);
});
link.classList.add("console-message-location");
this._extraElementsList = this._element.appendChild(document.createElement("ol"));
this._extraElementsList.classList.add("console-message-extra-parameters-container");
const forceObjectFormat = parameter.type === "object" && (parameter.subtype !== "null" && parameter.subtype !== "regexp" && parameter.subtype !== "node" && parameter.subtype !== "error");
listItemElement.classList.add("console-message-extra-parameter");
listItemElement.appendChild(this._formatParameter(parameter, forceObjectFormat));
this._stackTraceElement = this._element.appendChild(document.createElement("div"));
this._stackTraceElement.classList.add("console-message-body", "console-message-stack-trace-container");
let element = builderElement.appendChild(document.createElement("span"));
element.classList.add("console-message-preview-divider");
element.textContent = ` ${enDash} `;
if (dividerElement)
dividerElement.classList.add("inline-lossless");
let previewContainer = builderElement.appendChild(document.createElement("span"));
previewContainer.classList.add("inline-lossless");
let previewContainer = builderElement.appendChild(document.createElement("span"));
previewContainer.classList.add("console-message-preview");
if (dividerElement)
dividerElement.classList.add("inline-lossless");
previewContainer.classList.add("inline-lossless");
dividerElement.classList.add("inline-lossless");
previewContainer.classList.add("inline-lossless");
}
builderElement.append(" ", enclosedElement);
enclosedElement.classList.add("console-message-enclosed");
enclosedElement.textContent = "(" + parameters.length + ")";
this._element.classList.add("expandable");
this.element.classList.add("find-banner");
if (className)
this.element.classList.add(className);
this._previousResultButton = document.createElement("button");
this._previousResultButton.classList.add("segmented", "previous-result");
this._previousResultButton.disabled = true;
let previousResultButtonGlyphElement = document.createElement("div");
previousResultButtonGlyphElement.classList.add(WI.FindBanner.SegmentGlyphStyleClassName);
this._previousResultButton.appendChild(previousResultButtonGlyphElement);
this._nextResultButton = document.createElement("button");
this._nextResultButton.classList.add("segmented", "next-result");
this._nextResultButton.disabled = true;
let nextResultButtonGlyphElement = document.createElement("div");
nextResultButtonGlyphElement.classList.add(WI.FindBanner.SegmentGlyphStyleClassName);
this._nextResultButton.appendChild(nextResultButtonGlyphElement);
this._targetElement.classList.add(WI.FindBanner.NoTransitionStyleClassName);
this._targetElement.classList.remove(WI.FindBanner.SupportsFindBannerStyleClassName);
this.element.classList.add(WI.FindBanner.NoTransitionStyleClassName);
this.element.classList.remove(WI.FindBanner.ShowingStyleClassName);
if (this._targetElement)
this._targetElement.classList.add(WI.FindBanner.SupportsFindBannerStyleClassName);
}
{
this._targetElement.classList.add(WI.FindBanner.ShowingFindBannerStyleClassName);
this.element.classList.add(WI.FindBanner.ShowingStyleClassName);
this._targetElement.classList.add(WI.FindBanner.ShowingFindBannerStyleClassName);
this.element.classList.add(WI.FindBanner.ShowingStyleClassName);
if (this._isEphemeral) {
this.element.classList.add("ephemeral");
let closeButtonElement = document.createElement("div");
closeButtonElement.classList.add(WI.TabBarItem.CloseButtonStyleClassName);
closeButtonElement.title = WI.UIString("Click to close this tab");
this._titleElement = document.createElement("span");
this._titleElement.classList.add("title");
let titleContentElement = document.createElement("span");
titleContentElement.classList.add("content");
titleContentElement.textContent = title;
this.element.classList.add("tab-browser");
if (!tabContentView.constructor.tabInfo().isEphemeral)
this._closedTabClasses.add(tabContentView.constructor);
// console.log("WS connected")
window.bridge.hooks.add("devtools-hook", (name, args) => {
const data = {
console.warn( 'THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
return this.addVectors( v, w );
return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 );
console.warn( 'THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
return this.addVectors( v, w );
return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 );
console.warn( 'THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead.' );
return this.addVectors( v, w );
return this.subVectors( v2, v1 ).multiplyScalar( alpha ).add( v1 );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
this.min.sub( vector );
this.max.add( vector );
this.min.add( offset );
this.max.add( offset );
this.min.add( offset );
this.max.add( offset );
target.sub( this.center ).normalize();
target.multiplyScalar( this.radius ).add( this.center );
this.center.add( offset );
return target.copy( this.normal ).multiplyScalar( - this.distanceToPoint( point ) ).add( point );
return target.copy( direction ).multiplyScalar( t ).add( line.start );
this.position.add( v1.multiplyScalar( distance ) );
this.add( arguments[ i ] );
var child = source.children[ i ];
this.add( child.clone() );
vertices[ face.a ].add( cb );
vertices[ face.b ].add( cb );
vertices[ face.a ].add( cb );
vertices[ face.b ].add( cb );
vertices[ face.c ].add( cb );
vertices[ face.b ].add( cb );
vertices[ face.c ].add( cb );
vertices[ face.a ].add( face.normal );
vertices[ face.b ].add( face.normal );
vertices[ face.a ].add( face.normal );
vertices[ face.b ].add( face.normal );
vertices[ face.c ].add( face.normal );
vertices[ face.b ].add( face.normal );
vertices[ face.c ].add( face.normal );
return target.copy( this.direction ).multiplyScalar( t ).add( this.origin );
return target.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
v1.copy( this.direction ).multiplyScalar( directionDistance ).add( this.origin );
segCenter.copy( v0 ).add( v1 ).multiplyScalar( 0.5 );
segDir.copy( v1 ).sub( v0 ).normalize();
optionalPointOnRay.copy( this.direction ).multiplyScalar( s0 ).add( this.origin );
optionalPointOnSegment.copy( segDir ).multiplyScalar( s1 ).add( segCenter );
return this.delta( target ).multiplyScalar( t ).add( this.start );
return this.delta( target ).multiplyScalar( t ).add( this.start );
return target.addVectors( this.a, this.b ).add( this.c ).multiplyScalar( 1 / 3 );
uv1.add( uv2 ).add( uv3 );
uv1.add( uv2 ).add( uv3 );
vA.add( fvA );
vB.add( fvB );
vA.add( fvA );
vB.add( fvB );
vC.add( fvC );
vB.add( fvB );
vC.add( fvC );
_lookTarget.copy( shadowCamera.position );
_lookTarget.add( cubeDirections[ face ] );
shadowCamera.up.copy( cubeUps[ face ] );
tempPosition.applyQuaternion( tempQuaternion );
poseObject.position.add( tempPosition );
this.add( object );
bones[ gbone.parent ].add( bones[ i ] );
this.add( bones[ i ] );
centroid.copy( a ).add( b ).add( c ).divideScalar( 3 );
centroid.copy( a ).add( b ).add( c ).divideScalar( 3 );
return vec.clone().multiplyScalar( size ).add( pt );
position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal );
position2.copy( extrudePts[ 0 ] ).add( normal ).add( binormal );
position2.copy( extrudePts[ s ] ).add( normal ).add( binormal );
position2.copy( extrudePts[ s ] ).add( normal ).add( binormal );
Cache.add( url, response );
Cache.add( url, this );
// extrapolate first point
tmp.subVectors( points[ 0 ], points[ 1 ] ).add( points[ 0 ] );
p0 = tmp;
// extrapolate last point
tmp.subVectors( points[ l - 1 ], points[ l - 2 ] ).add( points[ l - 1 ] );
p3 = tmp;
point.copy( this.v2 ).sub( this.v1 );
point.multiplyScalar( t ).add( this.v1 );
point.copy( this.v2 ).sub( this.v1 );
point.multiplyScalar( t ).add( this.v1 );
object.add( this.parseObject( children[ i ], geometries, materials ) );
Cache.add( url, imageBitmap );
cameraPX.lookAt( new Vector3( 1, 0, 0 ) );
this.add( cameraPX );
cameraNX.lookAt( new Vector3( - 1, 0, 0 ) );
this.add( cameraNX );
cameraPY.lookAt( new Vector3( 0, 1, 0 ) );
this.add( cameraPY );
cameraNY.lookAt( new Vector3( 0, - 1, 0 ) );
this.add( cameraNY );
cameraPZ.lookAt( new Vector3( 0, 0, 1 ) );
this.add( cameraPZ );
cameraNZ.lookAt( new Vector3( 0, 0, - 1 ) );
this.add( cameraNZ );
this.min.copy( center ).sub( halfSize );
this.max.copy( center ).add( halfSize );
this.min.sub( vector );
this.max.add( vector );
this.min.add( offset );
this.max.add( offset );
this.min.add( offset );
this.max.add( offset );
v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 );
v2.applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 );
this.cone = new LineSegments( geometry, material );
this.add( this.cone );
this.add( this.lightDistance );
*/
this.line = new Line( geometry, material );
this.add( this.line );
this.add( new Mesh( geometry, this.material ) );
v1.copy( vertices[ face.a ] )
.add( vertices[ face.b ] )
.add( vertices[ face.c ] )
.add( vertices[ face.b ] )
.add( vertices[ face.c ] )
.divideScalar( 3 )
v2.copy( normal ).applyMatrix3( normalMatrix ).normalize().multiplyScalar( this.size ).add( v1 );
this.lightPlane = new Line( geometry, material );
this.add( this.lightPlane );
this.targetLine = new Line( geometry, material );
this.add( this.targetLine );
this.add( new Mesh( geometry2, new MeshBasicMaterial( { color: color, opacity: 0.2, transparent: true, depthWrite: false } ) ) );
this.line.matrixAutoUpdate = false;
this.add( this.line );
this.cone.matrixAutoUpdate = false;
this.add( this.cone );
if debugFile then
csvSendData:add(os.clockhp(), unpack(messageToSimulink))
end
if debugFile then
csvReceiveData:add(os.clockhp(), unpack(decodedMessageFromSimulink))
end
if debugFile then
csvPhysicsSteps:add(os.clockhp())
end
if (!treeOutline.children[0].hasChildren)
treeOutline.element.classList.add("single-node");
span.appendChild(treeOutline.element);
var span = document.createElement("span");
span.classList.add("formatted-error");
span.textContent = object.description;
var span = document.createElement("span");
span.classList.add("formatted-function");
span.textContent = description.substring(0, description.indexOf("("));
var span = document.createElement("span");
span.classList.add(WI.FormattedValue.classNameForTypes(type, subtype));
let conditionEditorElement = conditionData.appendChild(document.createElement("div"));
conditionEditorElement.classList.add("edit-breakpoint-popover-condition", WI.SyntaxHighlightedStyleClassName);
else {
this._popoverContentElement.classList.add(WI.BreakpointPopoverController.WidePopoverClassName);
for (let i = 0; i < this._breakpoint.actions.length; ++i) {
if (!this._breakpoint.actions.length)
optionsRow.classList.add(WI.BreakpointPopoverController.HiddenStyleClassName);
let optionsHeader = optionsRow.appendChild(document.createElement("th"));
{
this._popoverContentElement.classList.add(WI.BreakpointPopoverController.WidePopoverClassName);
this._actionsContainer.removeChildren();
this._popoverActionsCreateAddActionButton();
this._popoverOptionsRowElement.classList.add(WI.BreakpointPopoverController.HiddenStyleClassName);
this._popoverOptionsCheckboxElement.checked = false;
{
this._downloadingSourceMaps.add(sourceMapURL);
this.element.classList.add("chart");
this._svgFiltersElement = document.createElement("svg");
this._svgFiltersElement.classList.add("defs-only");
this.element.append(this._svgFiltersElement);
this._emptyChartPath.setAttribute("d", createEmptyChartPathData(this._chartSize / 2, this._radius, this._innerRadius));
this._emptyChartPath.classList.add("empty-chart");
this._chartElement.appendChild(this._emptyChartPath);
keyElement.type = "checkbox";
keyElement.classList.add(className);
keyElement.checked = item.checked;
keyElement = document.createElement("div");
keyElement.classList.add("color-key");
keyElement.style.backgroundColor = item.color;
let valueElement = document.createElement("div");
valueElement.classList.add("value");
valueElement.textContent = formatItemValue.call(this, item);
let legendItemElement = document.createElement("div");
legendItemElement.classList.add("legend-item");
legendItemElement.append(labelElement, valueElement);
path = createSVGElement("path");
path.classList.add("chart-segment");
path.setAttribute("fill", item.color);
if (!item.value) {
path.classList.add("hidden");
continue;
this._headerWrapperElement = document.createElement("div");
this._headerWrapperElement.classList.add("header-wrapper");
if (column["aligned"])
headerCellElement.classList.add(column["aligned"]);
this._headerTableCellElements.set(columnIdentifier, headerCellElement);
listeners.register(headerCellElement, "click", this._headerCellClicked);
headerCellElement.classList.add(WI.DataGrid.SortableColumnStyleClassName);
}
if (column["group"])
headerCellElement.classList.add("column-group-" + column["group"]);
headerCellElement.collapsesGroup = column["collapsesGroup"];
headerCellElement.classList.add("collapser");
}
if (column["group"])
fillerCellElement.classList.add("column-group-" + column["group"]);
var referenceElement = this._fillerRowElement.children[insertionIndex];
cell.classList.add("mouse-over-collapser");
}
this._canvasTreeOutline = this.createContentTreeOutline({suppressFiltering: true});
this._canvasTreeOutline.element.classList.add("canvas");
this._recordingNavigationBar = new WI.NavigationBar;
this._recordingNavigationBar.element.classList.add("hidden");
this.contentView.addSubview(this._recordingNavigationBar);
if (!this._canvas) {
this._recordingNavigationBar.element.classList.add("hidden");
return;
this._recordingProcessingOptionsContainer = this._recordingContentContainer.appendChild(document.createElement("div"));
this._recordingProcessingOptionsContainer.classList.add("recording-processing-options");
this.element.classList.add("audit-test-case");
let informationContainer = this.headerView.element.appendChild(document.createElement("div"));
informationContainer.classList.add("information");
this._metadataElement = this.headerView.element.appendChild(document.createElement("div"));
this._metadataElement.classList.add("metadata");
}
let sourceContainer = this._metadataElement.appendChild(document.createElement("div"));
sourceContainer.classList.add("source");
let durationElement = this._metadataElement.appendChild(document.createElement("span"));
durationElement.classList.add("duration");
durationElement.textContent = totalDuration;
durationElement.classList.add("async");
durationElement.title = WI.UIString("%s eval\n%s async").format(evalDuration, asyncDuration);
this._resultDataDOMNodesContainer = document.createElement("div");
this._resultDataDOMNodesContainer.classList.add("dom-nodes");
if (!rootTreeElement.hasChildren)
treeOutline.element.classList.add("single-node");
this._resultDataErrorsContainer = document.createElement("div");
this._resultDataErrorsContainer.classList.add("errors");
let errorElement = dataElement.appendChild(document.createElement("div"));
errorElement.classList.add("error");
errorElement.textContent = error;
element.classList.add("editing");
element.contentEditable = "plaintext-only";
if (config.multiline)
element.classList.add("multiline");
var streamsList = ['wheelInfo']
StreamsManager.add(streamsList)
scope.$on('$destroy', function () {
this.element.classList.add("circle-chart");
backgroundPath.setAttribute("d", this._createCompleteCirclePathData(this._size / 2, this._radius, this._innerRadius));
backgroundPath.classList.add("background");
}
this._centerElement = this.element.appendChild(document.createElement("div"));
this._centerElement.classList.add("center");
this._centerElement.style.width = this._centerElement.style.height = this._radius + "px";
let pathElement = this._chartElement.appendChild(createSVGElement("path"));
pathElement.classList.add("segment", className);
this._pathElements.push(pathElement);
var streamsList = ['electrics', 'powertrainDeviceData']
StreamsManager.add(streamsList)
this.element.classList.add("details");
local starType = instance.careerSetup._activeStarCache.defaultStarKeysByKey[key] and "default" or "bonus"
csvdata:add(mission.id, translatedName, missionType, firstBranch, leagueNames, instance.unlocks.maxBranchlevel, key, translatedStarLabel, starType, rewards.money or 0,rewards.vouchers or 0,unpack(branchRewards))
end
local gamemode = instance.careerSetup.showInCareer and "Career" or "Freeroam"
csvdata:add(mission.id, translatedName, missionType, level, gamemode)
end
local folder = mission.missionFolder or "None"
csvdata:add(folder, translatedName, dateStr, origin, mission.startTrigger and mission.startTrigger.level or "None", mission.missionType, mission.careerSetup.showInFreeroam and "Freeroam" or "Career")
end
if not scenario.isMissionAsScenario then
csvdata:add(scenario.sourceFile, translateLanguage(scenario.name, scenario.name, true), dateStr, origin, string.lower(scenario.levelName), type2)
end
-- for _, qr in ipairs(scenario_quickRaceLoader.getQuickraceList()) do
-- csvdata:add(translateLanguage(qr.scenarioName, qr.scenarioName, true), tonumber(qr.date), "Time Trial")
-- end
this.element.classList.add("resource");
let textElement = document.createElement("span");
textElement.classList.add("unavailable");
let sourceElement = section.titleElement.appendChild(document.createElement("span"));
sourceElement.classList.add("source");
sourceElement.textContent = WI.UIString("(Action %s)").format(sourceIndex);
this.element.classList.add("memory");
let contentElement = this.element.appendChild(document.createElement("div"));
contentElement.classList.add("content");
let overviewElement = contentElement.appendChild(document.createElement("div"));
overviewElement.classList.add("overview");
let chartElement = parentElement.appendChild(document.createElement("div"));
chartElement.classList.add("chart");
let chartSubtitleElement = chartElement.appendChild(document.createElement("div"));
chartSubtitleElement.classList.add("subtitle");
chartSubtitleElement.textContent = subtitle;
let chartFlexContainerElement = chartElement.appendChild(document.createElement("div"));
chartFlexContainerElement.classList.add("container");
return chartFlexContainerElement;
this._usageLegendElement = usageChartContainerElement.appendChild(document.createElement("div"));
this._usageLegendElement.classList.add("legend", "usage");
let dividerElement = overviewElement.appendChild(document.createElement("div"));
dividerElement.classList.add("divider");
this._maxComparisonLegendElement = maxComparisonChartContainerElement.appendChild(document.createElement("div"));
this._maxComparisonLegendElement.classList.add("legend", "maximum");
let detailsContainerElement = this._detailsContainerElement = contentElement.appendChild(document.createElement("div"));
detailsContainerElement.classList.add("details");
let detailsSubtitleElement = detailsContainerElement.appendChild(document.createElement("div"));
detailsSubtitleElement.classList.add("subtitle");
detailsSubtitleElement.textContent = WI.UIString("Categories");
totalElement = centerElement.appendChild(document.createElement("div"));
totalElement.classList.add("total-usage");
totalElement.appendChild(document.createElement("span")); // firstChild
totalElement = centerElement.appendChild(document.createElement("div"));
totalElement.classList.add("max-percentage");
}
let rowElement = legendElement.appendChild(document.createElement("div"));
rowElement.classList.add("row");
let swatchElement = rowElement.appendChild(document.createElement("div"));
swatchElement.classList.add("swatch", swatchClass);
let valueContainer = rowElement.appendChild(document.createElement("div"));
valueContainer.classList.add("value");
let labelElement = valueContainer.appendChild(document.createElement("div"));
labelElement.classList.add("label");
labelElement.textContent = label;
let sizeElement = valueContainer.appendChild(document.createElement("div"));
sizeElement.classList.add("size");
}
eventElements[eventName].add(element)
}
if (value.sourceCode instanceof WI.Resource) {
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(value.sourceCode.type);
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(value.sourceCode.type);
} else if (value.sourceCode instanceof WI.Script) {
if (value.sourceCode.url) {
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(WI.Resource.Type.Script);
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(WI.Resource.Type.Script);
} else
} else
cell.classList.add(WI.ScriptTreeElement.AnonymousScriptIconStyleClassName);
} else
cell.classList.add(WI.CallFrameView.FunctionIconStyleClassName);
if (callFrame.sourceCodeLocation.sourceCode instanceof WI.Resource) {
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(callFrame.sourceCodeLocation.sourceCode.type);
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(callFrame.sourceCodeLocation.sourceCode.type);
} else if (callFrame.sourceCodeLocation.sourceCode instanceof WI.Script) {
if (callFrame.sourceCodeLocation.sourceCode.url) {
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(WI.Resource.Type.Script);
cell.classList.add(WI.ResourceTreeElement.ResourceIconStyleClassName);
cell.classList.add(WI.Resource.Type.Script);
} else
} else
cell.classList.add(WI.ScriptTreeElement.AnonymousScriptIconStyleClassName);
} else
// Show the function name and icon.
cell.classList.add(WI.CallFrameView.FunctionIconStyleClassName);
var subtitleElement = document.createElement("span");
subtitleElement.classList.add("subtitle");
callFrame.sourceCodeLocation.populateLiveDisplayLocationString(subtitleElement, "textContent");
var icon = document.createElement("div");
icon.classList.add("icon");
function add(stateName) {
rem(stateName) // in angular menus, it doesn't always calls to remove the state but continues to add new ones
if (opened) add(stateName)
else rem(stateName)
this.element.classList.add("timeline-overview-graph");
for (let layer of previousLayers)
previousLayerIds.add(layer.layerId);
for (let layer of newLayers) {
newLayerIds.add(layer.layerId);
if im.Button(string.format("%s##%s", "notification.add", guiId)) then
notification.add("Debug", "test", "this is a test")
end
-- *editor.SelectMode_New* - the old selection is discarded
-- *editor.SelectMode_Add* - add (uniquely) the object ids to the current selection
-- *editor.SelectMode_Remove* - remove the ids from the current selection (if present)
this.element = document.createElement("ol");
this.element.classList.add(WI.TreeOutline.ElementStyleClassName);
this.element.addEventListener("contextmenu", this._handleContextmenu.bind(this));
if (!this._selectable)
this.element.classList.add("non-selectable");
}
if (treeElement.listItemElement)
treeElement.listItemElement.classList.add("selected");
if (this._previousSelectedTreeElement && this._previousSelectedTreeElement.listItemElement)
this._previousSelectedTreeElement.listItemElement.classList.add("last-selected");
}
if (count >= firstItem && count <= lastItem) {
treeElementsToAttach.add(treeElement);
if (count >= firstItem + extraRows && count <= lastItem - extraRows)
if (count >= firstItem + extraRows && count <= lastItem - extraRows)
visibleTreeElements.add(treeElement);
} else if (treeElement._listItemNode.parentNode)
} else if (treeElement._listItemNode.parentNode)
treeElementsToDetach.add(treeElement);
this.element.classList.add("resource-details", "resource-timing");
this._element = document.createElement("div");
this._element.classList.add("resizer");
if (this._orientation === WI.Resizer.RuleOrientation.Horizontal)
this._element.classList.add("horizontal-rule");
else if (this._orientation === WI.Resizer.RuleOrientation.Vertical)
else if (this._orientation === WI.Resizer.RuleOrientation.Vertical)
this._element.classList.add("vertical-rule");
let reloadInspectorContainerElement = experimentalSettingsView.addCenteredContainer(reloadInspectorButton, WI.UIString("for changes to take effect"));
reloadInspectorContainerElement.classList.add("hidden");
this._navigationBar.element.classList.add("invisible");
}
end
scenetree.MissionGroup:add(veh)
end
A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff",contrastDefaultColor:"light",contrastDarkColors:"100 200 300 400 A100",contrastStrongLightColors:"500 600 700 A200 A400 A700"},"light-blue":{50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900 A700",contrastStrongLightColors:"500 600 700 800 A700"},cyan:{50:"#e0f7fa",100:"#b2ebf2",200:"#80deea",300:"#4dd0e1",400:"#26c6da",500:"#00bcd4",600:"#00acc1",700:"#0097a7",800:"#00838f",900:"#006064",A100:"#84ffff",A200:"#18ffff",A400:"#00e5ff",A700:"#00b8d4",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700 800"},teal:{50:"#e0f2f1",100:"#b2dfdb",200:"#80cbc4",300:"#4db6ac",400:"#26a69a",500:"#009688",600:"#00897b",700:"#00796b",800:"#00695c",900:"#004d40",A100:"#a7ffeb",A200:"#64ffda",A400:"#1de9b6",A700:"#00bfa5",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},green:{50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853",contrastDefaultColor:"dark",contrastLightColors:"500 600 700 800 900",contrastStrongLightColors:"500 600 700"},"light-green":{50:"#f1f8e9",100:"#dcedc8",200:"#c5e1a5",300:"#aed581",400:"#9ccc65",500:"#8bc34a",600:"#7cb342",700:"#689f38",800:"#558b2f",900:"#33691e",A100:"#ccff90",A200:"#b2ff59",A400:"#76ff03",A700:"#64dd17",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},lime:{50:"#f9fbe7",100:"#f0f4c3",200:"#e6ee9c",300:"#dce775",400:"#d4e157",500:"#cddc39",600:"#c0ca33",700:"#afb42b",800:"#9e9d24",900:"#827717",A100:"#f4ff81",A200:"#eeff41",A400:"#c6ff00",A700:"#aeea00",contrastDefaultColor:"dark",contrastLightColors:"900",contrastStrongLightColors:"900"},yellow:{50:"#fffde7",100:"#fff9c4",200:"#fff59d",300:"#fff176",400:"#ffee58",500:"#ffeb3b",600:"#fdd835",700:"#fbc02d",800:"#f9a825",900:"#f57f17",A100:"#ffff8d",A200:"#ffff00",A400:"#ffea00",A700:"#ffd600",contrastDefaultColor:"dark"},amber:{50:"#fff8e1",100:"#ffecb3",200:"#ffe082",300:"#ffd54f",400:"#ffca28",500:"#ffc107",600:"#ffb300",700:"#ffa000",800:"#ff8f00",900:"#ff6f00",A100:"#ffe57f",A200:"#ffd740",A400:"#ffc400",A700:"#ffab00",contrastDefaultColor:"dark"},orange:{50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00",contrastDefaultColor:"dark",contrastLightColors:"800 900",contrastStrongLightColors:"800 900"},"deep-orange":{50:"#fbe9e7",100:"#ffccbc",200:"#ffab91",300:"#ff8a65",400:"#ff7043",500:"#ff5722",600:"#f4511e",700:"#e64a19",800:"#d84315",900:"#bf360c",A100:"#ff9e80",A200:"#ff6e40",A400:"#ff3d00",A700:"#dd2c00",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300 400 A100 A200",contrastStrongLightColors:"500 600 700 800 900 A400 A700"},brown:{50:"#efebe9",100:"#d7ccc8",200:"#bcaaa4",300:"#a1887f",400:"#8d6e63",500:"#795548",600:"#6d4c41",700:"#5d4037",800:"#4e342e",900:"#3e2723",A100:"#d7ccc8",A200:"#bcaaa4",A400:"#8d6e63",A700:"#5d4037",contrastDefaultColor:"light",contrastDarkColors:"50 100 200",contrastStrongLightColors:"300 400"},grey:{50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",1000:"#000000",A100:"#ffffff",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161",contrastDefaultColor:"dark",contrastLightColors:"600 700 800 900"},"blue-grey":{50:"#eceff1",100:"#cfd8dc",200:"#b0bec5",300:"#90a4ae",400:"#78909c",500:"#607d8b",600:"#546e7a",700:"#455a64",800:"#37474f",900:"#263238",A100:"#cfd8dc",A200:"#b0bec5",A400:"#78909c",A700:"#455a64",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 300",contrastStrongLightColors:"400 500"}})}(),function(){function e(e){function o(e,t){return t=t||{},m[e]=a(e,t),g}function r(e,n){return a(e,t.extend({},m[e]||{},n))}function a(e,t){var n=C.filter(function(e){return!t[e]});if(n.length)throw new Error("Missing colors %1 in palette %2!".replace("%1",n.join(", ")).replace("%2",e));return t}function d(e,n){if(s[e])return s[e];n=n||"default";var o="string"==typeof n?s[n]:n,r=new c(e);return o&&t.forEach(o.colors,function(e,n){r.colors[n]={name:e.name,hues:t.extend({},e.hues)}}),s[e]=r,r}function c(e){function n(e){if(e=0===arguments.length?!0:!!e,e!==o.isDark){o.isDark=e,o.foregroundPalette=o.isDark?f:p,o.foregroundShadow=o.isDark?h:b;var n=o.isDark?T:A,r=o.isDark?A:T;return t.forEach(n,function(e,t){var n=o.colors[t],i=r[t];if(n)for(var a in n.hues)n.hues[a]===i[a]&&(n.hues[a]=e[a])}),o}}var o=this;o.name=e,o.colors={},o.dark=n,n(!1),M.forEach(function(e){var n=(o.isDark?T:A)[e];o[e+"Palette"]=function(r,i){var a=o.colors[e]={name:r,hues:t.extend({},n,i)};return Object.keys(a.hues).forEach(function(e){if(!n[e])throw new Error("Invalid hue name '%1' in theme %2's %3 color %4. Available hue names: %4".replace("%1",e).replace("%2",o.name).replace("%3",r).replace("%4",Object.keys(n).join(", ")))}),Object.keys(a.hues).map(function(e){return a.hues[e]}).forEach(function(t){if(-1==C.indexOf(t))throw new Error("Invalid hue value '%1' in theme %2's %3 color %4. Available hue values: %5".replace("%1",t).replace("%2",o.name).replace("%3",e).replace("%4",r).replace("%5",C.join(", ")))}),o},o[e+"Color"]=function(){var t=Array.prototype.slice.call(arguments);return console.warn("$mdThemingProviderTheme."+e+"Color() has been deprecated. Use $mdThemingProviderTheme."+e+"Palette() instead."),o[e+"Palette"].apply(o,t)}})}function u(e,o){function r(e){return e===n||""===e?!0:i.THEMES[e]!==n}function i(t,o){o===n&&(o=t,t=n),t===n&&(t=e),i.inherit(o,o)}return i.inherit=function(n,i){function a(e){r(e)||o.warn("Attempted to use unregistered theme '"+e+"'. Register it with $mdThemingProvider.theme().");var t=n.data("$mdThemeName");t&&n.removeClass("md-"+t+"-theme"),n.addClass("md-"+e+"-theme"),n.data("$mdThemeName",e),d&&n.data("$mdThemeController",d)}var d=i.controller("mdTheme"),c=n.attr("md-theme-watch");if((v||t.isDefined(c))&&"false"!=c){var l=e.$watch(function(){return d&&d.$mdTheme||E},a);n.on("$destroy",l)}else{var m=d&&d.$mdTheme||E;a(m)}},i.THEMES=t.extend({},s),i.defaultTheme=function(){return E},i.registered=r,i}m={},s={};var g,E="default",v=!1;return t.extend(m,e),u.$inject=["$rootScope","$log"],g={definePalette:o,extendPalette:r,theme:d,setDefaultTheme:function(e){E=e},alwaysWatchTheme:function(e){v=e},$get:u,_LIGHT_DEFAULT_HUES:A,_DARK_DEFAULT_HUES:T,_PALETTES:m,_THEMES:s,_parseRules:i,_rgba:l}}function o(e,t,n){return{priority:100,link:{pre:function(o,r,i){var a={$setTheme:function(t){e.registered(t)||n.warn("attempted to use unregistered theme '"+t+"'"),a.$mdTheme=t}};r.data("$mdThemeController",a),a.$setTheme(t(i.mdTheme)(o)),i.$observe("mdTheme",a.$setTheme)}}}}function r(e){return e}function i(e,n,o){d(e,n),o=o.replace(/THEME_NAME/g,e.name);var r=[],i=e.colors[n],a=new RegExp(".md-"+e.name+"-theme","g"),c=new RegExp("('|\")?{{\\s*("+n+")-(color|contrast)-?(\\d\\.?\\d*)?\\s*}}(\"|')?","g"),s=/'?"?\{\{\s*([a-zA-Z]+)-(A?\d+|hue\-[0-3]|shadow)-?(\d\.?\d*)?\s*\}\}'?"?/g,u=m[i.name];return o=o.replace(s,function(t,n,o,r){return"foreground"===n?"shadow"==o?e.foregroundShadow:e.foregroundPalette[o]||e.foregroundPalette[1]:(0===o.indexOf("hue")&&(o=e.colors[n].hues[o]),l((m[e.colors[n].name][o]||"").value,r))}),t.forEach(i.hues,function(t,n){var i=o.replace(c,function(e,n,o,r,i){return l(u[t]["color"===r?"value":"contrast"],i)});"default"!==n&&(i=i.replace(a,".md-"+e.name+"-theme.md-"+n)),"default"==e.name&&(i=i.replace(/\.md-default-theme/g,"")),r.push(i)}),r}function a(e){function n(e){var n=e.contrastDefaultColor,o=e.contrastLightColors||[],r=e.contrastStrongLightColors||[],i=e.contrastDarkColors||[];"string"==typeof o&&(o=o.split(" ")),"string"==typeof r&&(r=r.split(" ")),"string"==typeof i&&(i=i.split(" ")),delete e.contrastDefaultColor,delete e.contrastLightColors,delete e.contrastStrongLightColors,delete e.contrastDarkColors,t.forEach(e,function(a,d){function l(){return"light"===n?i.indexOf(d)>-1?g:r.indexOf(d)>-1?v:E:o.indexOf(d)>-1?r.indexOf(d)>-1?v:E:g}if(!t.isObject(a)){var m=c(a);if(!m)throw new Error("Color %1, in palette %2's hue %3, is invalid. Hex or rgb(a) color expected.".replace("%1",a).replace("%2",e.name).replace("%3",d));e[d]={value:m,contrast:l()}}})}var o=document.getElementsByTagName("head")[0],r=o?o.firstElementChild:null,a=e.has("$MD_THEME_CSS")?e.get("$MD_THEME_CSS"):"";if(r&&0!==a.length){t.forEach(m,n);var d={},l=a.split(/\}(?!(\}|'|"|;))/).filter(function(e){return e&&e.length}).map(function(e){return e.trim()+"}"}),p=new RegExp("md-("+M.join("|")+")","g");M.forEach(function(e){d[e]=""}),l.forEach(function(e){for(var t,n=(e.match(p),0);t=M[n];n++)if(e.indexOf(".md-"+t)>-1)return d[t]+=e;for(n=0;t=M[n];n++)if(e.indexOf(t)>-1)return d[t]+=e;return d[$]+=e}),t.forEach(s,function(e){u[e.name]||(M.forEach(function(t){for(var n=i(e,t,d[t]);n.length;){var a=document.createElement("style");a.setAttribute("type","text/css"),a.appendChild(document.createTextNode(n.shift())),o.insertBefore(a,r)}}),e.colors.primary.name==e.colors.accent.name&&console.warn("$mdThemingProvider: Using the same palette for primary and accent. This violates the material design spec."),u[e.name]=!0)})}}function d(e,t){if(!m[(e.colors[t]||{}).name])throw new Error("You supplied an invalid color palette for theme %1's %2 palette. Available palettes: %3".replace("%1",e.name).replace("%2",t).replace("%3",Object.keys(m).join(", ")))}function c(e){if(t.isArray(e)&&3==e.length)return e;if(/^rgb/.test(e))return e.replace(/(^\s*rgba?\(|\)\s*$)/g,"").split(",").map(function(e,t){return 3==t?parseFloat(e,10):parseInt(e,10)});if("#"==e.charAt(0)&&(e=e.substring(1)),/^([a-fA-F0-9]{3}){1,2}$/g.test(e)){var n=e.length/3,o=e.substr(0,n),r=e.substr(n,n),i=e.substr(2*n);return 1===n&&(o+=o,r+=r,i+=i),[parseInt(o,16),parseInt(r,16),parseInt(i,16)]}}function l(e,n){return e?(4==e.length&&(e=t.copy(e),n?e.pop():n=e.pop()),n&&("number"==typeof n||"string"==typeof n&&n.length)?"rgba("+e.join(",")+","+n+")":"rgb("+e.join(",")+")"):"rgb('0,0,0')"}t.module("material.core.theming",["material.core.theming.palette"]).directive("mdTheme",o).directive("mdThemable",r).provider("$mdTheming",e).run(a);var m,s,u={},p={name:"dark",1:"rgba(0,0,0,0.87)",2:"rgba(0,0,0,0.54)",3:"rgba(0,0,0,0.26)",4:"rgba(0,0,0,0.12)"},f={name:"light",1:"rgba(255,255,255,1.0)",2:"rgba(255,255,255,0.7)",3:"rgba(255,255,255,0.3)",4:"rgba(255,255,255,0.12)"},h="1px 1px 0px rgba(0,0,0,0.4), -1px -1px 0px rgba(0,0,0,0.4)",b="",g=c("rgba(0,0,0,0.87)"),E=c("rgba(255,255,255,0.87"),v=c("rgb(255,255,255)"),M=["primary","accent","warn","background"],$="primary",A={accent:{"default":"A200","hue-1":"A100","hue-2":"A400","hue-3":"A700"},background:{"default":"A100","hue-1":"300","hue-2":"800","hue-3":"900"}},T={background:{"default":"800","hue-1":"300","hue-2":"600","hue-3":"900"}};M.forEach(function(e){var t={"default":"500","hue-1":"300","hue-2":"800","hue-3":"A100"};A[e]||(A[e]=t),T[e]||(T[e]=t)});var C=["50","100","200","300","400","500","600","700","800","900","A100","A200","A400","A700"];e.$inject=["$mdColorPalette"],o.$inject=["$mdTheming","$interpolate","$log"],r.$inject=["$mdTheming"],a.$inject=["$injector"]}(),function(){t.module("material.components.autocomplete",["material.core","material.components.icon"])}(),function(){function e(){return{restrict:"E"}}function n(e){function n(e,n,i,a,d,c,l){function m(o,r,l){r=i.extractElementByName(r,"md-bottom-sheet"),p=i.createBackdrop(o,"md-bottom-sheet-backdrop md-opaque"),p.on("click",function(){i.nextTick(d.cancel,!0)}),a.inherit(p,l.parent),e.enter(p,l.parent,null);var m=new u(r,l.parent);return l.bottomSheet=m,l.targetEvent&&t.element(l.targetEvent.target).blur(),a.inherit(m.element,l.parent),l.disableParentScroll&&(l.lastOverflow=l.parent.css("overflow"),l.parent.css("overflow","hidden")),e.enter(m.element,l.parent).then(function(){var e=t.element(r[0].querySelector("button")||r[0].querySelector("a")||r[0].querySelector("[ng-click]"));e.focus(),l.escapeToClose&&(l.rootElementKeyupCallback=function(e){e.keyCode===n.KEY_CODE.ESCAPE&&i.nextTick(d.cancel,!0)},c.on("keyup",l.rootElementKeyupCallback))})}function s(n,o,r){var i=r.bottomSheet;return e.leave(p),e.leave(i.element).then(function(){r.disableParentScroll&&(r.parent.css("overflow",r.lastOverflow),delete r.lastOverflow),i.cleanup(),r.targetEvent&&t.element(r.targetEvent.target).focus()})}function u(e,t){function a(t){e.css(n.CSS.TRANSITION_DURATION,"0ms")}function c(t){var o=t.pointer.distanceY;5>o&&(o=Math.max(-r,o/2)),e.css(n.CSS.TRANSFORM,"translate3d(0,"+(r+o)+"px,0)")}function m(t){if(t.pointer.distanceY>0&&(t.pointer.distanceY>20||Math.abs(t.pointer.velocityY)>o)){var r=e.prop("offsetHeight")-t.pointer.distanceY,a=Math.min(r/t.pointer.velocityY*.75,500);e.css(n.CSS.TRANSITION_DURATION,a+"ms"),i.nextTick(d.cancel,!0)}else e.css(n.CSS.TRANSITION_DURATION,""),e.css(n.CSS.TRANSFORM,"")}var s=l.register(t,"drag",{horizontal:!1});return t.on("$md.dragstart",a).on("$md.drag",c).on("$md.dragend",m),{element:e,cleanup:function(){s(),t.off("$md.dragstart",a).off("$md.drag",c).off("$md.dragend",m)}}}var p;return{themable:!0,targetEvent:null,onShow:m,onRemove:s,escapeToClose:!0,disableParentScroll:!0}}var o=.5,r=80;return n.$inject=["$animate","$mdConstant","$mdUtil","$mdTheming","$mdBottomSheet","$rootElement","$mdGesture"],e("$mdBottomSheet").setDefaults({methods:["disableParentScroll","escapeToClose","targetEvent"],options:n})}t.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",n),n.$inject=["$$interimElementProvider"]}(),function(){t.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",["$mdTheming","$animate","$rootElement","$window","$log","$$rAF","$document",function(e,t,n,o,r,i,a){function d(d,l,m){var s=o.getComputedStyle(a[0].body);if("fixed"==s.position){var u=parseInt(s.height,10)+Math.abs(parseInt(s.top,10));l.css({height:u+"px"})}t.pin&&t.pin(l,n),i(function(){var t=l.parent()[0];if(t){var n=o.getComputedStyle(t);"static"==n.position&&r.warn(c)}e.inherit(l,l.parent())})}var c=" may not work properly in a scrolled, static-positioned parent container.";return{restrict:"E",link:d}}])}(),function(){function e(e){return{restrict:"E",link:function(t,n,o){e(n)}}}t.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r,i,a,d){function c(n,c){return c.type="checkbox",c.tabindex=c.tabindex||"0",n.attr("role",c.type),function(n,c,m,s){function u(e,t,o){m[e]&&n.$watch(m[e],function(e){o[e]&&c.attr(t,o[e])})}function p(e){var t=e.which||e.keyCode;(t===r.KEY_CODE.SPACE||t===r.KEY_CODE.ENTER)&&(e.preventDefault(),c.hasClass("md-focused")||c.addClass("md-focused"),f(e))}function f(e){c[0].hasAttribute("disabled")||n.$apply(function(){var t=m.ngChecked?m.checked:!s.$viewValue;s.$setViewValue(t,e&&e.type),s.$render()})}function h(){s.$viewValue?c.addClass(l):c.removeClass(l)}s=s||a.fakeNgModel(),i(c),m.ngChecked&&n.$watch(n.$eval.bind(n,m.ngChecked),s.$setViewValue.bind(s)),u("ngDisabled","tabindex",{"true":"-1","false":m.tabindex}),o.expectWithText(c,"aria-label"),e.link.pre(n,{on:t.noop,0:{}},m,[s]),n.mouseActive=!1,c.on("click",f).on("keypress",p).on("mousedown",function(){n.mouseActive=!0,d(function(){n.mouseActive=!1},100)}).on("focus",function(){n.mouseActive===!1&&c.addClass("md-focused")}).on("blur",function(){c.removeClass("md-focused")}),s.$render=h}}e=e[0];var l="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",priority:210,template:'',compile:c}}t.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdInkRipple","$mdAria","$mdConstant","$mdTheming","$mdUtil","$timeout"]}(),function(){function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,o,r){o[0];e(o),t.$broadcast("$mdContentLoaded",o),n(o[0])}}}function n(e){t.element(e).on("$md.pressdown",function(t){"t"===t.pointer.type&&(t.$materialScrollFixed||(t.$materialScrollFixed=!0,0===e.scrollTop?e.scrollTop=1:e.scrollHeight===e.scrollTop+e.offsetHeight&&(e.scrollTop-=1)))})}t.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){function e(e,n,o,r){function i(e){return t.isDefined(e.href)||t.isDefined(e.ngHref)||t.isDefined(e.ngLink)||t.isDefined(e.uiSref)}function a(e,t){return i(t)?'':''}function d(a,d,c){var l=d[0];n(d),e.attach(a,d);var m=l.textContent.trim();m||o.expect(d,"aria-label"),i(c)&&t.isDefined(c.ngDisabled)&&a.$watch(c.ngDisabled,function(e){d.attr("tabindex",e?-1:0)}),d.on("click",function(e){c.disabled===!0&&(e.preventDefault(),e.stopImmediatePropagation())}),a.mouseActive=!1,d.on("mousedown",function(){a.mouseActive=!0,r(function(){a.mouseActive=!1},100)}).on("focus",function(){a.mouseActive===!1&&d.addClass("md-focused")}).on("blur",function(){d.removeClass("md-focused")})}return{restrict:"EA",replace:!0,transclude:!0,template:a,link:d}}t.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdButtonInkRipple","$mdTheming","$mdAria","$timeout"]}(),function(){function e(e){return{restrict:"E",link:e}}t.module("material.components.divider",["material.core"]).directive("mdDivider",e),e.$inject=["$mdTheming"]}(),function(){t.module("material.components.chips",["material.core","material.components.autocomplete"])}(),function(){function e(e,n){return{restrict:"E",link:function(o,r,i){n(r),e(function(){function e(){r.toggleClass("md-content-overflow",o.scrollHeight>o.clientHeight)}var n,o=r[0].querySelector("md-dialog-content");o&&(n=o.getElementsByTagName("img"),e(),t.element(n).on("load",e))})}}}function n(e){function n(e,t){return{template:['',' ',' {{ dialog.title }}
'," {{ dialog.content }}
"," ",' ',' '," {{ dialog.cancel }}"," ",' '," {{ dialog.ok }}"," "," "," "].join("").replace(/\s\s+/g,""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0,theme:t.defaultTheme()}}function o(e,n,o,r,i,a,d,c){function l(e,n,r){function i(){function e(){var e=n[0].querySelector(".dialog-close");if(!e){var o=n[0].querySelectorAll(".md-actions button");e=o[o.length-1]}return t.element(e)}if(r.focusOnOpen){var o="alert"===r.$type?n.find("md-dialog-content"):e();o.focus()}}return n=o.extractElementByName(n,"md-dialog"),t.element(a[0].body).addClass("md-dialog-is-showing"),s(n,r),f(n.find("md-dialog"),r),p(e,n,r),g(n,r).then(function(){u(n,r),h(n,r),i()})}function m(e,n,o){return o.deactivateListeners(),o.unlockScreenReader(),o.hideBackdrop(),E(n,o)["finally"](function(){t.element(a[0].body).removeClass("md-dialog-is-showing"),n.remove(),o.origin.focus()})}function s(e,n){var r={element:null,bounds:null,focus:t.noop};n.origin=t.extend({},r,n.origin||{});var i=t.element((n.targetEvent||{}).target);i&&i.length&&(n.origin.element=i,n.origin.bounds=i[0].getBoundingClientRect(),n.origin.focus=function(){i.focus()}),n.parent=t.element(n.parent||c),n.disableParentScroll&&(n.restoreScroll=o.disableScrollAround(e,n.parent))}function u(t,n){var i=[],a=function(){var t="alert"==n.$type?e.hide:e.cancel;o.nextTick(t,!0)};if(n.escapeToClose){var d=n.parent,c=function(e){e.keyCode===r.KEY_CODE.ESCAPE&&(e.stopPropagation(),e.preventDefault(),a())};t.on("keyup",c),d.on("keyup",c),i.push(function(){t.off("keyup",c),d.off("keyup",c)})}if(n.clickOutsideToClose){var d=t,l=function(e){e.target===d[0]&&(e.stopPropagation(),e.preventDefault(),a())};d.on("click",l),i.push(function(){d.off("click",l)})}n.deactivateListeners=function(){i.forEach(function(e){e()}),n.deactivateListeners=null}}function p(e,t,n){n.hasBackdrop&&(n.backdrop=o.createBackdrop(e,"md-dialog-backdrop md-opaque"),i.enter(n.backdrop,n.parent)),n.hideBackdrop=function(){n.backdrop&&i.leave(n.backdrop),n.disableParentScroll&&n.restoreScroll(),n.hideBackdrop=null}}function f(e,t){var r="alert"===t.$type?"alertdialog":"dialog",i=e.find("md-dialog-content"),a=e.attr("id")||"dialog_"+o.nextUid();e.attr({role:r,tabIndex:"-1"}),0===i.length&&(i=e),i.attr("id",a),e.attr("aria-describedby",a),t.ariaLabel?n.expect(e,"aria-label",t.ariaLabel):n.expectAsync(e,"aria-label",function(){var e=i.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function h(e,t){function n(e){for(;e.parentNode;){if(e===document.body)return;for(var t=e.parentNode.children,r=0;r'+e+"