an integer array nums, an integer k, and an integer multiplier.

You need to perform k operations on nums. In each operation:

Find the minimum value x in nums. If there are multiple occurrences of the minimum value, select the one that appears first.

Replace the selected minimum value x with x * multiplier.

Return an integer array denoting the final state of nums after performing all k operations.

Example 1:

Input: nums = [2,1,3,5,6], k = 5, multiplier = 2

Output: [8,4,6,5,6]

Explanation:

			Operation
			Result

			After operation 1
			[2, 2, 3, 5, 6]

			After operation 2
			[4, 2, 3, 5, 6]

			After operation 3
			[4, 4, 3, 5, 6]

			After operation 4
			[4, 4, 6, 5, 6]

			After operation 5
			[8, 4, 6, 5, 6]

Example 2:

Input: nums = [1,2], k = 3, multiplier = 4

Output: [16,8]

Explanation:

			Operation
			Result

			After operation 1
			[4, 2]

			After operation 2
			[4, 8]

			After operation 3
			[16, 8]

Constraints:

1 <= nums.length <= 100

1 <= nums[i] <= 100

1 <= k <= 10

1 <= multiplier <= 5

797. Rabbits in Forest

Medium

There is a forest with an unknown number of rabbits. We asked n rabbits "How many rabbits have the same color as you?" and collected the answers in an integer array answers where answers[i] is the answer of the i<sup


)
UnitEmbarkRenameOverlay.ATTRS {
    desc='Allows editing of unit nicknames on the embark preparation screen.',
    default_enabled=true,
    viewscreens='setupdwarfgame/Dwarves',
    fullscreen=true,
    active=function() return mi.view_sheets.open end,
}

local function get_selected_embark_unit()
    local scr = dfhack.gui.getDFViewscreen(true)
    return scr.s_unit[scr.selected_u]
end

function UnitEmbarkRenameOverlay:onInput(keys)
    if (keys.SELECT or keys._STRING) and mi.view_sheets.unit_overview_customizing then
        if mi.view_sheets.unit_overview_entering_nickname then
            if keys.SELECT then
                mi.view_sheets.unit_overview_entering_nickname = false
                return true
            end
            local unit = get_selected_embark_unit()
            if unit then
                if keys._STRING == 0 then
                    unit.name.nickname = string.sub(unit.name.nickname, 1, -2)
                else
                    unit.name.nickname = unit.name.nickname .. string.char(keys._STRING)
                end
                local hf = df.historical_figure.find(unit.hist_figure_id)
                if hf then
                    hf.name.nickname = unit.name.nickname
                end
                return true
            end
        elseif mi.view_sheets.unit_overview_entering_profession_nickname then
            if keys.SELECT then
                mi.view_sheets.unit_overview_entering_profession_nickname = false
                return true
            end
            local unit = get_selected_embark_unit()
            if unit then
                if keys._STRING == 0 then
                    unit.custom_profession = string.sub(unit.custom_profession, 1, -2)
                else
                    unit.custom_profession = unit.custom_profession .. string.char(keys._STRING)
                end
                return true
            end
        end
    end
    return false
end

OVERLAY_WIDGETS = {
    unit_embark=UnitEmbarkRenameOverlay,
    world=WorldRenameOverlay,
}

--
-- CLI
--

if dfhack_flags.module then
    return
end

if not dfhack.isWorldLoaded() then
    qerror('This script requires a world to be loaded')
end

local function get_target(opts)
    local target
    if opts.histfig_id then
        target = get_hf_target(df.historical_figure.find(opts.histfig_id))
        if not target then qerror('Historical figure not found') end
    elseif opts.item_id then
        target = get_artifact_target(df.item.find(opts.item_id))
        if not target then qerror('Artifact not found') end
    elseif opts.location_id then
        local site = opts.site_id and df.world_site.find(opts.site_id) or dfhack.world.getCurrentSite()
        if not site then qerror('Site not found') end
        target = get_location_target(site, opts.location_id)
        if not target then qerror('Location not found') end
    elseif opts.site_id then
        local site = df.world_site.


em;
  height: 1.5em;
  border-radius: 500rem;
  border: 0.2em solid rgba(0, 0, 0, 0.1);
}

.ui.loading.search .input > i.icon:after {
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  margin: -0.75em 0em 0em -0.75em;
  width: 1.5em;
  height: 1.5em;
  -webkit-animation: button-spin 0.6s linear;
  animation: button-spin 0.6s linear;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  border-radius: 500rem;
  border-color: #BDC3C7 transparent transparent;
  border-style: solid;
  border-width: 0.2em;
  -webkit-box-shadow: 0px 0px 0px 1px transparent;
  box-shadow: 0px 0px 0px 1px transparent;
}

/*--------------
      Hover
---------------*/

.ui.search > .results .result:hover,
.ui.category.search > .results .category .result:hover {
  background: #F9FAFB;
}

.ui.search .action:hover {
  background: #E0E0E0;
}

/*--------------
      Active
---------------*/

.ui.category.search > .results .category.active {
  background: #F3F4F5;
}

.ui.category.search > .results .category.active > .name {
  color: rgba(0, 0, 0, 0.87);
}

.ui.search > .results .result.active,
.ui.category.search > .results .category .result.active {
  position: relative;
  border-left-color: rgba(34, 36, 38, 0.1);
  background: #F3F4F5;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.ui.search > .results .result.active .title {
  color: rgba(0, 0, 0, 0.85);
}

.ui.search > .results .result.active .description {
  color: rgba(0, 0, 0, 0.85);
}

/*--------------------
        Disabled
----------------------*/

/* Disabled */

.ui.disabled.search {
  cursor: default;
  pointer-events: none;
  opacity: 0.45;
}

/*******************************
           Types
*******************************/

/*--------------
    Selection
---------------*/

.ui.search.selection .prompt {
  border-radius: 0.33333333rem;
}

/* Remove input */

.ui.search.selection > .icon.input > .remove.icon {
  pointer-events: none;
  position: absolute;
  left: auto;
  opacity: 0;
  color: '';
  top: 0em;
  right: 0em;
  -webkit-transition: color 0.1s ease, opacity 0.1s ease;
  transition: color 0.1s ease, opacity 0.1s ease;
}

.ui.search.selection > .icon.input > .active.remove.icon {
  cursor: pointer;
  opacity: 0.8;
  pointer-events: auto;
}

.ui.search.selection > .icon.input:not([class*="left icon"]) > .icon ~ .remove.icon {
  right: 1.85714em;
}

.ui.search.selection > .icon.input > .remove.icon:hover {
  opacity: 1;
  color: #f03434;
}

/*--------------
    Category
---------------*/

.ui.category.search .results {
  width: 28em;
}

.ui.category.search .results.animating,
.ui.category.search .results.visible {
  display: table;
}

/* Category */

.ui.category.search > .results .category {
  display: table-row;
  background: #F3F4F5;
  -webkit-box-shadow: none;
  bo


import argparse

import h5py
import matplotlib.pyplot as plt
import numpy as np

def plot(fnames, params):
    # colors = ['k', 'r','b']
    c = 0
    for fname in fnames:
        pars = []
        t = None
        try:
            h5 = None
            h5 = h5py.File(fname, "r")
            t = np.array(h5.get("t"))
            for par in params:
                pars.append(np.array(h5.get(par)))

            h5.close()
        except Exception:
            print("Failed to read input file")
            continue

        for par, label in zip(pars, params):
            try:
                plt.plot(
                    t, np.real(par) , "-", label=label + "_" + fname
                )
            except Exception:
                print("Failed to plot: " + label)
        c += 1
        c = c % 3
    # plt.ylim([0, 1])
    plt.legend(frameon=False)
    plt.show()

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="Plot density matrix elements output by a heom calculation."
    )
    parser.add_argument("fname", nargs="+")
    parser.add_argument("--labels", nargs="+", default=["Sz"])

    args = parser.parse_args()
    plot(args.fname, args.labels)


을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. 각 도시에는 단 하나의 주유소가 있으며, 도시 마다 주유소의 리터당 가격은 다를 수 있다. 가격의 단위는 원을 사용한다.

예를 들어, 이 나라에 다음 그림처럼 4개의 도시가 있다고 하자. 원 안에 있는 숫자는 그 도시에 있는 주유소의 리터당 가격이다. 도로 위에 있는 숫자는 도로의 길이를 표시한 것이다.

제일 왼쪽 도시에서 6리터의 기름을 넣고, 더 이상의 주유 없이 제일 오른쪽 도시까지 이동하면 총 비용은 30원이다. 만약 제일 왼쪽 도시에서 2리터의 기름을 넣고(2×5 = 10원) 다음 번 도시까지 이동한 후 3리터의 기름을 넣고(3×2 = 6원) 다음 도시에서 1리터의 기름을 넣어(1×4 = 4원) 제일 오른쪽 도시로 이동하면, 총 비용은 20원이다. 또 다른 방법으로 제일 왼쪽 도시에서 2리터의 기름을 넣고(2×5 = 10원) 다음 번 도시까지 이동한 후 4리터의 기름을 넣고(4×2 = 8원) 제일 오른쪽 도시까지 이동하면, 총 비용은 18원이다.

각 도시에 있는 주유소의 기름 가격과, 각 도시를 연결하는 도로의 길이를 입력으로 받아 제일 왼쪽 도시에서 제일 오른쪽 도시로 이동하는 최소의 비용을 계산하는 프로그램을 작성하시오.

### 입력

표


Data = result
            }
        } else {
            RemoteOperationResult<List<Tag>>(false, propFindMethod).apply {
                resultData = emptyList()
            }
        }
    }

    companion object {
        const val TAG_URL = "/remote.php/dav/systemtags/"
    }
}
/*
 * Nextcloud Android Library
 *
 * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
 * SPDX-FileCopyrightText: 2024 Alper Ozturk <alper.ozturk@nextcloud.com>
 * SPDX-License-Identifier: MIT
 */

package com.owncloud.android.lib.resources.assistant.v2

import com.google.gson.reflect.TypeToken
import com.nextcloud.common.NextcloudClient
import com.nextcloud.operations.GetMethod
import com.owncloud.android.lib.common.operations.RemoteOperationResult
import com.owncloud.android.lib.common.utils.Log_OC
import com.owncloud.android.lib.ocs.ServerResponse
import com.owncloud.android.lib.resources.OCSRemoteOperation
import com.owncloud.android.lib.resources.assistant.v2.model.TaskTypeData
import com.owncloud.android.lib.resources.assistant.v2.model.TaskTypes
import org.apache.commons.httpclient.HttpStatus

/**
 * Returns a list of supported task types.
 *
 * Example JSON representation of one task type:
 * ```
 * {
 *   "id": "core:text2text",
 *   "name": "Free text to text prompt",
 *   "description": "Runs an arbitrary prompt through a language model that returns a reply",
 *   "inputShape": {
 *     "input": {
 *       "name": "Prompt",
 *       "description": "Describe a task that you want the assistant to do or ask a question",
 *       "type": "Text"
 *     }
 *   },
 *   "outputShape": {
 *     "output": {
 *       "name": "Generated reply",
 *       "description": "The generated text from the assistant",
 *       "type": "Text"
 *     }
 *   }
 * }
 * ```
 */
class GetTaskTypesRemoteOperationV2 : OCSRemoteOperation<List<TaskTypeData>>() {
    private val supportedTaskType = "Text"

    @Suppress("TooGenericExceptionCaught")
    override fun run(client: NextcloudClient): RemoteOperationResult<List<TaskTypeData>> {
        var result: RemoteOperationResult<List<TaskTypeData>>
        var getMethod: GetMethod? = null

        try {
            getMethod =
                GetMethod(client.baseUri.toString() + DIRECT_ENDPOINT + JSON_FORMAT, true)
            val status = client.execute(getMethod)
            if (status == HttpStatus.SC_OK) {
                val response =
                    getServerResponse(
                        getMethod,
                        object : TypeToken<ServerResponse<TaskTypes>>() {}
                    )

                val taskTypeList =
                    response
                        ?.ocs
                        ?.data
                        ?.types
                        ?.map { (key, value) -> value.copy(id = value.id ?: key) }
                        ?.filter { taskType -> isSingleTextInputOutput(taskType) }

                result = RemoteOperationResult(true, getMethod)
                result.resultData = taskTypeList
            } else {
                result = RemoteOperationResult(false, getMethod)
            }
        } catch (e: Exception) {
            result = RemoteOperationResult(e)
            Log_OC.e(
                TAG,
                "Get task types for user " + " failed: " + result.logMessage,
                result.exception
            )
        } finally {
            getMethod?.releaseConnection()
        }
        return result
    }

    private fun isSingleTextInputOutput(taskType: TaskTypeData): Boolean {
        val inputShape = taskType.inpu


     }

        group
    }
}

fn main() {
    let camera = Camera::new(
        15.0,
        1.0,
        10.0,
        100.0,
        Point3::new(13.0, 2.0, 20.0),
        Point3::new(0.0, 0.0, 0.0),
        Vector3::y(),
    );

    let octahedron: Vec<Face> = octahedron()
        .iter()
        .map(|face| [15.0 * face[0], 15.0 * face[1], 15.0 * face[2]])
        .collect();

    let mesh = Mesh::<String>::new(&octahedron);
    let meshes = [mesh];

    let view = View::new(camera, Scene::new(&meshes));
    let views = [view];
    let engine = Engine::new(&views);
    engine.render("octahedron.svg".to_string())
}
<reponame>yippeesoft/NotifyTools
extern crate bindgen;
// extern crate cc;

use std::env;
use std::path::PathBuf;

fn main() {
    let lib_path = PathBuf::from(env::current_dir().unwrap().join("."));

    println!("cargo:rustc-link-search={}", lib_path.display());
    println!("cargo:rustc-link-lib=tengine-lite");
    // println!("cargo:rustc-link-lib=ncnn");
    let bindingsncnn = bindgen::Builder::default()
        .header("c_api.h")
        // .whitelist_function("hello_from_c")
        .generate()
        .expect("unable to generate hello bindings");

    // let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
    bindingsncnn.write_to_file("ncnn_c_api.rs")
        .expect("couldn't write bindings!");

    let bindingsten = bindgen::Builder::default()
        .header("tengine_c_api.h")
        // .whitelist_function("hello_from_c")
        .generate()
        .expect("unable to generate hello bindings");

    // let out_path = PathBuf::from(env::var("OUT_DIR").unwrap());
    bindingsten.write_to_file("tengine_c_api.rs")
        .expect("couldn't write bindings!");
}<reponame>kikei/composion-of-onsen-server<filename>webapp/src/utils/scrub.rs
extern crate mecab;

use mecab::{Tagger, Node};
/**
 * MeCab: Yey Another Part-of-Speech and Morphological Analyzer
 * http://taku910.github.io/mecab/
 *
 * mecab-rs/mecab.rs
 * https://github.com/tsurai/mecab-rs/blob/master/src/mecab.rs
 */

#[allow(dead_code)]
fn print_node(node: &Node) {
    println!("fe: {}, rc: {}, lc: {}, po: {}, ct: {}, st: {}, be: {}, al: {}, be: {}, pr: {}, co: {}",
             node.feature,
             node.rcattr,
             node.lcattr,
             node.posid,
             node.char_type,
             node.stat,
             node.isbest,
             node.alpha,
             node.beta,
             node.prob,
             node.cost);
}

fn node_to_yomi(node: &Node) -> String {
    /*
     * 0: 品詞, 1: 品詞細分類1, 2: 品詞細分類2, 3: 品詞細分類3,
     * 4: 活用型, 5: 活用形, 6: 原形, 7: 読み, 8: 発音
     */
    // print_node(&node);
    String::from(match node.stat as i32 {
        mecab::MECAB_BOS_NODE => "",
        mecab::MECAB_EOS_NODE => "",
        _ => {
            let feature = &node.feature;
            let parts: Vec<&str> = feature.split(',').collect();
            println!("surface: {:


 error {
	err := sc.storer.Close()
	if err != nil {
		sc.logger.Errorf("close storer : err(%v)", err)
	}
	return err
}
package cmd

import (
	"bufio"
	"context"
	"fmt"
	"io"
	"os"
	"strconv"
	"strings"

	"github.com/mgtv-tech/redis-GunYu/config"
	"github.com/mgtv-tech/redis-GunYu/pkg/log"
	"github.com/mgtv-tech/redis-GunYu/pkg/redis/client"
	"github.com/mgtv-tech/redis-GunYu/pkg/store"
	"github.com/mgtv-tech/redis-GunYu/pkg/util"
)

type AofCmd struct {
	ctx    context.Context
	cancel context.CancelFunc
}

func NewAofCmd() *AofCmd {
	ctx, c := context.WithCancel(context.Background())
	return &AofCmd{
		ctx:    ctx,
		cancel: c,
	}
}

func (sc *AofCmd) Name() string {
	return "redis.aof"
}

func (sc *AofCmd) Stop() error {
	sc.cancel()
	return nil
}

func (rc *AofCmd) Run() error {
	action := config.GetFlag().AofCmd.Action
	switch action {
	case "parse":
		rc.Parse()
	case "verify":
		rc.Verify()
	case "cmd":
		rc.Cmd()
	default:
		panic(fmt.Errorf("unsupported mode : %s", action))
	}
	return nil
}

const (
	headerSize = int64(16)
)

func (rc *AofCmd) Cmd() {
	aofPath := config.GetFlag().AofCmd.Path
	start := config.GetFlag().AofCmd.Offset
	size := config.GetFlag().AofCmd.Size

	fi, err := os.Stat(aofPath)
	util.PanicIfErr(err)

	left, err := strconv.ParseInt(strings.TrimSuffix(fi.Name(), ".aof"), 10, 64)
	util.PanicIfErr(err)

	if size <= 0 {
		size = fi.Size() - headerSize
	} else if size > fi.Size()-headerSize {
		size = fi.Size() - headerSize
	}
	if start < left {
		start = left
	}

	file, err := os.OpenFile(aofPath, os.O_RDONLY, 0777)
	util.PanicIfErr(err)

	if start > 0 {
		_, err = file.Seek(start-left+headerSize, 0)
		util.PanicIfErr(err)
	}

	decoder := client.NewDecoder(bufio.NewReader(file))
	for {
		resp, incrOffset, err := client.MustDecodeOpt(decoder)
		if err != nil {
			log.Errorf("%v", err)
			return
		}

		sCmd, argv, err := client.ParseArgs(resp) // lower case
		if err != nil {
			log.Errorf("%v", err)
			log.Info("offset(%d), cmd(%d), %s", incrOffset, sCmd, argv)
			return
		}

	}

}

func (rc *AofCmd) Parse() {
	aofPath := config.GetFlag().AofCmd.Path
	start := config.GetFlag().AofCmd.Offset
	size := config.GetFlag().AofCmd.Size

	fi, err := os.Stat(aofPath)
	util.PanicIfErr(err)

	left, err := strconv.ParseInt(strings.TrimSuffix(fi.Name(), ".aof"), 10, 64)
	util.PanicIfErr(err)

	if size <= 0 {
		size = fi.Size() - headerSize
	} else if size > fi.Size()-headerSize {
		size = fi.Size() - header


            {
                return _totalIncome;
            }
            set
            {
                if (value < 0)
                {
                    throw new ArgumentOutOfRangeException("value", "Total Income Cannot be Negative");
                }

                if (_totalIncome != value)
                {
                    _totalIncome = value;
                    CalculateTaxOrRefund();
                }
            }
        }

        /// <summary>
        /// Tax Paid
        /// </summary>
        /// <value></value>
        public decimal TaxPaid
        {
            get
            {
                return _taxPaid;
            }
            set
            {
                if (value < 0)
                {
                    throw new ArgumentOutOfRangeException("value", "Total Tax Paid Cannot be Negative");
                }

                if (_taxPaid != value)
                {
                    _taxPaid = value;
                    CalculateTaxOrRefund();
                }
            }
        }

        /// <summary>
        /// Tax Due or Refund
        /// </summary>
        /// <value>Positive value for tax due. Negative value for refund</value>
        public decimal TaxDueOrRefund
        {
            get
            {
                return _taxDueOrRefund;
            }
        }

        /// <summary>
        /// String representation
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            System.Text.StringBuilder sb1 = new System.Text.StringBuilder(50);

            sb1.Append("TotalIncome:");
            sb1.Append(TotalIncome);
            sb1.Append(" TaxPaid:");
            sb1.Append(TaxPaid);
            if (TaxDueOrRefund >= 0)
            {
                sb1.Append(" TaxDue:");
            }
            else
            {
                sb1.Append(" Refund:");
            }

            sb1.Append(TaxDueOrRefund);
            return sb1.ToString();
        }

        /// <summary>
        /// Used to bind to string
        /// </summary>
        /// <value></value>
        public string Information
        {
            get
            {
                return ToString();
            }
            set
            {
            }
        }
    }
}


import heapq
from collections import defaultdict

def build_huffman_tree(freq_dict):
    heap = [[weight, [char, ""]] for char, weight in freq_dict.items()]
    heapq.heapify(heap)

    while len(heap) > 1:
        lo = heapq.heappop(heap)
        hi = heapq.heappop(heap)
        for pair in lo[1:]:
            pair[1] = '0' + pair[1]
        for pair in hi[1:]:
            pair[1] = '1' + pair[1]
        heapq.heappush(heap, [lo[0] + hi[0]] + lo[1:] + hi[1:])

    return heap[0][1:]

def huffman_coding(text):
    freq_dict = defaultdict(int)
    for char in text:
        freq_dict[char] += 1

    huffman_tree = build_huffman_tree(freq_dict)

    huffman_codes = {char: code for char, code in huffman_tree}

    encoded_text = ''.join(huffman_codes[char] for char in text)

    original_size = len(text) * 8  # Assuming 8 bits per character
    compressed_size = sum(freq_dict[char] * len(huffman_codes[char]) for char in freq_dict)

    compression_factor = original_size / compressed_size

    return huffman_codes, encoded_text, original_size, compressed_size, compression_factor

if __name__ == "__main__":
    input_text = "your_input_text_here"

    huffman_codes, encoded_text, original_size, compressed_size, compression_factor = huffman_coding(input_text)

    # Print the results
    print("Input Text:", input_text)
    print("Huffman Codes:", huffman_codes)
    print("Encoded Text:", encoded_text)
    print("\nMetrics:")
    print("Original Size (bits):", original_size)
    print("Compression Size (bits):", compressed_size)
    print("Compression Factor:", compression_factor)


ient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
/*# sourceMappingURL=bootstrap-theme.min.css.map */@import "tailwindcss";

:root {


# from dataclasses import dataclass, asdict
# from typing import Union
from fastapi import Depends
from sqlalchemy.orm import Session

from PocketDeckBuild.database.database import get_db
from PocketDeckBuild.model.crud.trainers_crud import SqlTrainerCRUD as Crud2
from PocketDeckBuild.schema.schemas_trainers import TrainerInDB

# import models.Pokemon_table
from PocketDeckBuild.trainers_routes.getAllTrainers import router

# ===========================DELETE============================
@router.delete("/trainers/{pid}", response_model=TrainerInDB)
def delete_trainer(pid: int, dbb: Session = Depends(get_db)):
    Crud2.get_trainer_by_id_if_exists(pid, dbb)
    return Crud2.delete_trainer(dbb, pid)


#define TIMER_E3 1000ULL
#define TIMER_E6 1000000ULL
#define TIMER_E9 1000000000ULL

#ifdef CLOCK_MONOTONIC_RAW
#define TIME_MONOTONIC CLOCK_MONOTONIC_RAW
#elif defined CLOCK_MONOTONIC
#define TIME_MONOTONIC CLOCK_MONOTONIC
#else
// #define TIME_MONOTONIC CLOCK_REALTIME // untested
#endif

static uint64_t nanotimer(uint64_t *out_freq) {
    if( out_freq ) {
#ifdef _WIN32
        LARGE_INTEGER li;
        QueryPerformanceFrequency(&li);
        *out_freq = li.QuadPart;
//#elif V3_ANDROID
//      *out_freq = CLOCKS_PER_SEC;
#elif defined TIME_MONOTONIC
        *out_freq = TIMER_E9;
#else
        *out_freq = TIMER_E6;
#endif
    }
#ifdef _WIN32
    LARGE_INTEGER li;
    QueryPerformanceCounter(&li);
    return (uint64_t)li.QuadPart;
//#elif V3_ANDROID
//    return (uint64_t)clock();
#elif defined TIME_MONOTONIC
    struct timespec ts;
    clock_gettime(TIME_MONOTONIC, &ts);
    return (TIMER_E9 * (uint64_t)ts.tv_sec) + ts.tv_nsec;
#else
    struct timeval tv;
    gettimeofday(&tv, NULL);
    return (TIMER_E6 * (uint64_t)tv.tv_sec) + tv.tv_usec;
#endif
}

uint64_t date_(void) {
    time_t epoch = time(0);
    struct tm *ti = localtime(&epoch);
    return atoi64_(va("%04d%02d%02d%02d%02d%02d",ti->tm_year+1900,ti->tm_mon+1,ti->tm_mday,ti->tm_hour,ti->tm_min,ti->tm_sec));
}
char *date_string_(void) {
    time_t epoch = time(0);
    struct tm *ti = localtime(&epoch);
    return va("%04d-%02d-%02d %02d:%02d:%02d",ti->tm_year+1900,ti->tm_mon+1,ti->tm_mday,ti->tm_hour,ti->tm_min,ti->tm_sec);
}
uint64_t date_epoch_(void) {
    time_t epoch = time(0);
    return epoch;
}

// high-perf functions

uint64_t time_ns_(void) {
    static threadlocal_ uint64_t epoch = 0;
    static threadlocal_ uint64_t freq = 0;
    if( !freq ) {
        epoch = nanotimer(&freq);
    }

    uint64_t a = nanotimer(NULL) - epoch;
    uint64_t b = TIMER_E9;
    uint64_t c = freq;

    // Computes (a*b)/c without overflow, as long as both (a*b) and the overall result fit into 64-bits.
    // [ref] https://github.com/rust-lang/rust/blob/3809bbf47c8557bd149b3e52ceb47434ca8378d5/src/libstd/sys_common/mod.rs#L124
    uint64_t q = a / c;
    uint64_t r = a % c;
    return q * b + r * b / c;
}
uint64_t time_us_(void) {
    return time_ns_() / TIMER_E3;
}
uint64_t time_ms_(void) {
    return time_ns_() / TIMER_E6;
}
double time_ss_(void) {
    return time_ns_() / 1e9; // TIMER_E9;
}
double time_mm_(void) {
    return time_ss_() / 60;
}
double time_hh_(void) {
    return time_mm_() / 60;
}

void sleep_ns_( double ns ) {
#ifdef _WIN32
    if( ns >= 100 ) {
        LARGE_INTEGER li;      // Windows sleep in 100ns units
        HANDLE timer = CreateWaitableTimer(NULL, TRUE, NULL);
        li.QuadPart = (LONGLONG)(__int64)(-ns/100); // Negative for relative time
        SetWaitableTimer(timer, &li, 0, NULL, NULL, FALSE);
        WaitForSingleObject(timer, INFINITE);
        CloseHandle(timer);
#else
    if( ns > 0 ) {
        struct timespec wait = {0};
        wait.tv_sec = ns / 1e9;
        wait.tv_nsec = ns - wait.tv_sec * 1e9;
        nanosleep(&wait, NULL);
#endif
    } else {
#ifdef _WIN32
        Sleep(0); // yield, Sleep(0), SwitchToThread
#else
        usleep(0);
#endif
    }
}
void sleep_us_( double us ) {
    sleep_ns_(us * 1e3);
}
void sleep_ms_( double ms ) {
    sleep_ns_(ms * 1e6);
}
void sleep_ss_( double ss ) {
    sleep_ns_(ss * 1e9);
}

void yield_(void) {
#ifdef _WIN32
    SwitchToThread(); // Sleep(0);
#else
    usleep(0);
#endif
}


como por ejemplo las pequeñas empresas. ¿Cómo son algunas de estas pequeñas empresas? Una de ellas es una pequeña empresa de ropa y complementos ubicada en Europa central. Otra es una conocida cafetería del sureste asiático. El grupo más numeroso de pequeños clientes (aproximadamente el 30 %) se encuentran en Estados Unidos, aunque tienen presencia en Norteamérica, Europa, Sudamérica, Australia y Asia.

				Ubicación
				Cuentas de pequeña empresa*

				Estados Unidos
				28 558

				Reino Unido
				6 952

				Australia
				3 454

				Canadá
				3 444

				Alemania
				3 024

				Brasil
				2 822

				China
				2 777

				India
				2 214

				Francia
				1 793

				Vietnam
				1 666

	*Diez principales ubicaciones de cuentas correspondientes a pequeñas empresas

En 2022, estas pequeñas empresas y organizaciones eran responsables de más de 7000 millones de solicitudes almacenadas en caché al día. Identificamos más de 38 000 ataques DDoS a la capa 3 que Cloudflare ayudó a mitigar para estos clientes en 2022. Para estas pequeñas empresas, evitar un ciberataque significa poder seguir manteniendo la empresa abierta y, potencialmente, a flote.

				Ubicación
				Ataques a la capa 3 contra clientes de pequeña empresa

				Estados Unidos
				18 738

				Reino Unido
				7 366

				China
				6 576

				Alemania
				5 423

				Canadá
				2 517

				Australia
				2 374

				Brasil
				1 871

				Hong Kong
				3 365

				Rusia
				4 579

				Taiwán
				1 666

Usuario


public TableCell<SourceAuditItem, SourceAuditStatus> call(TableColumn<SourceAuditItem, SourceAuditStatus> param) {
        return new TableCell<>() {

            @Override
            protected void updateItem(SourceAuditStatus item, boolean empty) {
                Label label;

                super.updateItem(item, empty);
                if (item == null || empty) {
                    setText(null);
                    setGraphic(null);

                    return;
                }
                this.setAlignment(Pos.CENTER);
                label = new Label();
                switch (item) {
                    case INITIALIZED -> {
                        label.setGraphic(FontIcon.of(FontAwesome.PAUSE_CIRCLE, 15, Color.GRAY));
                        label.setText(I18nHelper.get(I18nKeys.SOURCE_AUDIT_AUDIT_STATUS_INITIALIZED));
                    }
                    case SKIPPED -> {
                        label.setGraphic(FontIcon.of(FontAwesome.LEAF, 15, Color.ORANGE));
                        label.setText(I18nHelper.get(I18nKeys.SOURCE_AUDIT_AUDIT_STATUS_SKIPPED));
                    }
                    case PROCESSING -> {
                        label.setGraphic(FontIcon.of(FontAwesome.HOURGLASS_HALF, 15, Color.DODGERBLUE));
                        label.setText(I18nHelper.get(I18nKeys.SOURCE_AUDIT_AUDIT_STATUS_PROCESSING));
                    }
                    case SUCCESS -> {
                        label.setGraphic(FontIcon.of(FontAwesome.CHECK_CIRCLE, 15, Color.GREEN));
                        label.setText(I18nHelper.get(I18nKeys.SOURCE_AUDIT_AUDIT_STATUS_SUCCESS));
                    }
                    case FAILED -> {
                        label.setGraphic(FontIcon.of(FontAwesome.REMOVE, 15, Color.RED));
                        label.setText(I18nHelper.get(I18nKeys.SOURCE_AUDIT_AUDIT_STATUS_FAILED));
                    }
                }
                setGraphic(label);
            }
        };
    }
}
package org.linuxspace.stockquotes;

import android.app.Application;

import org.linuxspace.stockquotes.utils.PreferencesManager;

import java.util.ArrayList;

import uk.co.chrisjenx.calligraphy.CalligraphyConfig;

/**
 * Created by Alon on 23.03.2015.
 */
public class ExtendedApplication extends Application {

    private static final String ROBOTO_FONT_PATH = "fonts/Roboto-Regular.ttf";

    @Override
    public void onCreate() {
        super.onCreate();
        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                        .setDefaultFontPath(ROBOTO_FONT_PATH)
                        .setFontAttrId(R.attr.fontPath)
                        .build()
        );
        PreferencesManager.getInstance().init(getApplicationContext());
        if (!PreferencesManager.getInstance().contains(PreferencesManager.PREF_STOCKS_LIST)) {
            ArrayList<String> stocksList = new ArrayList<String>();
            stocksList.add("AAPL");
            stocksList.add("GOOG");
            stocksList.add("YHOO");
            PreferencesManager.getInstance().saveStockList(stocksList);
        }
    }
}
package org.linuxspace.stockquotes.controller;

import org.json.JSONArray;
import org.json.JSONObject;
import org.linuxspace.stockquotes.model.FinanceItem;
import org.linuxspace.stockquotes.model.Stock;
import org.linuxspace.stockquotes.model.interfaces.IQuotesGetterCallback;
import org.linuxspace.stockquotes.utils.JsonXmlConstants;
import org.linuxspace.stockquotes.utils.YahooApiUtils;

import java.util.ArrayList;

/**
 * Created by Alon on 15.01.2015.
 */
public class QuotesGetter extends BasicAsyncTask {

    private IQuotesGetterCallback callback;


 FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

using System.Threading;
using System.Threading.Tasks;
using EventFlow.Aggregates;
using EventFlow.Core;

namespace EventFlow.ReadStores
{
    public interface IAmReadModelFor<TAggregate, in TIdentity, in TEvent>
        where TAggregate : IAggregateRoot<TIdentity>
        where TIdentity : IIdentity
        where TEvent : IAggregateEvent<TAggregate, TIdentity>
    {
        Task ApplyAsync(
            IReadModelContext context,
            IDomainEvent<TAggregate, TIdentity, TEvent> domainEvent,
            CancellationToken cancellationToken);
    }
}


Web 应用程序防火墙 (WAF)
1. 加密敏感数据以限制泄露影响
![](https://mmbiz.qpic.cn/sz_mmbiz_png/sNicKB84ZxoGla4lWj5yFZYZOicjhbibic1VsrqHSLmq8pEhn6hIUK6Uq0ibfvrvpNxjuG2MRpnq1qRQ6LaiaicumZXLg/640?wx_fmt=png&from=appmsg "")
## 1. 在输入到达数据库之前验证所有输入

永远不要相信用户输入，即使它看起来无害。SQL 注入的根源在于糟糕的输入验证，尤其是在未检查类型、格式或长度的情况下就接受数据。

输入验证是您的第一道防线。确保用户输入干净、符合预期且严格控制。尽可能根据白名单进行验证（例如，允许的字符、值范围），并在将任何非预期内容传递给查询之前将其拒绝。

**提示**：将输入验证与参数化查询相结合，以实现最大程度的保护。验证可以过滤掉垃圾数据，而参数化则可确保剩余的数据不会被当作 SQL 执行。
## 2.使用参数化查询（准备好的语句）

别再像复制粘贴用户输入那样构建 SQL 查询了。当你连接字符串来创建查询时，攻击者可能会将恶意代码注入你的数据库。

参数化查询将用户输入与 SQL 逻辑分离，从而消除任何注入的语法。几乎所有现代编程语言和框架都支持此功能。

**Python 示例：**

cursor.execute（“SELECT * FROM users WHERE email=？”，（email，））

这个简单的改变会带来巨大的改变。它或许能让你的应用避免成为警示故事。
## 3. 应用最小特权原则

不要把数据库的钥匙交给数据库用户。如果你的应用只需要读取数据，就不要授予写入、更新或删除权限。如果它需要更新记录，就不应该拥有删除表的权限。

限制访问可以最大限度地减少有人找到入侵方法时造成的损害。它还有助于隔离应用程序特定部分的缺陷。

**最佳实践**：为应用程序的不同部分创建单独的数据库用户 - 每个用户仅具有所需的权限。
## 4. 保持堆栈更新

攻击者喜欢使用过时的软件。如果您的数据库服务器、Web 框架或 CMS 最近没有更新，那么您很可能错过了关键的安全补丁。

**Tenable**和**Sophos**等工具可以持续


acket->temperature, temperature, sizeof(uint8_t)*4);
    _mav_finalize_message_chan_send(chan, MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12, (const char *)packet, MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_MIN_LEN, MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_LEN, MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_CRC);
#endif
}
#endif

#endif

// MESSAGE ESC_TELEMETRY_9_TO_12 UNPACKING

/**
 * @brief Get field temperature from esc_telemetry_9_to_12 message
 *
 * @return [degC] Temperature
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_temperature(const mavlink_message_t* msg, uint8_t *temperature)
{
    return _MAV_RETURN_uint8_t_array(msg, temperature, 4,  40);
}

/**
 * @brief Get field voltage from esc_telemetry_9_to_12 message
 *
 * @return [cV] Voltage
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_voltage(const mavlink_message_t* msg, uint16_t *voltage)
{
    return _MAV_RETURN_uint16_t_array(msg, voltage, 4,  0);
}

/**
 * @brief Get field current from esc_telemetry_9_to_12 message
 *
 * @return [cA] Current
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_current(const mavlink_message_t* msg, uint16_t *current)
{
    return _MAV_RETURN_uint16_t_array(msg, current, 4,  8);
}

/**
 * @brief Get field totalcurrent from esc_telemetry_9_to_12 message
 *
 * @return [mAh] Total current
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_totalcurrent(const mavlink_message_t* msg, uint16_t *totalcurrent)
{
    return _MAV_RETURN_uint16_t_array(msg, totalcurrent, 4,  16);
}

/**
 * @brief Get field rpm from esc_telemetry_9_to_12 message
 *
 * @return [rpm] RPM (eRPM)
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_rpm(const mavlink_message_t* msg, uint16_t *rpm)
{
    return _MAV_RETURN_uint16_t_array(msg, rpm, 4,  24);
}

/**
 * @brief Get field count from esc_telemetry_9_to_12 message
 *
 * @return  count of telemetry packets received (wraps at 65535)
 */
static inline uint16_t mavlink_msg_esc_telemetry_9_to_12_get_count(const mavlink_message_t* msg, uint16_t *count)
{
    return _MAV_RETURN_uint16_t_array(msg, count, 4,  32);
}

/**
 * @brief Decode a esc_telemetry_9_to_12 message into a struct
 *
 * @param msg The message to decode
 * @param esc_telemetry_9_to_12 C-struct to decode the message contents into
 */
static inline void mavlink_msg_esc_telemetry_9_to_12_decode(const mavlink_message_t* msg, mavlink_esc_telemetry_9_to_12_t* esc_telemetry_9_to_12)
{
#if MAVLINK_NEED_BYTE_SWAP || !MAVLINK_ALIGNED_FIELDS
    mavlink_msg_esc_telemetry_9_to_12_get_voltage(msg, esc_telemetry_9_to_12->voltage);
    mavlink_msg_esc_telemetry_9_to_12_get_current(msg, esc_telemetry_9_to_12->current);
    mavlink_msg_esc_telemetry_9_to_12_get_totalcurrent(msg, esc_telemetry_9_to_12->totalcurrent);
    mavlink_msg_esc_telemetry_9_to_12_get_rpm(msg, esc_telemetry_9_to_12->rpm);
    mavlink_msg_esc_telemetry_9_to_12_get_count(msg, esc_telemetry_9_to_12->count);
    mavlink_msg_esc_telemetry_9_to_12_get_temperature(msg, esc_telemetry_9_to_12->temperature);
#else
        uint8_t len = msg->len < MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_LEN? msg->len : MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_LEN;
        memset(esc_telemetry_9_to_12, 0, MAVLINK_MSG_ID_ESC_TELEMETRY_9_TO_12_LEN);
    memcpy(esc_telemetry_9_to_12, _MAV_PAYLOAD(msg), len);
#endif
}


:	.ds.w	1		* ascii code of last cell in font	.w
v_fnt_st:	.ds.w	1		* ascii code of first cell in font	.w
v_fnt_wr:	.ds.w	1		* font cell wrap			.w
v_off_ad:	.ds.l	1		* address of font offset table	.l

v_col_fg:	.ds.w	1		* current foreground color		.w
v_col_bg:	.ds.w	1		* current background color		.w
v_cur_cx:	.ds.w	1		* current cursor cell x			.w
v_cur_cy:	.ds.w	1		* current cursor cell y			.w
v_cur_ad:	.ds.l	1		* current cursor address		.l

_v_bas_ad:	.ds.l	1		* screen base address			.l

v_stat_0:	.ds.b	1		* VIDEO CELL SYSTEM STATUS		.b
v_cur_tim:	.ds.b	1		* cursor blink timer.			.b

disab_cnt:	.ds.w	1		* disable depth count. (>0 => disabled) .w
sav_cxy:	.ds.w	2			* save area for cursor coords.

save_row:	.ds.w	1		* saved row in escape Y command
con_state:	.ds.l	1		* state of conout state machine

*		external routines

*		public routines

		globl	_con_out
		globl	_blink
		globl	_esc_init

		text			; open program segment.

		page
_con_out:
	move.w	6(sp), d1	* Get character from bios call
gsx_conout:			* Gsx enters here
	andi.w	#$FF, d1	* Limit to the chars we have
	movea.l	con_state, a0	*based on our state goto the correct
	jmp	(a0)		*stub routine

normal_ascii:
	cmp.w	#$20, d1	* If the character is printable ascii
	bge	ascii_out	* go print it.

* We handle the following control characters as special.  All others are thrown
* away.
*	 7 = bell
*	 8 = backspace
*	 9 = Horizontal tab
*	10 = Line feed
*	11 = Vertical tab (Treated as line feed)
*	12 = Form Feed (Treated as line feed)
*	13 = Carriage Return
*	27 = Escape (Start Command)

	cmp.b	#27, d1		* If escape character alter next state
	bne	handle_control	* else handle the control characters

	move.l	#esc_ch1, con_state
	rts

handle_control:
	subq.w	#7, d1		* Range check the character against
	bmi	exit_conout	* the ones we handle, and exit if out
	cmp.w	#6, d1		* of range.
	bgt	exit_conout

	lsl.w	#1, d1		* times 4 for longword addressing
	move.w	cntl_tab(pc,d1.w), a0
	adda.l	#do_bell, a0
	jmp	(a0)

cntl_tab:
	dc.w	do_bell-do_bell
	dc.w	escD-do_bell
	dc.w	do_tab-do_bell
	dc.w	ascii_lf-do_bell
	dc.w	ascii_lf-do_bell
	dc.w	ascii_lf-do_bell
	dc.w	ascii_cr-do_bell

exit_conout:
	rts

do_bell:			* No bell on Lisa so it must be simulated
	lea	SNDCHIP, a0	* get address at which the tone chip is loc
	or.b	#$10, ACR(a0)
	move.b	#$


트메인|',
  [3978] = '?|현자 트루스시커|',
  [3979] = '?|사서 메이 페일더스트|',
  [3980] = '?|경건한 신자 랄레이|',
  [3981] = '?|보렐 센구츠|',
  [3982] = '?|모니카 센구츠|',
  [3983] = '?|심문관 비샤스|',
  [3984] = '?|낸시 비샤스|',
  [3985] = '?|비샤스 할아범|',
  [3986] = '?|사릴루스 파울본|',
  [3987] = 'A|달 블러드클로|He walks all around this area in the furbolg camps.',
  [3988] = '?|투자개발회사 운전수|',
  [3989] = '?|투자개발회사 나무꾼|',
  [3991] = '?|투자개발회사 벌채꾼|',
  [3992] = '?|투자개발회사 기술자|',
  [3993] = '?|투자개발회사 기계공|',
  [3994] = 'A|수호자 알바고름|Standing in front of a moonwell.',
  [3995] = 'H|의술사 진질|Standing inside a cave.',
  [3996] = 'A|팔드리즈 고에스셸|To the right of the glowing gazeebo.',
  [3998] = '?|칼바람일족 졸개|',
  [3999] = '?|칼바람일족 채굴꾼|',
  [4001] = '?|칼바람 코볼트|',
  [4002] = '?|칼바람일족 석공|',
  [4003] = '?|칼바람일족 흙점쟁이|',
  [4004] = '?|칼바람일족 우두머리|',
  [4005] = '?|동굴이끼 땅거미|',
  [4006] = '?|동굴이끼 그물거미|',
  [4007] = '?|동굴이끼 독거미|',
  [4011] = '?|새끼 사자날개 와이번|',
  [4012] = '?|사자날개 와이번|',
  [4013] = '?|하늘발톱 사자날개 와이번|',
  [4014] = '?|어미 사자날개 와이번|',
  [4015] = '?|우두머리 사자날개 와이번|',
  [4016] = '?|마룡|',
  [


s.aux-mask.aux-from-left .aux-selected.aux-select-overlay::after { transform: translateX(100%); }
.aux-bullets.aux-mask.aux-from-right .aux-bullet::after, .aux-bullets.aux-mask.aux-from-right .aux-bullets.aux-overlay .aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-right .aux-select-overlay::after { right: -100%; top: auto; }
.aux-bullets.aux-mask.aux-from-right .aux-bullet.aux-selected::after, .aux-bullets.aux-mask.aux-from-right .aux-bullets.aux-overlay .aux-selected.aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-right .aux-selected.aux-select-overlay::after { transform: translateX(-100%); }
.aux-bullets.aux-mask.aux-from-top .aux-bullet::after, .aux-bullets.aux-mask.aux-from-top .aux-bullets.aux-overlay .aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-top .aux-select-overlay::after { top: -100%; }
.aux-bullets.aux-mask.aux-from-top .aux-bullet.aux-selected::after, .aux-bullets.aux-mask.aux-from-top .aux-bullets.aux-overlay .aux-selected.aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-top .aux-selected.aux-select-overlay::after { transform: translateY(100%); }
.aux-bullets.aux-mask.aux-from-center .aux-bullet::after, .aux-bullets.aux-mask.aux-from-center .aux-bullets.aux-overlay .aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-center .aux-select-overlay::after { top: 0; transform: scale(0.01); transform-origin: center; }
.aux-bullets.aux-mask.aux-from-center .aux-bullet.aux-selected::after, .aux-bullets.aux-mask.aux-from-center .aux-bullets.aux-overlay .aux-selected.aux-select-overlay::after, .aux-bullets.aux-overlay .aux-bullets.aux-mask.aux-from-center .aux-selected.aux-select-overlay::after { transform: scale(1); }

/** Auxin arrow navigation styles  @Example

  */
.aux-arrow-nav { position: relative; cursor: pointer; transform: translateZ(0); background-color: #3d3d3d; width: 36px; height: 36px; overflow: hidden; }
.aux-arrow-nav.aux-white { background-color: white; }
.aux-arrow-nav.aux-outline { box-shadow: 0 0 0 1px #3d3d3d inset; background-color: transparent; }
.aux-arrow-nav.aux-outline .aux-overlay::after { background-color: #3d3d3d; }
.aux-arrow-nav.aux-outline.aux-white { border-color: white; box-shadow: 0 0 0 1px white inset; }
.aux-arrow-nav.aux-outline.aux-white .aux-overlay::after { background-color: white; }
.aux-arrow-nav.aux-round { border-radius: 50%; width: 73px; height: 73px; }
.aux-arrow-nav.aux-round.aux-small { width: 23px; height: 23px; }
.aux-arrow-nav.aux-round.aux-semi-small { width: 43px; height:


// Copyright 2014 the V8 project authors. All rights reserved.
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
//     * Redistributions of source code must retain the above copyright
//       notice, this list of conditions and the following disclaimer.
//     * Redistributions in binary form must reproduce the above
//       copyright notice, this list of conditions and the following
//       disclaimer in the documentation and/or other materials provided
//       with the distribution.
//     * Neither the name of Google Inc. nor the names of its
//       contributors may be used to endorse or promote products derived
//       from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#ifndef V8_TEST_CCTEST_TRACE_EXTENSION_H_
#define V8_TEST_CCTEST_TRACE_EXTENSION_H_

#include "src/v8.h"

namespace v8 {
struct TickSample;
namespace internal {

class TraceExtension : public v8::Extension {
 public:
  TraceExtension() : v8::Extension("v8/trace", kSource) { }
  virtual v8::Local<v8::FunctionTemplate> GetNativeFunctionTemplate(
      v8::Isolate* isolate, v8::Local<v8::String> name);
  static void Trace(const v8::FunctionCallbackInfo<v8::Value>& args);
  static void JSTrace(const v8::FunctionCallbackInfo<v8::Value>& args);
  static void JSEntrySP(const v8::FunctionCallbackInfo<v8::Value>& args);
  static void JSEntrySPLevel2(const v8::FunctionCallbackInfo<v8::Value>& args);
  static Address GetJsEntrySp();
  static void InitTraceEnv(v8::TickSample* sample);
  static void DoTrace(Address fp);
 private:
  static Address GetFP(const v8::FunctionCallbackInfo<v8::Value>& args);
  static const char* kSource;
};

}  // namespace internal
}  // namespace v8

#endif


 endings of the new
  axis (\ref QCPAxis::setLowerEnding, \ref QCPAxis::setUpperEnding) are initialized to \ref
  QCPLineEnding::esHalfBar.

  \see addAxes, setupFullAxesBox
*/
QCPAxis *QCPAxisRect::addAxis(QCPAxis::AxisType type)
{
  QCPAxis *newAxis = new QCPAxis(this, type);
  if (mAxes[type].size() > 0) // multiple axes on one side, add half-bar axis ending to additional axes with offset
  {
    bool invert = (type == QCPAxis::atRight) || (type == QCPAxis::atBottom);
    newAxis->setLowerEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, !invert));
    newAxis->setUpperEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, invert));
  }
  mAxes[type].append(newAxis);
  return newAxis;
}

/*!
  Adds a new axis with \ref addAxis to each axis rect side specified in \a types. This may be an
  <tt>or</tt>-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once.

  Returns a list of the added axes.

  \see addAxis, setupFullAxesBox
*/
QList<QCPAxis*> QCPAxisRect::addAxes(QCPAxis::AxisTypes types)
{
  QList<QCPAxis*> result;
  if (types.testFlag(QCPAxis::atLeft))
    result << addAxis(QCPAxis::atLeft);
  if (types.testFlag(QCPAxis::atRight))
    result << addAxis(QCPAxis::atRight);
  if (types.testFlag(QCPAxis::atTop))
    result << addAxis(QCPAxis::atTop);
  if (types.testFlag(QCPAxis::atBottom))
    result << addAxis(QCPAxis::atBottom);
  return result;
}

/*!
  Removes the specified \a axis from the axis rect and deletes it.

  Returns true on success, i.e. if \a axis was a valid axis in this axis rect.

  \see addAxis
*/
bool QCPAxisRect::removeAxis(QCPAxis *axis)
{
  // don't access axis->axisType() to provide safety when axis is an invalid pointer, rather go through all axis containers:
  QHashIterator<QCPAxis::AxisType, QList<QCPAxis*> > it(mAxes);
  while (it.hasNext())
  {
    it.next();
    if (it.value().contains(axis))
    {
      mAxes[it.key()].removeOne(axis);
      if (qobject_cast<QCustomPlot*>(parentPlot())) // make sure this isn't called from QObject dtor when QCustomPlot is already destructed (happens when the axis rect is not in any layout and thus QObject-child of QCustomPlot)
        parentPlot()->axisRemoved(axis);
      delete axis;
      return true;
    }
  }
  qDebug() << Q_FUNC_INFO << "Axis isn't in axis rect:" << reinterpret_cast<quintptr>(axis);
  return false;
}

/*!
  Convenience function to create an axis on each side that doesn't have any axes yet and set their
  visibility to true. Further, the top/right axes are assigned the following properties of the
  bottom/left axes:

  \li range (\ref QCPAxis::setRange)
  \li range reversed (\ref QCPAxis::setRangeReversed)
  \li scale type (\ref QCPAxis::setScaleType)
  \li scale log base  (\ref QCPAxis::setScaleLogBase)


/*
 * (C) Copyright 2008,2009
 * Graeme Russ, <graeme.russ@gmail.com>
 *
 * (C) Copyright 2002
 * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
 *
 * See file CREDITS for list of people who contributed to this
 * project.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License as
 * published by the Free Software Foundation; either version 2 of
 * the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 * MA 02111-1307 USA
 */

#include <common.h>
#include <malloc.h>
#include <asm/io.h>
#include <asm/i8254.h>
#include <asm/ibmpc.h>

struct timer_isr_function {
	struct timer_isr_function *next;
	timer_fnc_t *isr_func;
};

static struct timer_isr_function *first_timer_isr = NULL;
static volatile unsigned long system_ticks = 0;

/*
 * register_timer_isr() allows multiple architecture and board specific
 * functions to be called every millisecond. Keep the execution time of
 * each function as low as possible
 */
int register_timer_isr (timer_fnc_t *isr_func)
{
	struct timer_isr_function *new_func;
	struct timer_isr_function *temp;
	int flag;

	new_func = malloc(sizeof(struct timer_isr_function));

	if (new_func == NULL)
		return 1;

	new_func->isr_func = isr_func;
	new_func->next = NULL;

	/*
	 *  Don't allow timer interrupts while the
	 *  linked list is being modified
	 */
	flag = disable_interrupts ();

	if (first_timer_isr == NULL) {
		first_timer_isr = new_func;
	} else {
		temp = first_timer_isr;
		while (temp->next != NULL)
			temp = temp->next;
		temp->next = new_func;
	}

	if (flag)
		enable_interrupts ();

	return 0;
}

/*
 * timer_isr() MUST be the registered interrupt handler for
 */
void timer_isr(void *unused)
{
	struct timer_isr_function *temp = first_timer_isr;

	system_ticks++;

	/* Execute each registered function */
	while (temp != NULL) {
		temp->isr_func ();
		temp = temp->next;
	}
}

ulong get_timer (ulong base)
{
	return (system_ticks - base);
}


namespace BossMod.RealmReborn.Dungeon.D15WanderersPalace.D152GiantBavarois;

public enum OID : uint
{
    Boss = 0x41D, // x1
    WhiteBavarois = 0x41E, // spawn during fight
    GreenBavarois = 0x41F, // spawn during fight
    PurpleBavarois = 0x421, // spawn during fight
    BlueBavarois = 0x422, // spawn during fight
}

public enum AID : uint
{
    AutoAttack = 872, // Boss/WhiteBavarois/GreenBavarois/PurpleBavarois/BlueBavarois->player, no cast, single-target
    AmorphicFlail = 943, // Boss/WhiteBavarois/GreenBavarois/PurpleBavarois/BlueBavarois->self, no cast, range 5+R ?-degree cone
    Fire = 1394, // Boss->player, 3.0s cast, single-target
    Blizzard = 1395, // WhiteBavarois->player, 1.0s cast, single-target
    Aero = 1397, // GreenBavarois->player, 1.0s cast, single-target
    Thunder = 1396, // PurpleBavarois->player, 1.0s cast, single-target
    Water = 971, // BlueBavarois->player, 1.0s cast, single-target
}

public enum IconID : uint
{
    AmorphicFlail = 1, // player
}

class Fire(BossModule module) : Components.SingleTargetCast(module, AID.Fire, "Single-target damage");

// TODO: verify implementation; find a condition for kite end
class AmorphicFlai


out.RemoteReplica = (*v1.RemoteReplicaSpec)(unsafe.Pointer(in.RemoteReplica))
	out.SemiSync = (*v1.SemiSyncSpec)(unsafe.Pointer(in.SemiSync))
	return nil
}

// Convert_v1alpha2_MySQLTopology_To_v1_MySQLTopology is an autogenerated conversion function.
func Convert_v1alpha2_MySQLTopology_To_v1_MySQLTopology(in *MySQLTopology, out *v1.MySQLTopology, s conversion.Scope) error {
	return autoConvert_v1alpha2_MySQLTopology_To_v1_MySQLTopology(in, out, s)
}

func autoConvert_v1_MySQLTopology_To_v1alpha2_MySQLTopology(in *v1.MySQLTopology, out *MySQLTopology, s conversion.Scope) error {
	out.Mode = (*MySQLMode)(unsafe.Pointer(in.Mode))
	out.Group = (*MySQLGroupSpec)(unsafe.Pointer(in.Group))
	if in.InnoDBCluster != nil {
		in, out := &in.InnoDBCluster, &out.InnoDBCluster
		*out = new(MySQLInnoDBClusterSpec)
		if err := Convert_v1_MySQLInnoDBClusterSpec_To_v1alpha2_MySQLInnoDBClusterSpec(*in, *out, s); err != nil {
			return err
		}
	} else {
		out.InnoDBCluster = nil
	}
	out.RemoteReplica = (*RemoteReplicaSpec)(unsafe.Pointer(in.RemoteReplica))
	out.SemiSync = (*SemiSyncSpec)(unsafe.Pointer(in.SemiSync))
	return nil
}

// Convert_v1_MySQLTopology_To_v1alpha2_MySQLTopology is an autogenerated conversion function.
func Convert_v1_MySQLTopology_To_v1alpha2_MySQLTopology(in *v1.MySQLTopology, out *MySQLTopology, s conversion.Scope) error {
	return autoConvert_v1_MySQLTopology_To_v1alpha2_MySQLTopology(in, out, s)
}

func autoConvert_v1alpha2_MySQLUser_To_v1_MySQLUser(in *MySQLUser, out *v1.MySQLUser, s conversion.Scope) error {
	out.Username = in.Username
	out.Active = (*int)(unsafe.Pointer(in.Active))
	out.UseSSL = in.UseSSL
	out.DefaultHostgroup = in.DefaultHostgroup
	out.DefaultSchema = in.DefaultSchema
	out.SchemaLocked = in.SchemaLocked
	out.TransactionPersistent = (*int)(unsafe.Pointer(in.TransactionPersistent))
	out.FastForward = in.FastForward
	out.Backend = (*int)(unsafe.Pointer(in.Backend))
	out.Frontend = (*int)(unsafe.Pointer(in.Frontend))
	out.MaxConnections = (*int32)(unsafe.Pointer(in.MaxConnections))
	out.Attributes = in.Attributes
	out.Comment = in.Comment
	return nil
}

// Convert_v1alpha2_MySQLUser_To_v1_MySQLUser is an autogenerated conversion function.
func Convert_v1alpha2_MySQLUser_To_v1_MySQLUser(in *MySQLUser, out *v1.MySQLUser, s conversion.Scope) error {
	return autoConvert_v1alpha2_MySQLUser_To_v1_MySQLUser(in, out, s)
}

func autoConvert_v1_MySQLUser_To_v1alpha2_MySQLUser(in *v1.MySQLUser, out *MySQLUser, s conversion.Scope) error {
	out.Username = in.Username
	out.Active = (*int)(unsafe.Pointer(in.Active))
	out.UseSSL = in.UseSSL
	out.DefaultHostgroup = in.DefaultHostgroup
	out.DefaultSchema = in.DefaultSchema
	out.SchemaLocked = in.SchemaLocked
	out.TransactionPersistent = (*int)


.3,45.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-7 atom-7 atom-8' d='M 43.5,42.0 L 32.6,43.2' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-8 atom-8 atom-9' d='M 31.3,45.4 L 28.8,49.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-8 atom-8 atom-9' d='M 28.8,49.8 L 26.3,54.2' style='fill:none;fill-rule:evenodd;stroke:#191919;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-9 atom-8 atom-10' d='M 31.3,45.4 L 25.5,32.6' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-10 atom-10 atom-11' d='M 25.5,32.6 L 19.9,31.4' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-10 atom-10 atom-11' d='M 19.9,31.4 L 14.2,30.3' style='fill:none;fill-rule:evenodd;stroke:#191919;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-11 atom-10 atom-12' d='M 25.5,32.6 L 35.9,23.1' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-11 atom-10 atom-12' d='M 28.1,33.1 L 36.2,25.7' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-12 atom-12 atom-13' d='M 35.9,23.1 L 35.4,18.8' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-12 atom-12 atom-13' d='M 35.4,18.8 L 35.0,14.5' style='fill:none;fill-rule:evenodd;stroke:#191919;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-13 atom-12 atom-14' d='M 35.9,23.1 L 40.8,26.0' style='fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.0px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1' />\n<path class='bond-


5-0.586\" id=\"C5_2_7caaa74d12\"/>\n<path d=\"m462.4-396.9l-0.667 0.491-3.81 2.899-0.222 0.174-3.588 2.92-0.769 0.643-3.04 2.654-1.019 0.91-2.791 2.619-0.988 0.945-2.822 2.857-0.686 0.706-3.124 3.428-0.123 0.136-2.979 3.563-0.708 0.92-2.014 2.644-1.796 2.592-0.668 0.972-2.198 3.563-0.944 1.738-0.987 1.826-1.658 3.564-1.165 2.999-0.218 0.564-1.101 3.564-0.817 3.564-0.529 3.563-0.24 3.564 0.051 3.563 0.341 3.564 0.63 3.564 0.917 3.563 0.966 2.872 0.234 0.692 1.48 3.564 1.753 3.563 0.343 0.606 1.684 2.958 2.126 3.313 0.162 0.251 2.557 3.563 1.091 1.39 1.724 2.174 2.086 2.429 0.987 1.134 2.823 3.026 0.51 0.538 3.3 3.273 0.299 0.291 3.511 3.235 0.365 0.328 3.444 2.96 0.723 0.604 3.087 2.479 1.392 1.085 2.418 1.818 2.402 1.745 1.408 0.993 3.787 2.571 0.023 0.015 3.81 2.417 1.87 1.132 1.94 1.149 3.81 2.142 0.513 0.272 3.296 1.72 3.769 1.844 0.041 0.02 3.81 1.712 3.81 1.579 0.666 0.252 3.144 1.181 3.81 1.291 3.629 1.092 0.181 0.054 3.81 0.996 3.809 0.847 3.81 0.696 3.81 0.542 3.81 0.388\" id=\"C5_3_7d4ac35ad0\"/>\n</defs>\n<g clip-path=\"url(#p5873ec822d)\">\n<use fill=\"none\" stroke=\"#ff4700\" xlink:href=\"#C5_0_87192bf36f\" y=\"441.0\"/>\n</g>\n<g clip-path=\"url(#p5873ec822d)\">\n<use fill=\"none\" stroke=\"#ff4700\" xlink:href=\"#C5_1_c47a73159f\" y=\"441.0\"/>\n</g>\n<g clip-path=\"url(#p5873ec822d)\">\n<use fill=\"none\" stroke=\"#ff4700\" xlink:href=\"#C5_2_7caaa74d12\" y=\"441.0\"/>\n</g>\n<g clip-path=\"url(#p5873ec822d)\">\n<use fill=\"none\" stroke=\"#ff4700\" xlink:href=\"#C5_3_7d4ac35ad0\" y=\"441.0\"/>\n</g>\n</g>\n<g id=\"LineCollection_7\">\n<defs>\n<path d=\"m73.125-276.73l3.8099 0.271 3.8098 0.088 3.8099-0.094 3.8099-0.278 3.8099-0.459 3.8098


7850,
					[2] = 2568,
					[3] = 7866,
					[4] = 2544,
					["inf1"] = "",
					["inf2"] = "",
					["icon"] = 3,
				},
			},
		},
		["Ranger Lord Hawkspear"] = {
			[2] = {
				[9] = {
					[1] = 1785,
					[2] = 5341,
					[3] = 1884,
					[4] = 5294,
					["inf1"] = "rare Humanoid Warrior",
					["inf2"] = "Level 60",
					["icon"] = 3,
				},
			},
		},
		["Splintertree Raider"] = {
			[1] = {
				[1] = {
					[1] = 7498,
					[2] = 6830,
					[3] = 7498,
					[4] = 6830,
					["inf1"] = "",
					["inf2"] = "Level 22",
					["icon"] = 3,
				},
			},
		},
		["Dane Lindgren"] = {
			[2] = {
				[17] = {
					[1] = 1077,
					[2] = 6172,
					[3] = 1707,
					[4] = 5677,
					["inf1"] = "Journeyman Blacksmith",
					["inf2"] = "Level 30",
					["icon"] = 3,
				},
			},
		},
		["Brother Karman"] = {
			[1] = {
				[7] = {
					[1] = 4738,
					[2] = 6740,
					[3] = 4738,
					[4] = 6740,
					["inf1"] = "Paladin Trainer",
					["inf2"] = "Level 45",
					["icon"] = 3,
				},
			},
		},
		["Gath'Ilzogg"] = {
			[2] = {
				[14] = {
					[1] = 5556,
					[2] = 6948,
					[3] = 5634,
					[4] = 6812,
					["inf1"] = "elite Humanoid Warrior",
					["inf2"] = "Level 26",
					["icon"] = 1,
				},
			},
		},
		["Atepa"] = {
			[1] = {
				[19] = {
					[1] = 5041,
					[2] = 4705,
					[3] = 5945,
					[4] = 4497,
					["inf1"] = "Banker",
					["inf2"] = "Level 45",
					["icon"] = 3,
				},
			},
		},
		["Medic Tamberlyn"] = {
			[1] = {
				[7] = {
					[1] = 4529,
					[2] = 6594,
					[3] = 4529,
					[4] = 6594,
					["inf1"] = "PvP",
					["inf2"] = "Level 51",
					["icon"] = 3,
				},
			},
		},
		["Scholomance Dark Summoner"] = {
			[0] = {
				[18] = {
					[1] = 0,
					[2] = 0,
					[3] = 0,
					[4] = 0,
					["inf1"] = "elite Humanoid Paladin",
					["inf2"] = "Level 59",
					["icon"] = 3,
				},
			},
		},
		["Gnarlpine Warrior"] = {
			[1] = {
				[16] = {
					[1] = 5170,
					[2] = 6902,
					[3] = 6266,
					[4] = 5053,
					["inf1"] = "",
					["inf2"] = "",
					["icon"] = 3,
				},
			},
		},
		["Nixx Sprocketspring"] = {
			[1] = {
				[15] = {
					[1] = 2728,


isEmpty()){
			return null;
		} else {
			return m_txtDate_Datetime.getText();
		}
	}

	/**
	 * スケジュール設定：日時Toを戻します。
	 * @return 日時To
	 */
	public String getDateTo() {
		if (this.m_txtToDate_Datetime.getText().isEmpty()){
			return null;
		} else {
			return m_txtToDate_Datetime.getText();
		}
	}

	/**
	 * 事前生成が完了したらINTERNALイベントを出力するか否かを戻します。
	 * @return true：事前生成が完了したらINTERNALイベントを出力する、false：しない
	 */
	public Boolean getInternalFlg() {
		if(this.m_btnInternal.getSelection()){
			return true;
		} else {
			return false;
		}
	}

	/**
	 * スケジュール設定Compositeを設定します
	 *
	 * @param scheduleComposite スケジュール設定Composite
	 */
	public void setScheduleComposite(JobKickScheduleComposite scheduleComposite) {
		this.m_scheduleComposite = scheduleComposite;
	}

	/**
	 * ジョブセッションの事前生成を有効にするの活性／非活性を設定します
	 *
	 * @param enabled true:活性 / false:非活性
	 */
	public void setSessionPremakeEnabled(boolean enabled) {
		if (this.m_btnSessionPremake != null) {
			this.m_btnSessionPremake.setEnabled(enabled);
		}
	}

	/**
	 * ジョブセッションの事前生成を有効にする：チェックボックスの値を戻します
	 *
	 * @return ジョブセッションの事前生成を有効にする
	 */
	public boolean getSessionPremake() {
		if (this.m_btnSessionPremake != null) {
			return this.m_btnSessionPremake.getSelection();
		} else {
			return false;
		}
	}
}
/*
 * Copyright (c) 2018 NTT DATA INTELLILINK Corporation. All rights reserved.
 *
 * Hinemos (http://www.hinemos.info/)
 *
 * See the LICENSE file for licensing information.
 */

package com.clustercontrol.jobmanagement.composite;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.eclipse.rap.rwt.SingletonUtil;

import com.clustercontrol.jobmanagement.util.JobTreeItemWrapper;
import com.clustercontrol.jobmanagement.viewer.JobTreeViewer;

/**
 * ジョブツリーデータ<BR>
 *
 * @since 5.0.0
 */
public class JobTreeViewerList {
	// Logger
	private static Log m_log = LogFactory.getLog( JobTreeViewerList.class );

	// JobTreeViewerをまとめて更新するためのリスト
	private List<JobTreeViewer> jobTreeViewers = new ArrayList<JobTreeViewer>();

	/** Private constructor */
	private JobTreeViewerList(){}

	/** Get singleton */
	private static JobTreeViewerList getInstance(){
		return SingletonUtil.getSessionInstance( JobTreeViewerList.class );
	}

	/**  Set input object */
	public static void setInput( final JobTreeViewer currentViewer, JobTreeItemWrapper jobTree ){
		JobTreeViewerList jobTreeViewerList = getInstance();
		// ビューを更新した場合は、開いているジョブツリーの情報を全て更新する
		for( JobTreeViewer viewer : jobTreeViewerList.jobTreeViewers ){
			if (viewer == currentViewer){
				continue;
			}
			viewer.setInput(jobTree);
		}
	}

	/**
	 * 表示しているすべてのジョブツリーの表示をリフレッシュする
	 *


ar version uint
	if err := rlp.Decode(r, &version); err != nil {
		log.Error("Failed to decode node value tracker", "id", id, "err", err)
		return nv
	}
	if version != nvtVersion {
		log.Error("Unknown NodeValueTracker version", "stored", version, "current", nvtVersion)
		return nv
	}
	var nve nodeValueTrackerEncV1
	if err := rlp.Decode(r, &nve); err != nil {
		log.Error("Failed to decode node value tracker", "id", id, "err", err)
		return nv
	}
	nv.rtStats = nve.RtStats
	nv.lastRtStats = nve.RtStats
	if int(nve.ServerBasketMapping) == vt.currentMapping {
		nv.basket.basket = nve.ServerBasket
	} else {
		if nve.ServerBasketMapping >= uint(len(vt.mappings)) {
			log.Error("Unknown request basket mapping", "stored", nve.ServerBasketMapping, "current", vt.currentMapping)
			return nv
		}
		nv.basket.basket = nve.ServerBasket.convertMapping(vt.mappings[nve.ServerBasketMapping], vt.mappings[vt.currentMapping], vt.initRefBasket)
	}
	return nv
}

// saveNode saves a server node's value tracker to the database
func (vt *ValueTracker) saveNode(id enode.ID, nv *NodeValueTracker) {
	recentRtStats := nv.rtStats
	recentRtStats.SubStats(&nv.lastRtStats)
	vt.rtStats.AddStats(&recentRtStats)
	nv.lastRtStats = nv.rtStats

	nve := nodeValueTrackerEncV1{
		RtStats:             nv.rtStats,
		ServerBasketMapping: uint(vt.currentMapping),
		ServerBasket:        nv.basket.basket,
	}
	enc1, err := rlp.EncodeToBytes(uint(nvtVersion))
	if err != nil {
		log.Error("Failed to encode service value information", "id", id, "err", err)
		return
	}
	enc2, err := rlp.EncodeToBytes(&nve)
	if err != nil {
		log.Error("Failed to encode service value information", "id", id, "err", err)
		return
	}
	if err := vt.db.Put(append(vtNodeKey, id[:]...), append(enc1, enc2...)); err != nil {
		log.Error("Failed to save service value information", "id", id, "err", err)
	}
}

// RtStats returns the global response time distribution statistics
func (vt *ValueTracker) RtStats() ResponseTimeStats {
	vt.lock.Lock()
	defer vt.lock.Unlock()

	vt.periodicUpdate()
	return vt.rtStats
}

// periodicUpdate transfers individual node data to the global statistics, normalizes
// the reference basket and updates request values. The global state is also saved to
// the database with each update.
func (vt *ValueTracker) periodicUpdate() {
	now := vt.clock.Now()
	vt.statsExpLock.Lock()
	vt.statsExpFactor = utils.ExpFactor(vt.statsExpirer.LogOffset(now))
	vt.statsExpLock.Unlock()

	for _, nv := range vt.connected {
		basket, rtStats := nv.transferStats(now, vt.transferRate)
		vt.refBasket.add(basket)
		vt.rtStats.AddStats(&rtStats)
	}
	vt.refBasket.normalize()
	vt.refBasket.updateReqValues()
	for _, nv := range vt.connected {
		nv.updateCosts(nv.reqCosts, vt.refBasket.reqValues, vt.refBasket.reqValueFactor(nv.reqCosts))
	}
	vt.saveToDb()
}


类型：字符串
- 默认值：""
- LDAP SASL 身份验证中，TiDB 登录 LDAP Server 搜索用户时使用的 `dn`。

### `authentication_ldap_sasl_bind_root_pwd` 从 v7.1.0 版本开始引入

- 作用域：GLOBAL
- 是否持久化到集群：是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制：否
- 类型：字符串
- 默认值：""
- LDAP SASL 身份验证中，TiDB 登录 LDAP Server 搜索用户时使用的密码。

### `authentication_ldap_sasl_ca_path` 从 v7.1.0 版本开始引入

- 作用域：GLOBAL
- 是否持久化到集群：是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制：否
- 类型：字符串
- 默认值：""
- LDAP SASL 身份验证中，TiDB 对 StartTLS 连接使用的 CA 证书的路径。

### `authentication_ldap_sasl_init_pool_size` 从 v7.1.0 版本开始引入

- 作用域：GLOBAL
- 是否持久化到集群：是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制：否
- 类型：整数型
- 默认值：`10`
- 范围：`[1, 32767]`
- LDAP SASL 身份验证中，TiDB 与 LDAP Server 间连接池的初始连接数。

### `authentication_ldap_sasl_max_pool_size` 从 v7.1.0 版本开始引入

- 作用域：GLOBAL
- 是否持久化到集群：是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制：否
- 类型：整数型
- 默认值：`1000`
- 范围：`[1, 32767]`
- LDAP SASL 身份验证中，TiDB 与 LDAP Server 间连接池的最大连接数。

### `authentication_ldap_sasl_server_host` 从 v7.1.0 版本开始引入

- 作用域：GLOBAL
- 是否持久化到集群：是
- 是否受 Hint [SET_VAR](/optimizer-hints.md#set_varvar_namevar_value) 控制：否
- 类型：字符串
- 默认值：""
- LDAP SASL 身份验证中，LDAP Server 的主机名或地址。

### `authentication_ldap_sasl_server_port` 从 v7.1.0 版本开始引入

- 作用


null',
}

export enum TreeNodeCheckStatus {
    check = 'check',
    uncheck = 'uncheck',
    minus = 'minus',
}/**
 * 登录记录
 */
export interface LoginTrace {
  id: string
  // 用户类型
  userType: string
  // 用户ID
  userId?: string
  // 认证方式
  authType: string
  // 用户名
  authAccount: string
  // 是否成功
  success: boolean
  // IP地址
  ipAddress: string
  // 客户端信息
  userAgent: string
  // 登录时间
  createTime: string
  // 退出时间
  logoutTime: string
}
import { getTypeMatchup } from '#test-utils/queries/typematchup';
import { executeGraphQL } from '#test-utils/testUtils';

describe('getTypeMatchup', () => {
  describe('Successful requests', () => {
    test('GIVEN single type THEN returns type matchup', async () => {
      const { data } = await executeGraphQL<'getTypeMatchup'>({
        query: getTypeMatchup,
        variables: { primaryType: 'dragon' }
      });

      expect(data.getTypeMatchup).toEqual({
        attacking: {
          doubleEffectiveTypes: [],
          doubleResistedTypes: [],
          effectiveTypes: ['dragon'],
          effectlessTypes: ['fairy'],
          normalTypes: [
            'bug',
            'dark',
            'electric',
            'fighting',
            'fire',
            'flying',
            'ghost',
            'grass',
            'ground',
            'ice',
            'normal',
            'poison',
            'psychic',
            'rock',
            'water'
          ],
          resistedTypes: ['steel']
        },
        defending: {
          doubleEffectiveTypes: [],
          doubleResistedTypes: [],
          effectiveTypes: ['dragon', 'fairy', 'ice'],
          effectlessTypes: [],
          normalTypes: ['bug', 'dark', 'fighting', 'flying', 'ghost', 'ground', 'normal', 'poison', 'psychic', 'rock', 'steel'],
          resistedTypes: ['electric', 'fire', 'grass', 'water']
        }
      });
    });

    test('GIVEN 2 of the same types THEN returns type matchup', async () => {
      const { data } = await executeGraphQL<'getTypeMatchup'>({
        query: getTypeMatchup,
        variables: { primaryType: 'dragon', secondaryType: 'dragon' }
      });

      expect(data.getTypeMatchup).toEqual({
        attacking: {
          doubleEffectiveTypes: [],
          doubleResistedTypes: [],
          effectiveTypes: ['dragon'],
          effectlessTypes: ['fairy'],
          normalTypes: [
            'bug',
            'dark',
            'electric',
            'fighting',
            'fire',
            'flying',
            'ghost',
            'grass',
            'ground',
            'ice',
            'normal',
            'poison',
            'psychic',
            'rock',
            'water'
          ],
          resistedTypes: ['steel']
        },
        defending: {
          doubleEffectiveTypes: [],
          doubleResistedTypes: [],
          effectiveTypes: ['dragon', 'fairy', 'ice'],
          effectlessTypes: [],
          normalTypes: ['bug', 'dark', 'fighting', 'flying', 'ghost', 'ground', 'normal', 'poison', 'psychic', 'rock', 'steel'],
          resistedTypes: ['electric', 'fire', 'grass', 'water']
        }
      });
    });

    test('GIVEN 2 types THEN returns type matchup', async () => {
      const { data } = await executeGraphQL<'getTypeMatchup'>({
        query: getTypeMatchup,
        variables: { primaryType: 'dragon', secondaryType: 'flying' }
      });

      expect(data.getTypeMatchup).toEq


) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; nb-NO) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; fi-FI) AppleWebKit/528.16 (KHTML, like Gecko) Version/4.0 Safari/528.16",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; cs-CZ) AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 Safari/525.29",
	"Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_5_8; ja-jp) AppleWebKit/530.19.2 (KHTML, like Gecko) Version/3.2.3 Safari/525.28.3",
	"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; de-de) AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 Safari/525.28.3",
	"Mozilla/5.0 (Windows; U; Windows NT 6.1; de-DE) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.2; de-DE) AppleWebKit/528+ (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; nb-NO) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; ko-KR) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.28 (KHTML, like Gecko) Version/3.2.2 Safari/525.28.1",
	"Mozilla/5.0 (Windows; U; Windows NT 6.0; sv-SE) AppleWebKit/525.27.1 (KHTML, like Gecko) Version


了对应字节码文件的所有成员变量 `Field` ，所有成员方法 `Method`，构造方法 `Constructor`。

- 获取 Class 对象的三种方式：

    - **Class.forName("完整的类名字符串");**
            完整类名字符串是指 包名.类名
    - 类名.class;
    - 指定类对象.getClass();

- Constructor, Method, Field
    是 Java 反射包 `java.lang.reflect` 里面的类

    - Constructor 是构造方法类
    - Method 是成员方法类
    - Field 是成员变量类

### Constructor 常用方法：

返回值 | 方法名| 作用
---|---|----
Constructor[] | `getConstructors();` |获取所有 public 修饰的构造方法
  Constructor[] |`getDeclaredConstructors();`| 获取当前类里面所有的构造方法，包含用 private 修饰的构造方法
Constructor |`getConstructor(Object... paramterTyeps);`|根据所需参数不同，获取指定的构造方法对象
Constructor| `getDeclaredConstructor(Object... paramterTyeps);` |根据所需参数不同，获取指定的构造方法对象，包括私有化的方法
 Object | `newInstance(Object... initargs);` |给予确定的参数，通过反射调用构造方法，这里的参数列表是一个不定参数列表

### Method 常用方法

返回值 | 方法名| 作用
---|---|----
Method[]  |`getMethods();` |获取当前类里面所有的 public 修饰的成员方法，这里或显示父类继承而来的 public 方法
Method[] | `getDeclaredMethods();` |获取当前类里面的所有方法，包括 private 修饰的方法，但是会过滤父类继承而来的方法
Method  | `getMethod(String methodName, Object... args);` |根据方法的名字和对应的参数列表，获取指定方法
Method | `getDeclaredMethod(String methodName, Object... args);` |根据方法的名字和对应的参数列表，获取指定方法，可以获取private修饰的方法
 无    | `invoke(Object obj, Object... args);` |执行成员方法的函数，第一个参数是执行该方法的类对象，第二个参数是执行该方法需要的参数列表

### Field 常用方法

返回值 | 方法名| 作用
---|---|----
 Field[]  |`getFields();` | 获取所有的用 public 修饰的成员变量
 Field[]| `getDeclaredFields();` | 获取所用成员变量，包括用 private 修饰的成员变量
Field |`getField(String fieldName);`|根据成员变量的名字获取对应的成员变量
Field |`getDeclaredField(String fieldName);`|根据成员变量的名字获取包括 private 修饰在内的成员变量
无   | `set(Object obj, Object value);` |设置成员变量的数值，第一个参数是调用该成员变量的对象，第二个参数是赋予数值

### 暴力反射赋予权限的函数

`setAccessible(boolean)`

##  二、获取 Class 类 对象的三种方式

1.首先新建一个 Person 类，作为示例
```java
package com.qfedu.a_reflect;

public class Person {
	private int id;
	private String name;
	public int test;
	public static int testStatic = 10;

	private Person() {}

	public Person(int id, String name)


#include "../config.h"
#include "../screens.h"
#include "../screen_data.h"

#ifdef FTDI_MOVE_AXIS_SCREEN

using namespace FTDI;
using namespace ExtUI;

constexpr static MoveAxisScreenData &mydata = screen_data.MoveAxisScreen;

void BaseMoveAxisScreen::onEntry() {
  // Since Marlin keeps only one absolute position for all the extruders,
  // we have to keep track of the relative motion of individual extruders
  // ourselves. The relative distances are reset to zero whenever this
  // screen is entered.

  LOOP_L_N(i, ExtUI::extruderCount) {
    mydata.e_rel[i] = 0;
  }
  BaseNumericAdjustmentScreen::onEntry();
}

void MoveAxisScreen::onRedraw(draw_mode_t what) {
  widgets_t w(what);
  w.precision(1);
  w.units(GET_TEXT_F(MSG_UNITS_MM));
  w.heading(                           GET_TEXT_F(MSG_MOVE_AXIS));
  w.home_buttons(20);
  w.color(Theme::x_axis).adjuster(  2, GET_TEXT_F(MSG_AXIS_X),  getAxisPosition_mm(X), canMove(X));
  w.color(Theme::y_axis).adjuster(  4, GET_TEXT_F(MSG_AXIS_Y),  getAxisPosition_mm(Y), canMove(Y));
  w.color(Theme::z_axis).adjuster(  6, GET_TEXT_F(MSG_AXIS_Z),  getAxisPosition_mm(Z), canMove(Z));

  w.color(Theme::e_axis);
  #if EXTRUDERS == 1
    w.adjuster(  8, GET_TEXT_F(MSG_AXIS_E),  mydata.e_rel[0], canMove(E0));
  #elif HAS_MULTI_EXTRUDER
    w.adjuster(  8, GET_TEXT_F(MSG_AXIS_E1), mydata.e_rel[0], canMove(E0));
    w.adjuster( 10, GET_TEXT_F(MSG_AXIS_E2), mydata.e_rel[1], canMove(E1));
    #if EXTRUDERS > 2
      w.adjuster( 12, GET_TEXT_F(MSG_AXIS_E3), mydata.e_rel[2], canMove(E2));
    #endif
    #if EXTRUDERS > 3
      w.adjuster( 14, GET_TEXT_F(MSG_AXIS_E4), mydata.e_rel[3], canMove(E3));
    #endif
  #endif
  #if Z_HOME_TO_MIN
    w.button(24, GET_TEXT_F(MSG_MOVE_Z_TO_TOP), !axis_should_home(Z_AXIS));
  #endif
  w.increments();
}

bool BaseMoveAxisScreen::onTouchHeld(uint8_t tag) {
  #define UI_INCREMENT_AXIS(axis) setManualFeedrate(axis, increment); UI_INCREMENT(AxisPosition_mm, axis);
  #define UI_DECREMENT_AXIS(axis) setManualFeedrate(axis, increment); UI_DECREMENT(AxisPosition_mm, axis);
  const float increment = getIncrement();
  switch (tag) {
    case  2: UI_DECREMENT_AXIS(X); break;
    case  3: UI_INCREMENT_AXIS(X); break;
    case  4: UI_DECREMENT_AXIS(Y); break;
    case  5: UI_INCREMENT_AXIS(Y); break;
    case  6: UI_DECREMENT_AXIS(Z); break;
    case  7: UI_INCREMENT_AXIS(Z); break;
    // For extruders, also update relative distances.
    case  8: UI_DECREMENT_AXIS(E0); mydata.e_rel[0] -= increment; break;
    case  9: UI_INCREMENT_AXIS(E0); mydata.e_rel[0] += increment; break;
    #if HAS_MULTI_EXTRUDER
    case 10: UI_DECREMENT_AXIS(E1); mydata.e_rel[1] -= increment; break;
    case 11: UI_INCREMENT_AXIS(E1); mydata.e_rel[1] += increm


ny
import kotlin.PublishedApi
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * cached extension
 */
@PublishedApi()
internal val semigroupK_singleton: EitherSemigroupK<Any?> = object : EitherSemigroupK<Any?> {}

@JvmName("combineK")
@Suppress(
  "UNCHECKED_CAST",
  "USELESS_CAST",
  "EXTENSION_SHADOWED_BY_MEMBER",
  "UNUSED_PARAMETER"
)
@Deprecated("Kind/type constructors will be deprecated, so this typeclass will no longer be available from 0.13.0")
fun <L, A> Kind<Kind<ForEither, L>, A>.combineK(arg1: Kind<Kind<ForEither, L>, A>): Either<L, A> =
  arrow.core.Either.semigroupK<L>().run {
    this@combineK.combineK<A>(arg1) as arrow.core.Either<L, A>
  }

@JvmName("algebra")
@Suppress(
  "UNCHECKED_CAST",
  "USELESS_CAST",
  "EXTENSION_SHADOWED_BY_MEMBER",
  "UNUSED_PARAMETER"
)
@Deprecated("Kind/type constructors will be deprecated, so this typeclass will no longer be available from 0.13.0")
fun <L, A> algebra(): Semigroup<Kind<Kind<ForEither, L>, A>> = arrow.core.Either
  .semigroupK<L>()
  .algebra<A>() as arrow.typeclasses.Semigroup<arrow.Kind<arrow.Kind<arrow.core.ForEither, L>, A>>

@Suppress(
  "UNCHECKED_CAST",
  "NOTHING_TO_INLINE"
)
@Deprecated("Kind/type constructors will be deprecated, so this typeclass will no longer be available from 0.13.0")
inline fun <L> Companion.semigroupK(): EitherSemigroupK<L> = semigroupK_singleton as
  arrow.core.extensions.EitherSemigroupK<L>
package arrow.fx.coroutines.stream

import arrow.fx.coroutines.Atomic
import arrow.fx.coroutines.CancelToken
import arrow.fx.coroutines.CancellableContinuation
import arrow.fx.coroutines.ForkAndForget
import arrow.fx.coroutines.ForkConnected
import arrow.fx.coroutines.Promise
import arrow.fx.coroutines.Schedule
import arrow.fx.coroutines.UnsafePromise
import arrow.fx.coroutines.cancelBoundary
import kotlin.time.milliseconds
import arrow.fx.coroutines.parTupledN
import arrow.fx.coroutines.startCoroutineCancellable
import io.kotest.matchers.shouldBe
import io.kotest.property.Arb
import io.kotest.property.arbitrary.int
import io.kotest.property.arbitrary.list
import io.kotest.property.arbitrary.map
import kotlinx.coroutines.delay
import kotlin.time.ExperimentalTime

@ExperimentalTime
class CallbackTest : StreamSpec(
  iterations = 250,
  spec = {

    "should be lazy" {
      checkAll(Arb.int()) {
        val effect = Atomic(false)
        val s = Stream.callback<Int> {
          effect.set(true)
          end()
        }

        effect.get() shouldBe false
        s.drain()
        effect.get() shouldBe true
      }
    }

    "emits values" {
      checkAll(Arb.list(Arb.int())) { list ->
        Stream.callback {
          list.forEach { emit(it) }
          end()
        }
          .toList() shouldBe list
      }
    }

    "emits varargs" {
      checkAll(Arb.list(Arb.int()).map { it.toTypedArray() }) { list ->
        Stream.callback {
          emit(*list)
          end()


 支持导出 View 视图 [#158](https://github.com/pingcap/dumpling/pull/158)
        - 支持导出只包含生成列的数据表 [#166](https://github.com/pingcap/dumpling/pull/166)

    + TiDB Lightning

        - 支持多字节的 CSV delimiter 和 separator [#406](https://github.com/pingcap/tidb-lightning/pull/406)
        - 通过禁止一些 PD 调度器加速导入 [#408](https://github.com/pingcap/tidb-lightning/pull/408)
        - 在 v4.0 集群上使用 GC-TTL 接口来防止 checksum 阶段的 GC 报错 [#396](https://github.com/pingcap/tidb-lightning/pull/396)

## Bug 修复

+ TiDB

    - 修复使用分区表时，可能遇到非预期 Panic 的问题 [#20565](https://github.com/pingcap/tidb/pull/20565)
    - 修复外连接时，若外表有过滤条件，Index Merge Join 结果有时不正确的问题 [#20427](https://github.com/pingcap/tidb/pull/20427)
    - 修复 `BIT` 类型进行转换时，由于类型长度溢出而错误地返回 `NULL` 的问题 [#20363](https://github.com/pingcap/tidb/pull/20363)
    - 修复 `ALTER TABLE ...` 语法改变 `BIT` 类型的默认值，可能导致默认值错误的问题 [#20340](https://github.com/pingcap/tidb/pull/20340)
    - 修复 `BIT` 类型转换为 `INT64` 时可能导致长度溢出错误的问题 [#20312](https://github.com/pingcap/tidb/pull/20312)
    - 修复混合类型的列在进行条件传播优化时，可能导致结果错误的问题 [#20297](https://github.com/pingcap/tidb/pull/20297)
    - 修复 Plan Cache 在存储过期执行计划时，可能 Panic 的问题 [#20246](https://github.com/pingcap/tidb/pull/20246)
    - 修复 `FROM_UNIXTIME` 和 `UNION ALL` 一起使用时，返回结果会被错误地截断的问题 [#20240](https://github.com/pingcap/tidb/pull/20240)
    - 修复 `Enum` 类型在转换为 `Float` 类型时可能导致错误结果的问题 [#20235](https://github.com/pingcap/tidb/pull/20235)
    - 修复 `RegionStore` 在某些条件下会 Panic 的问题 [#20210](https://github.com/pingcap/tidb/pull/20210)
    - 修复 `BatchPointGet` 请求对无符号整数的最大值进行排序时，结果错误的问题 [#20205](https://github.com/pingcap/tidb/pull/20205)
    - 修复 `Enum`/`Set` 类型在混合 Collation 的类型判定时，结果 Collation 可能与 My


 string | undefined, labels: Labels): Counter {
        if (!this.counters[name]) {
            this.counters[name] = new promClient.Counter({
                name,
                help: description || '',
                labelNames: Object.keys(labels),
            });
            this.registry.registerMetric(this.counters[name]);
        }
        return new PromCounter(this.counters[name], labels)
    }
    createHistogram(
        name: string,
        description: string | undefined,
        buckets: number[],
        labels: Labels
    ): Histogram {
        if (!this.histograms[name]) {
            this.histograms[name] = new promClient.Histogram({
                name,
                help: description || '',
                labelNames: Object.keys(labels),
                buckets,
            });
            this.registry.registerMetric(this.histograms[name]);
        }
        return new PromHistogram(
            this.histograms[name],
            labels,
        );
    }
    createSummary(
        name: string,
        description: string | undefined,
        quantiles: number[],
        labels: Labels
    ): Summary {
        if (!this.summaries[name]) {
            this.summaries[name] = new promClient.Summary({
                name,
                help: description || '',
                labelNames: Object.keys(labels),
                percentiles: quantiles,
                maxAgeSeconds: 600,
                ageBuckets: 5,
            })
            this.registry.registerMetric(this.summaries[name]);
        }
        return new PromSummary(this.summaries[name], labels);
    }

    getRegistry() {
        return this.registry;
    }
}

export class PromCounter implements Counter {
    // TODO: deal with the generics later
    private counter: promClient.Counter<string>;
    private labels: Labels;

    constructor(counter: promClient.Counter<string>, labels: Labels) {
        this.labels = labels;
        this.counter = counter;
    }

    increment(): void {
        this.counter.labels(this.labels).inc(1);
    }
}

export class PromHistogram implements Histogram {
    private histogram: promClient.Histogram<string>;
    private labels: Labels;

    constructor(
        histogram: promClient.Histogram<string>,
        labels: Labels,
    ) {
        this.histogram = histogram;
        this.labels = labels;
    }

    record(seconds: number): void {
        this.histogram.labels(this.labels).observe(seconds);
    }
}

export class PromSummary implements Summary {
    private summary: promClient.Summary<string>;
    private labels: Labels;

    constructor(
        summary: promClient.Summary<string>,
        labels: Labels,
    ) {
        this.summary = summary;
        this.labels = labels;
    }

    record(value: number): void {
        this.summary.labels(this.labels).observe(value);
    }
}
let a: number | string = 5;
a = 'hello';

console.log(a);

function add(one:number, two:number): number {
    return one + two;
}

a = add(5, 25);

console.log(a);import { defaultOptions } from './config'
import { getExampleUrls } from './getExampleUrls'
import { toMatchFnOrError } from './toMatcherOrError'
import {
	MatchPatternOptions,
	MatchFn,
	MatcherOrInvalid,
	Matcher,
	InvalidMatcher,
} from './types'

function assertValid(this: MatcherOrInvalid): Matcher {
	if (!this.valid) {
		throw new TypeError(this.error.message)
	}

	return this
}


 sym) const
   {
      uint node = 1;

      uint bitmask = m_total_syms;

      float cost = 0.0f;
      do
      {
         bitmask >>= 1;

         uint bit = (sym & bitmask) ? 1 : 0;
         cost += m_probs[node].get_cost(bit);
         node = (node << 1) + bit;

      } while (bitmask > 1);

      return cost;
   }

   symbol_codec::symbol_codec()
   {
      clear();
   }

   void symbol_codec::clear()
   {
      m_pDecode_buf = NULL;
      m_pDecode_buf_next = NULL;
      m_pDecode_buf_end = NULL;
      m_decode_buf_size = 0;

      m_bit_buf = 0;
      m_bit_count = 0;
      m_total_model_updates = 0;
      m_mode = cNull;
      m_simulate_encoding = false;
      m_total_bits_written = 0;

      m_arith_base = 0;
      m_arith_value = 0;
      m_arith_length = 0;
      m_arith_total_bits = 0;

      m_output_buf.clear();
      m_arith_output_buf.clear();
      m_output_syms.clear();
   }

   void symbol_codec::start_encoding(uint expected_file_size)
   {
      m_mode = cEncoding;

      m_total_model_updates = 0;
      m_total_bits_written = 0;

      put_bits_init(expected_file_size);

      m_output_syms.resize(0);

      arith_start_encoding();
   }

   // Code length encoding symbols:
   // 0-16 - actual code lengths
   const uint cMaxCodelengthCodes      = 21;

   const uint cSmallZeroRunCode        = 17;
   const uint cLargeZeroRunCode        = 18;
   const uint cSmallRepeatCode         = 19;
   const uint cLargeRepeatCode         = 20;

   const uint cMinSmallZeroRunSize     = 3;
   const uint cMaxSmallZeroRunSize     = 10;
   const uint cMinLargeZeroRunSize     = 11;
   const uint cMaxLargeZeroRunSize     = 138;

   const uint cSmallMinNonZeroRunSize  = 3;
   const uint cSmallMaxNonZeroRunSize  = 6;
   const uint cLargeMinNonZeroRunSize  = 7;
   const uint cLargeMaxNonZeroRunSize  = 70;

   const uint cSmallZeroRunExtraBits   = 3;
   const uint cLargeZeroRunExtraBits   = 7;
   const uint cSmallNonZeroRunExtraBits = 2;
   const uint cLargeNonZeroRunExtraBits = 6;

   static const uint8 g_most_probable_codelength_codes[] =
   {
      cSmallZeroRunCode, cLargeZeroRunCode,
      cSmallRepeatCode,  cLargeRepeatCode,

      0, 8,
      7, 9,
      6, 10,
      5, 11,
      4, 12,
      3, 13,
      2, 14,
      1, 15,
      16
   };
   const uint cNumMostProbableCodelengthCodes = sizeof(g_most_probable_codelength_codes) / sizeof(g_most_probable_codelength_codes[0]);

   static inline void end_zero_run(uint& size, crnlib::vector<uint16>& codes)
   {
      if (!size)
         return;

      if (size < cMinSmallZeroRunSize)
      {
         while (size--)
            codes.push_back(0);
      }
      else if (size <= cMaxSmallZeroRunSize)
         codes.push_back( static_cast<uint16>(cSmallZeroRunCode | ((size - cMinSmallZeroRunSize) << 8)) );
      else
      {
         CRNLIB_ASSERT((size >= cMinLargeZeroRunSize) && (size <= cMaxLargeZeroRunSize));
         code


       {
            case nameof(SettingsPanePluginStoreViewModel.FilterText):
            case nameof(SettingsPanePluginStoreViewModel.ShowDotNet):
            case nameof(SettingsPanePluginStoreViewModel.ShowPython):
            case nameof(SettingsPanePluginStoreViewModel.ShowNodeJs):
            case nameof(SettingsPanePluginStoreViewModel.ShowExecutable):
                ((CollectionViewSource)FindResource("PluginStoreCollectionView")).View.Refresh();
                break;
        }
    }

    protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
    {
        _viewModel.PropertyChanged -= ViewModel_PropertyChanged;
        base.OnNavigatingFrom(e);
    }

    private void SettingsPanePlugins_OnKeyDown(object sender, KeyEventArgs e)
    {
        if (e.Key is not Key.F || Keyboard.Modifiers is not ModifierKeys.Control) return;
        PluginStoreFilterTextbox.Focus();
    }

    private void Hyperlink_OnRequestNavigate(object sender, RequestNavigateEventArgs e)
    {
        App.API.OpenUrl(e.Uri.AbsoluteUri);
        e.Handled = true;
    }

    private void PluginStoreCollectionView_OnFilter(object sender, FilterEventArgs e)
    {
        if (e.Item is not PluginStoreItemViewModel plugin)
        {
            e.Accepted = false;
            return;
        }

        e.Accepted = _viewModel.SatisfiesFilter(plugin);
    }
}


// Tencent is pleased to support the open source community by making TNN available.
//
// Copyright (C) 2020 THL A29 Limited, a Tencent company. All rights reserved.
//
// Licensed under the BSD 3-Clause License (the "License"); you may not use this file except
// in compliance with the License. You may obtain a copy of the License at
//
// https://opensource.org/licenses/BSD-3-Clause
//
// Unless required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
// specific language governing permissions and limitations under the License.

#include "tnn/network/openvino/custom_layer/custom_implementation.h"
#include "immintrin.h"
#include "time.h"
#include <chrono>

namespace TNN_NS {

DECLARE_CUSTOM_OP(InstanceNorm);
REGISTER_CUSTOM_OP(InstanceNorm);

DECLARE_CUSTOM_IMPLEMENTATION(InstanceNorm);
REGISTER_CUSTOM_IMPLEMENTATION(InstanceNorm, CustomInstanceNorm);

}


*************************************************/
typedef struct {
	u8 type;
	u32 defVal;
	u32 finalVal;
} BE_portInfo;

#define PM_inpb(port)	inb(port+VIDEO_IO_OFFSET)
#define PM_inpw(port)	inw(port+VIDEO_IO_OFFSET)
#define PM_inpd(port)	inl(port+VIDEO_IO_OFFSET)
#define PM_outpb(port,val)	outb(val,port+VIDEO_IO_OFFSET)
#define PM_outpw(port,val)	outw(val,port+VIDEO_IO_OFFSET)
#define PM_outpd(port,val)	outl(val,port+VIDEO_IO_OFFSET)

#define LOG_inpb(port)	PM_inpb(port)
#define LOG_inpw(port)	PM_inpw(port)
#define LOG_inpd(port)	PM_inpd(port)
#define LOG_outpb(port,val)	PM_outpb(port,val)
#define LOG_outpw(port,val)	PM_outpw(port,val)
#define LOG_outpd(port,val)	PM_outpd(port,val)

/*-------------------------- Function Prototypes --------------------------*/

/* bios.c */

void _BE_bios_init(u32 * intrTab);
void _BE_setup_funcs(void);

/* besys.c */
#define DEBUG_IO()	(M.x86.debug & DEBUG_IO_TRACE_F)

u8 X86API BE_rdb(u32 addr);
u16 X86API BE_rdw(u32 addr);
u32 X86API BE_rdl(u32 addr);
void X86API BE_wrb(u32 addr, u8 val);
void X86API BE_wrw(u32 addr, u16 val);
void X86API BE_wrl(u32 addr, u32 val);

u8 X86API BE_inb(X86EMU_pioAddr port);
u16 X86API BE_inw(X86EMU_pioAddr port);
u32 X86API BE_inl(X86EMU_pioAddr port);
void X86API BE_outb(X86EMU_pioAddr port, u8 val);
void X86API BE_outw(X86EMU_pioAddr port, u16 val);
void X86API BE_outl(X86EMU_pioAddr port, u32 val);
#endif
/* __BIOSEMUI_H */


on
		uint32				StartDeltaId;

		/// End Delta Id, used to check delta concatenation
		uint32				EndDeltaId;

		void				serial(NLMISC::IStream& s)
		{
			s.serialCheck((uint32)'RHdr');
			uint	version = s.serialVersion(0);

			s.serial(BaseIndex);
			s.serial(EndIndex);
			s.serial(OverIndex);
			s.serial(RowSize);
			s.serial(FullRowSize);
			s.serial(Timestamp);

			s.serial(StartDeltaId);
			s.serial(EndDeltaId);
		}
	};

	/// Initialised
	bool				_Init;

	/// File base name
	std::string			_Name;

	/// File path
	std::string			_Path;

	/// Header of the reference
	CRefHeader			_Header;

	enum TMode
	{
		Update,
		Read
	};

	/// File Mode
	TMode				_Mode;

	/// Data start position
	uint32				_DataStart;

	/// Serial file header
	bool				serialHeader();

	uint32				getSeekPos(uint32 index)			{ return _DataStart + _Header.FullRowSize*(index-_Header.BaseIndex); }

};

#endif // NL_DB_REFERENCE_FILE_H

/* End of db_reference_file.h */


//
// Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//

#import <Foundation/Foundation.h>
#import <AWSCore/AWSCore.h>
#import "AWSAPIGatewayModel.h"

NS_ASSUME_NONNULL_BEGIN

//! SDK version for AWSAPIGateway
FOUNDATION_EXPORT NSString *const AWSAPIGatewaySDKVersion;

FOUNDATION_EXPORT NSString *const AWSAPIGatewayErrorDomain;

FOUNDATION_EXPORT NSString *const AWSAPIGatewayErrorHTTPBodyKey;
FOUNDATION_EXPORT NSString *const AWSAPIGatewayErrorHTTPHeaderFieldsKey;

typedef NS_ENUM(NSInteger, AWSAPIGatewayErrorType) {
    AWSAPIGatewayErrorTypeUnknown,
    AWSAPIGatewayErrorTypeClient,
    AWSAPIGatewayErrorTypeService,
};

@class AWSServiceConfiguration;

@interface AWSAPIGatewayClient : NSObject

@property (nonatomic, strong) AWSServiceConfiguration *configuration;

@property (nonatomic, strong, nullable) NSString *APIKey;

/**
 *  The invoke method can be used to invoke an `AWS API Gateway` API endpoint with a `AWSAPIGatewayRequest` object.
 *
 *  @param apiRequest An `AWSAPIGatewayRequest` object.
 *
 *  @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSAPIGatewayResponse`. On failed execution, `task.error` may contain an `NSError`.
 */
- (AWSTask<AWSAPIGatewayResponse *> *)invoke:(AWSAPIGatewayRequest *)apiRequest;

@end

NS_ASSUME_NONNULL_END


/*
 * Copyright (c) 2018-2020 Apple Computer, Inc. All rights reserved.
 *
 * @APPLE_LICENSE_HEADER_START@
 *
 * This file contains Original Code and/or Modifications of Original Code
 * as defined in and that are subject to the Apple Public Source License
 * Version 2.0 (the 'License'). You may not use this file except in
 * compliance with the License. Please obtain a copy of the License at
 * http://www.opensource.apple.com/apsl/ and read it before using this
 * file.
 *
 * The Original Code and all software distributed under the License are
 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
 * Please see the License for the specific language governing rights and
 * limitations under the License.
 *
 * @APPLE_LICENSE_HEADER_END@
 */
/*
 *  apple_version.c
 *  cctools libstuff
 *
 *  Created by Michael Trent on 12/20/18.
 */
#if 0 /* cctools-port */
#ifndef CURRENT_PROJECT_VERSION
#define CURRENT_PROJECT_VERSION "cctools-localbuild"
#endif /* CURRENT_PROJECT_VERSION */
#endif

const char apple_version[]= PACKAGE_NAME "-" PACKAGE_VERSION;
const char ldVersionString[]= "@(#)PROGRAM:ld  PROJECT:" PACKAGE_NAME "-" PACKAGE_VERSION "\n";