#ifndef _UTF8TBL_H_
#define _UTF8TBL_H_

#ifdef UTF8_OUTPUT_ENABLE
extern const unsigned short euc_to_utf8_1byte[];
extern const unsigned short *const euc_to_utf8_2bytes[];
extern const unsigned short *const euc_to_utf8_2bytes_ms[];
extern const unsigned short *const x0212_to_utf8_2bytes[];
#endif /* UTF8_OUTPUT_ENABLE */

#ifdef UTF8_INPUT_ENABLE
extern const unsigned short *const utf8_to_euc_2bytes[];
extern const unsigned short *const utf8_to_euc_2bytes_ms[];
extern const unsigned short *const utf8_to_euc_2bytes_932[];
extern const unsigned short *const *const utf8_to_euc_3bytes[];
extern const unsigned short *const *const utf8_to_euc_3bytes_ms[];
extern const unsigned short *const *const utf8_to_euc_3bytes_932[];
#endif /* UTF8_INPUT_ENABLE */

#ifdef UNICODE_NORMALIZATION
extern const struct normalization_pair normalization_table[];
#endif

#ifdef SHIFTJIS_CP932
extern const unsigned short shiftjis_cp932[3][189];
extern const unsigned short cp932inv[2][189];
#endif /* SHIFTJIS_CP932 */

#ifdef X0212_ENABLE
extern const unsigned short shiftjis_x0212[3][189];
extern const unsigned short *const x0212_shiftjis[];
#endif /* X0212_ENABLE */

#endif


同胞，準備戰鬥吧！"}, {"前往暴風城的城門。與侍衛洛文交談，他會通知溫德索爾元帥妳已經到達了。"}},
[6403] = {"潛藏者", {"朋友，黑石塔那壹仗可真是驚心動魄，我欠妳壹大筆人情。也許等這壹切都結束之後……","就像妳已經確認了的那樣，女伯爵卡特拉娜·普瑞斯托就是奧妮克希亞，死亡之翼家族中的壹員，黑石塔內的那個奈法利安的姐妹。","她長期以來壹直在操縱著我們的王國。連伯瓦爾·弗塔根公爵也被她耍得團團轉。今天這壹切都將結束了……她的魔法將被破除。","不要怕，我們會取得勝利的！","妳準備好了嗎？"}, {"跟隨雷吉納德·溫德索爾元帥在暴風城中前進。保護他，別讓他受到傷害！"}},
[6421] = {"滾巖峽谷", {"石爪山脈有些事不大對勁。妳能感覺到空氣中的緊張氣氛嗎，<name>？在此地以南的滾巖峽谷中有壹處很深的洞穴，狗頭人正在那兒瘋狂地開采壹種被稱作共鳴水晶的稀有礦石。我需要妳去取回壹些礦石樣本，那樣我就能了解洞穴中究竟發生了什麽事兒。另外，妳還得去勘查壹下洞穴的深度。","去吧，年輕的<class>，我必須知道這裏的山脈中潛伏著什麽樣的邪惡力量。"}, {"深入滾巖峽谷的洞穴中，為烈日石居的摩羅加爾取回10塊共鳴水晶以供研究。"}},
[6441] = {"薩特之角", {"妳好啊！我要穿越灰谷往棘齒城去，途中在碎木哨崗這裏稍作休息。我壹直在尋找發財的機會，眼下似乎就有壹個——這些日子以來棘齒城的薩特角行情看漲。","在附近詢問了壹番之後，我認為夜道谷、薩提納爾和薩維亞的薩特頭上的角都符合我的要求。不過我可不是薩特的對手……妳也許能行！","幫我收集壹些角吧，我會給妳報


g
            id="Notification_hub" /><g
            id="Notification_topic" /><g
            id="Cloud_Office_365" /><g
            id="Office_365" /><g
            id="OS_image" /><g
            id="Remote_app" /><g
            id="Task_scheduler" /><g
            id="Azure_SDK" /><g
            id="Service_bus" /><g
            id="Service_bus_queue" /><g
            id="Service_bus_relay" /><g
            id="Service_bus_topic" /><g
            id="Service_endpoint" /><g
            id="Custom_create" /><g
            id="SQL_data_sync" /><g
            id="SQL_reporting" /><g
            id="Startup_task" /><g
            id="Windows_Azure_storage" /><g
            id="Storage_blob" /><g
            id="Storage_table" /><g
            id="Storage_queue"><g
              id="g69"><polygon
                fill="#0078d7"
                points="86.5,56.5 78.3,56.5 82.4,59.7 "
                id="polygon57" /><path
                fill="#0078d7"
                d="m 69.9,60.8 c -0.1,0 -0.2,0 -0.3,-0.1 l -3.8,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.4,0.1 -0.5,0.1 z"
                id="path59" /><path
                fill="#0078d7"
                d="m 82.4,60.8 c -0.1,0 -0.3,0 -0.3,-0.1 l -3.9,-3 v 4.9 h 8.7 v -5 l -4.1,3.1 c -0.2,0.1 -0.3,0.1 -0.4,0.1 z"
                id="path61" /><path
                fill="#0078d7"
                d="m 85.5,42.3 h -19 L 57,58.7 66.5,75.1 h 18.9 l 9.5,-16.4 z m 3.3,23.4 H 62.9 c -0.8,0 -1.4,-0.7 -1.4,-1.5 v -9.9 c 0,-0.8 0.6,-1.5 1.4,-1.5 h 25.9 c 0.3,0 0.8,0 4.2,6.4 l 0.1,0.3 -0.1,0.3 c -3.4,5.9 -3.9,5.9 -4.2,5.9 z"
                id="path63" /><polygon
                fill="#0078d7"
                points="74,56.5 65.7,56.5 69.8,59.7 "
                id="polygon65" /><path
                fill="#0078d7"
                d="m 62.9,53.9 c -0.2,0 -0.4,0.2 -0.4,0.4 v 9.9 c 0,0.2 0.2,0.5 0.4,0.5 h 25.7 c 0.5,-0.5 2,-2.9 3.3,-5.2 C 90.6,57 89,54.4 88.6,53.9 Z m 12.6,9.2 c 0,0.3 -0.3,0.6 -0.7,0.6 H 65 c -0.3,0 -0.4,-0.3 -0.4,-0.6 v -7.3 c 0,


ned a Haar Cascade recognizer to find the cats head, and then
used various other techniques to detect if it has prey in it's mouth or not.
This technique has turned out to be very reliable and successful with
hardly any false positives. The training data and results for the Haar cascade
training can be found in a separate repository
[https://github.com/JoakimSoderberg/catcierge-samples](catcierge-samples)

Hardware design details
-----------------------
To read more about how to build your own hardware that this code can run on, and the development story, see the webpage: [http://joakimsoderberg.github.io/catcierge/](http://joakimsoderberg.github.io/catcierge/)

Dependencies
------------
For the image recognition catcierge uses OpenCV via the
[raspicam_cv library][raspicam_cv] written by [Emil Valkov][emil_valkov]
(which is included in the catcierge source).

Full getting started guide for Raspberry Pi
-------------------------------------------
See [doc/](doc/README.md) for a full getting started guide.

Compiling
---------
Catcierge uses the CMake build system. To compile:

### Raspberry Pi:

First, to install OpenCV on raspbian:

```bash
$ sudo apt-get install cmake opencv-dev build-essential
```

Then to build:

```bash
$ git clone https://github.com/JoakimSoderberg/catcierge.git
$ cd catcierge
$ git submodule update --init # For the rpi userland sources.
$ ./build_userland.sh
$ mkdir build && cd build
$ cmake -DWITH_ZMQ=OFF ..  # Raspbian has no CZMQ package.
$ make
```

If you want ZMQ support:

```bash
$ sudo apt-get install libzmq3-dev
```

```bash
$ git clone git@github.com:zeromq/czmq.git
$ cd czmq
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make install  # either this, or see below

# Or specify the locations manually where you built it.
$ cmake -DWITH_ZMQ=ON -DCZMQ_LIBRARIES=/path/to/czmq/src/libczmq.so -D CZMQ_INCLUDE_DIRS=/path/to/czmq/include ..
```

If you don't have any [RFID cat chip reader][rfid_cat] you can exclude
it from the compilation:

```bash
$ cmake -DWITH_RFID=OFF ..
```

If you already have a version of the [raspberry pi userland libraries][rpi_userland] built,
you can use that instead:

```bash
$ cmake -DRPI_USERLAND=/path/to/rpi/userland ..
```

However, note that the program only has been tested with the submodule version of
the userland sources.

### Linux / OSX

Use your favorite package system to install OpenCV.

You can also use your own build of OpenCV when compiling:

from git [https://github.com/itseez/opencv](https://github.com/itseez/opencv)

or download: [http://opencv.org/downloads.html](http://opencv.org/downloads.html)

```bash
$ git clone <url>
$ cd catcierge
$ mkdir build && cd build
$ cmake --build .
```

If OpenCV is not automatically found, build your own (See above for downloads)
and point CMake to that build:

```bash
... # Same as above...
$ cmake -DOpenCV_DIR=/path/to/opencv/build .. # This should be the path containing OpenCVConfig.cmake
$ cmake --build .
```

### Windows

Download OpenCV 2.x for Windows: [http://opencv.org/downloads.html](http://opencv.org/downloads.html)

Unpack it to a known path (you need this when compiling).

Assuming you're using [git bash](http://git-scm.com/) and [Visual Studio Express](http://www.visualstudio.com/downloads/download-visual-studio-vs) (or more advanced version).

**NOTE**: If you are using Visual Studio 2015+ at the time of writing this, the precompiled
version of OpenCV does not include a compatible version, so you will need to build it yourself:

```bash
$ cd /c/openc


(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <double, num>{}));

  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, List>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, Map>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, Null>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, Object>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, String>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, bool>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, double>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, int>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <int, num>{}));

  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, List>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, Map>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, Null>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, Object>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, String>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, bool>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, double>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, int>{}));
  Expect.isTrue(await incoming.moveNext());
  Expect.isTrue(identical(incoming.current, const <num, num>{}));

  port.close();
  print("Parent done");
}
// Copyright (c) 2013, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

library test.repeated_private_anon_mixin_app;

// Regression test for symbol mangling.

import 'dart:mirrors';
import 'package:expect/expect.dart';

import 'repeated_private_anon_mixin_app1.dart' as lib1;
import 'repeated_private_anon_mixin_app2.dart' as lib2;

testMA() {
  Symbol name1 = reflectClass(lib1.MA).superclass!.simpleName;
  Symbol name2 = reflectClass(lib2.MA).superclass!.simpleName;

  Expect.equals('lib._S with lib._M', MirrorSystem.getName(name1));
  Expect.equals('lib._S with lib._M', MirrorSystem.getName(name2));

  Expect.notEquals(name1, name2);
  Expect.notEquals(name2, name1);
}

testMA2() {
  Symbol name1 = reflectClass(lib1.MA2).superclass!.simpleName;
  Symbol name2 = reflectClass(lib2.MA2).superclass!.simpleName;

  Expect.equals('lib._S with lib._M, lib._M


0, dx = (int)(256 / t);
// If angle > 180 && angle < 270, dx = 1;
static INLINE int av1_get_dx(int angle) {
  if (angle > 0 && angle < 90) {
    return dr_intra_derivative[angle];
  } else if (angle > 90 && angle < 180) {
    return dr_intra_derivative[180 - angle];
  } else {
    // In this case, we are not really going to use dx. We may return any value.
    return 1;
  }
}

// Get the shift (up-scaled by 256) in Y w.r.t a unit change in X.
// If angle > 0 && angle < 90, dy = 1;
// If angle > 90 && angle < 180, dy = (int)(256 * t);
// If angle > 180 && angle < 270, dy = -((int)(256 * t));
static INLINE int av1_get_dy(int angle) {
  if (angle > 90 && angle < 180) {
    return dr_intra_derivative[angle - 90];
  } else if (angle > 180 && angle < 270) {
    return dr_intra_derivative[270 - angle];
  } else {
    // In this case, we are not really going to use dy. We may return any value.
    return 1;
  }
}

static INLINE int av1_use_intra_edge_upsample(int bs0, int bs1, int delta,
                                              int type) {
  const int d = abs(delta);
  const int blk_wh = bs0 + bs1;
  if (d == 0 || d >= 40) return 0;
  return type ? (blk_wh <= 8) : (blk_wh <= 16);
}
#ifdef __cplusplus
}  // extern "C"
#endif
#endif  // AOM_AV1_COMMON_RECONINTRA_H_


 != nil {
				t.Fatalf("failed to create test account: %v", err)
			}
			live[account.Address] = account
			wantEvents = append(wantEvents, walletEvent{accounts.WalletEvent{Kind: accounts.WalletArrived}, account})
		} else {
			// Delete a random account.
			var account accounts.Account
			for _, a := range live {
				account = a
				break
			}
			if err := ks.Delete(account, ""); err != nil {
				t.Fatalf("failed to delete test account: %v", err)
			}
			delete(live, account.Address)
			wantEvents = append(wantEvents, walletEvent{accounts.WalletEvent{Kind: accounts.WalletDropped}, account})
		}
	}

	// Shut down the event collector and check events.
	sub.Unsubscribe()
	<-updates
	checkAccounts(t, live, ks.Wallets())
	checkEvents(t, wantEvents, events)
}

// checkAccounts checks that all known live accounts are present in the wallet list.
func checkAccounts(t *testing.T, live map[common.Address]accounts.Account, wallets []accounts.Wallet) {
	if len(live) != len(wallets) {
		t.Errorf("wallet list doesn't match required accounts: have %d, want %d", len(wallets), len(live))
		return
	}
	liveList := make([]accounts.Account, 0, len(live))
	for _, account := range live {
		liveList = append(liveList, account)
	}
	sort.Sort(accountsByURL(liveList))
	for j, wallet := range wallets {
		if accs := wallet.Accounts(); len(accs) != 1 {
			t.Errorf("wallet %d: contains invalid number of accounts: have %d, want 1", j, len(accs))
		} else if accs[0] != liveList[j] {
			t.Errorf("wallet %d: account mismatch: have %v, want %v", j, accs[0], liveList[j])
		}
	}
}

// checkEvents checks that all events in 'want' are present in 'have'. Events may be present multiple times.
func checkEvents(t *testing.T, want []walletEvent, have []walletEvent) {
	for _, wantEv := range want {
		nmatch := 0
		for ; len(have) > 0; nmatch++ {
			if have[0].Kind != wantEv.Kind || have[0].a != wantEv.a {
				break
			}
			have = have[1:]
		}
		if nmatch == 0 {
			t.Fatalf("can't find event with Kind=%v for %x", wantEv.Kind, wantEv.a.Address)
		}
	}
}

func tmpKeyStore(t *testing.T, encrypted bool) (string, *KeyStore) {
	d, err := ioutil.TempDir("", "man-keystore-test")
	if err != nil {
		t.Fatal(err)
	}
	new := NewPlaintextKeyStore
	if encrypted {
		new = func(kd string) *KeyStore { return NewKeyStore(kd, veryLightScryptN, veryLightScryptP) }
	}
	return d, new(d)
}
// Copyright (c) 2018 The MATRIX Authors
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php

package abi

import (
	"fmt"
	"strings"

	"github.com/MatrixAINetwork/go-matrix/crypto"
)

// Method represents a callable given a `Name` and whether the method is a constant.
// If the method is `Const` no transaction needs to be created for this
// particular Method call. It can easily be simulated using a local VM.
// For example a `Balance()` method only needs to retrieve something
// from the storage and therefor requires no Tx


import aiohttp
import asyncio
import os
import time

ENDPOINT = os.getenv("ENDPOINT", default="localhost")

async def single_call(session, model, files, idx):
    print(f"Submitted request: {idx}")
    async with session.post(
        f"http://{ENDPOINT}:8080/transcribe/{model}", data=files
    ) as resp:
        print(f"Received response from {idx}, status: {resp.status}")
        print(await resp.text())

async def main(model):
    if model == "base":
        reps = [5, 20]
    else:
        reps = [3, 10]

    print(f"Testing model: {model}")
    with open("speech_sample.mp3", "rb") as f:
        data = f.read()

    files = {"file": data}

    async with aiohttp.ClientSession(
        timeout=aiohttp.ClientTimeout(total=20 * 60)
    ) as session:
        print("Warm-up phase")
        tasks = [
            asyncio.ensure_future(single_call(session, model, files, idx))
            for idx in range(reps[0])
        ]
        await asyncio.gather(*tasks)

        print("Main run")
        t0 = time.time()
        tasks = [
            asyncio.ensure_future(single_call(session, model, files, idx))
            for idx in range(reps[1])
        ]
        await asyncio.gather(*tasks)
        t_elapsed = time.time() - t0
        print(f"Summary for model {model}")
        print(f"Total time elapsed: {int(t_elapsed)} secs")
        t_ratio = (reps[1] * 12) / t_elapsed
        print(f"Audio length to processing time ratio: {t_ratio:.1f}")

if __name__ == "__main__":
    for model in ["base", "medium"]:
        asyncio.run(main(model))


< ((DecisionNode) node).getNumberOfDaugthers(); i++) {
			if (((DecisionNode) node).getDaughter(i).getNumberOfNodes() > 1)
				printDecisionNodes(((DecisionNode) node).getDaughter(i), out, pw);
		}
	}

	/** This function will print the leaf nodes only, but it goes through all the decision nodes. */
	private void printLeafNodes(Node node, DataOutput out, PrintWriter pw) throws IOException {
		// If the node does not have leaves then it just return.
		// I we are in a decision node then print the leaves of the daughters.
		Node nextNode;
		if (node.getNumberOfNodes() > 1) {
			assert node instanceof DecisionNode;
			DecisionNode decNode = (DecisionNode) node;
			for (int i = 0; i < decNode.getNumberOfDaugthers(); i++) {
				nextNode = decNode.getDaughter(i);
				printLeafNodes(nextNode, out, pw);
			}
		} else {
			assert node instanceof LeafNode;
			LeafNode leaf = (LeafNode) node;
			if (leaf.getUniqueLeafId() == 0) // empty leaf, do not write
				return;
			LeafType leafType = leaf.getLeafNodeType();
			if (leafType == LeafType.FeatureVectorLeafNode) {
				leafType = LeafType.IntArrayLeafNode;
				// save feature vector leaf nodes as int array leaf nodes
			}
			if (out != null) {
				// Leaf node type
				out.writeInt(leafType.ordinal());
			}
			if (pw != null) {
				pw.print("id" + leaf.getUniqueLeafId() + " " + leafType);
			}
			switch (leaf.getLeafNodeType()) {
			case IntArrayLeafNode:
				int data[] = ((IntArrayLeafNode) leaf).getIntData();
				// Number of data points following:
				if (out != null)
					out.writeInt(data.length);
				if (pw != null)
					pw.print(" " + data.length);
				// for each index, write the index
				for (int i = 0; i < data.length; i++) {
					if (out != null)
						out.writeInt(data[i]);
					if (pw != null)
						pw.print(" " + data[i]);
				}
				break;
			case FloatLeafNode:
				float stddev = ((FloatLeafNode) leaf).getStDeviation();
				float mean = ((FloatLeafNode) leaf).getMean();
				if (out != null) {
					out.writeFloat(stddev);
					out.writeFloat(mean);
				}
				if (pw != null) {
					pw.print(" 1 " + stddev + " " + mean);
				}
				break;
			case IntAndFloatArrayLeafNode:
			case StringAndFloatLeafNode:
				int data1[] = ((IntAndFloatArrayLeafNode) leaf).getIntData();
				float floats[] = ((IntAndFloatArrayLeafNode) leaf).getFloatData();
				// Number of data points following:
				if (out != null)
					out.writeInt(data1.length);
				if (pw != null)
					pw.print(" " + data1.length);
				// for each index, write the index and then its float
				for (int i = 0; i < data1.length; i++) {
					if (out != null) {
						out.writeInt(data1[i]);
						out.writeFloat(floats[i]);
					}
					if (pw != null)
						pw.print(" " + data1[i] + " " + floats[i]);
				}
				break;
			case FeatureVectorLeafNode:
				FeatureVector fv[] = ((FeatureVectorLeafNode) leaf).getFeatureVectors();
				// Number of data points following:
				if (out != null)
					out.writeInt(fv.length);
				if (pw != null)
					pw.print(" " + fv.length);
				// for each feature vector, write the index
				for (int i = 0; i < fv.length; i++) {
					if (out


    purple = 6,
    //% block="白色"
    white = 7,
    //% block="黑色"
    black = 8,
}
//% color=#FD7013 weight=20 icon="\uf1b9" block="MacRoc LA"
namespace LA {
    let serial_initialized = false;
    let rgb_initialized = false;

    function serial_init( ):void{
        serial.redirect( SerialPin.P12, SerialPin.P8, BaudRate.BaudRate9600 );
        serial_initialized = true;
    }

    function rgb_init():void{
        pins.spiPins( DigitalPin.P15, DigitalPin.P14, DigitalPin.P13 );
        pins.spiFrequency( 9000000 );
        pins.spiFormat( 8, 1 );
        rgb_initialized = true;
    }

    //% block = "距离 %side"
    //% inlineInputMode=inline
    export function distance( side:SIDE ):number{
        return 1;
    }

    //% block="平衡车 速度 %speed|转向 %turn"
    //% speed.min = -100 speed.max = 100 turn.min = -200 turn.max = 200
    export function car( speed:number, turn:number ):void{
        if( !serial_initialized ){
            serial_init();
        }
        serial.writeString( 'y:' + speed + ' x:' + turn + '#' );
    }

    //% block="氛围灯 左侧 %left_color|右侧 %right_color"
    export function rgb_enum( left_color:COLOR, right_color:COLOR ):void{
        let value:number[][] = [ [0,0,0],[0,0,0] ];
        value[0] = COLOR_ARRAY[left_color];
        value[1] = COLOR_ARRAY[right_color];
        rgb( value );
    }

    //% block="彩灯 %value"
    export function rgb( value: number[][] = [ Array( 0, 0, 0 ), Array( 0, 0, 0 ) ] ): void{
        let temp:number[] = [0];
        let index_i, index_j, index;
        if( !rgb_initialized ){
            rgb_init()
        }
        for( index_i = 0; index_i < 2; index_i ++ ){
            for( index_j = 0; index_j < 24; index_j ++ ){
                //serial.writeString( ( 1 << ( index_j % 8 ) ).toString() );
                if( value[index_i][ index_j / 8 ] && 1 << ( index_j % 8 ) ){
                    temp[ index_i * 24 + index_j ] = 248;
                }
                else{
                    temp[ index_i *24 + index_j ] = 224;
                }
            }
        }
        for( index = 0; index < 100; index ++ ){
            pins.spiWrite( 0 );
        }
        for( index = 0; index < temp.length; index ++ ){
            pins.spiWrite( temp[index] );
        }
    }
    /*export function rgb( value: number[][] = [ Array( 0, 0, 0 ), Array( 0, 0, 0 ) ] ): void{
        let turn:number = 6;
        let temp:number[] = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
        if( !rgb_initialized ){
            rgb_init()
        }
        for( let index_i = 0; index_i < value.length; index_i ++ ){
            for( let index = 0, len = 24; index < len; index ++ ){
                if( value[index_i][ index / 8 ] && 1 << ( index % 8 ) ){
                    turn = 6;
                }
                else{
                    turn = 4;
                }
                if( index % 8 == 0


les() const;

    GitPlugin* m_git = nullptr;
    bool m_isVerbose = false;
    BitmapLoader* m_bitmapLoader = nullptr;
    wxBitmap m_modifiedBmp;
    wxBitmap m_untrackedBmp;
    wxBitmap m_folderBmp;
    wxBitmap m_newBmp;
    wxBitmap m_deleteBmp;
    size_t m_indent = 0;
    std::unordered_set<wxString> m_errorPatterns;
    std::unordered_set<wxString> m_successPatterns;
    std::unordered_set<wxString> m_warningPatterns;
    wxString m_buffer;
    wxTerminalOutputCtrl* m_log_view{nullptr};
    IndicatorPanel* m_statusBar{nullptr};
};


2-.teleport.lib.teleterm.v1.ListResourcesParamsR\x06params\"\x8b\x01\n" +
	"\x1dListKubernetesServersResponse\x12B\n" +
	"\tresources\x18\x01 \x03(\v2$.teleport.lib.teleterm.v1.KubeServerR\tresources\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\",\n" +
	"\x0eCredentialInfo\x12\x1a\n" +
	"\busername\x18\x01 \x01(\tR\busername\"\xad\x01\n" +
	"\x19LoginPasswordlessResponse\x12D\n" +
	"\x06prompt\x18\x01 \x01(\x0e2,.teleport.lib.teleterm.v1.PasswordlessPromptR\x06prompt\x12J\n" +
	"\vcredentials\x18\x02 \x03(\v2(.teleport.lib.teleterm.v1.CredentialInfoR\vcredentials\"\x9b\x04\n" +
	"\x18LoginPasswordlessRequest\x12e\n" +
	"\x04init\x18\x01 \x01(\v2O.teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessRequestInitH\x00R\x04init\x12c\n" +
	"\x03pin\x18\x02 \x01(\v2O.teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessPINResponseH\x00R\x03pin\x12x\n" +
	"\n" +
	"credential\x18\x03 \x01(\v2V.teleport.lib.teleterm.v1.LoginPasswordlessRequest.LoginPasswordlessCredentialResponseH\x00R\n" +
	"credential\x1a?\n" +
	"\x1cLoginPasswordlessRequestInit\x12\x1f\n" +
	"\vcluster_uri\x18\x01 \x01(\tR\n" +
	"clusterUri\x1a0\n" +
	"\x1cLoginPasswordlessPINResponse\x12\x10\n" +
	"\x03pin\x18\x01 \x01(\tR\x03pin\x1a;\n" +
	"#LoginPasswordlessCredentialResponse\x12\x14\n" +
	"\x05index\x18\x01 \x01(\x03R\x05indexB\t\n" +
	"\arequest\"\xdf\x01\n" +
	"\x13FileTransferRequest\x12\x14\n" +
	"\x05login\x18\x02 \x01(\tR\x05login\x12\x16\n" +
	"\x06source\x18\x04 \x01(\tR\x06source\x12 \n" +
	"\vdestination\x18\x05 \x01(\tR\vdestination\x12M\n" +
	"\tdirection\x18\x06 \x01(\x0e2/.teleport.lib.teleterm.v1.FileTransferDirectionR\tdirection\x12\x1d\n" +
	"\n" +
	"server_uri\x18\a \x01(\tR\tserverUriJ\x04\b\x01\x10\x02J\x04\b\x03\x10\x04\"6\n" +
	"\x14FileTransferProgress\x12\x1e\n" +
	"\n" +
	"percentage\x18\x01 \x01(\rR\n" +
	"percentage\"\xf7\x02\n" +
	"\fLoginRequest\x12\


-- * Copyright © 2021 - 2024 Swiss National Data and Service Center for the Humanities and/or DaSCH Service Platform contributors.
-- * SPDX-License-Identifier: Apache-2.0

if not authorize_api('admin.sipi.org', 'administrator', config.adminuser) then
    return
end

if server.method == 'GET' then
    local flist

    if server.get and (server.get.sort == 'atasc') then
        flist = cache.filelist('AT_ASC')
    elseif server.get and (server.get.sort == 'atdesc') then
        flist = cache.filelist('AT_DESC')
    elseif server.get and (server.get.sort == 'fsasc') then
        flist = cache.filelist('FS_ASC')
    elseif server.get and (server.get.sort == 'fsdesc') then
        flist = cache.filelist('FS_DESC')
    else
        flist = cache.filelist('AT_ASC')
    end

    local success, jsonstr = server.table_to_json(flist)
    if not success then
        send_error(500, jsonstr)
        return false
    end

    server.sendHeader('Content-type', 'application/json')
    server.sendStatus(200)
    server.print(jsonstr)
elseif server.met


.c-q.c, p.d-q.d )
    end
end

function Quaternion.unm( p )
    return Quaternion.new( -p.a, -p.b, -p.c, -p.d )
end

function Quaternion.mul( p, q )
    if type( p ) == "number" then
	return Quaternion.new( p*q.a, p*q.b, p*q.c, p*q.d )
    elseif type( q ) == "number" then
	return Quaternion.new( p.a*q, p.b*q, p.c*q, p.d*q )
    else
	return Quaternion.new( p.a*q.a - p.b*q.b - p.c*q.c - p.d*q.d,
                               p.a*q.b + p.b*q.a + p.c*q.d - p.d*q.c,
 			       p.a*q.c - p.b*q.d + p.c*q.a + p.d*q.b,
			       p.a*q.d + p.b*q.c - p.c*q.b + p.d*q.a )
    end
end

function Quaternion.conj( p )
    return Quaternion.new( p.a, -p.b, -p.c, -p.d )
end

function Quaternion.norm( p )
    return math.sqrt( p.a^2 + p.b^2 + p.c^2 + p.d^2 )
end

function Quaternion.print( p )
    print( string.format( "%f + %fi + %fj + %fk\n", p.a, p.b, p.c, p.d ) )
end


平衡肩铠",
[64632] = "食人魔法师之杖",
[64633] = "勇者的胸甲",
[64634] = "浴血泥潭十字弓",
[64635] = "鲁尔格之盔",
[64636] = "防御者之矛",
[64637] = "塔尼尔的过载图腾",
[64638] = "装石头的箱子",
[64639] = "银罐冰酒",
[64640] = "痕湖河豚刺身",
[64641] = "“可口”的虫肉排",
[64642] = "阿图希特的记录碎片",
[64643] = "艾萨拉女王的便袍",
[64644] = "首席萨满的头饰",
[64645] = "泰兰德最爱的玩偶",
[64646] = "扭曲骸骨",
[64647] = "百法师之宝石项圈",
[64648] = "白银卷轴匣",
[64649] = "柯塞特密码石板",
[64650] = "暗月刀",
[64651] = "小精灵护符",
[64652] = "沙城",
[64653] = "镶翡翠眼猫雕像",
[64654] = "皂石圣甲虫项链",
[64655] = "绿洲彩嵌",
[64656] = "雕花弯刀柄首",
[64657] = "坎努匹克陶罐",
[64658] = "沙漠宫殿的草图",
[64659] = "弗兰克罗恩·铸铁的烟斗",
[64660] = "弗林特洛克的炸药",
[64661] = "超易用速植树",
[64662] = "纯净的冰川寒冰",
[64664] = "冰隆隆的原始之角",
[64665] = "速效寒冰屏障",
[64666] = "敦霍尔德的挑战",
[64667] = "泰坦圆盘",
[64668] = "哈里森的信号弹",
[64669] = "钟摆的炸药",
[64670] = "褪魔粉",
[64671] = "高戈奈斯圣物",
[64672] = "诺甘农圣物",
[64673] = "艾欧娜尔圣物",
[64674] = "阿格玛圣物",
[64675] = "坠星圣物",
[64676] = "卡兹格罗斯圣物",
[64677] = "盒装灭虫烟熏器",
[64678] = "Quest Reward Placeholder",
[64679] = "Ques


ame>src/window_identifier/gtk3.rs
use std::{fmt, sync::Arc};

use futures::lock::Mutex;
use gdk::Backend;
#[cfg(feature = "raw_handle")]
use glib::translate::ToGlibPtr;
use gtk3::{
    gdk,
    glib::{self, clone},
    prelude::*,
};
#[cfg(feature = "raw_handle")]
use raw_window_handle::{RawWindowHandle, WaylandHandle, XlibHandle};

use super::WindowIdentifierType;

static WINDOW_HANDLE_KEY: &str = "ashpd-wayland-gtk3-window-handle";

pub struct Gtk3WindowIdentifier {
    window: gdk::Window,
    type_: WindowIdentifierType,
}

impl Gtk3WindowIdentifier {
    pub async fn new(window: &impl glib::IsA<gdk::Window>) -> Option<Self> {
        match window.as_ref().display().backend() {
            Backend::Wayland => {
                let wayland_win = window
                    .as_ref()
                    .downcast_ref::<gdk3wayland::WaylandWindow>()
                    .unwrap();
                let handle = unsafe {
                    if let Some(mut handle) = wayland_win.data(WINDOW_HANDLE_KEY) {
                        let (handle, ref_count): &mut (Option<String>, u8) = handle.as_mut();
                        *ref_count += 1;
                        handle.clone()
                    } else {
                        let (sender, receiver) = futures::channel::oneshot::channel::<String>();
                        let sender = Arc::new(Mutex::new(Some(sender)));

                        wayland_win.export_handle(clone!(@strong sender => move |_, handle| {
                            let ctx = glib::MainContext::default();
                            let handle = handle.to_owned();
                            ctx.spawn_local(clone!(@strong sender, @strong handle => async move {
                                if let Some(m) = sender.lock().await.take() {
                                    let _ = m.send(handle);
                                }
                            }));
                        }));

                        let handle = receiver.await.ok();
                        wayland_win.set_data(WINDOW_HANDLE_KEY, (handle.clone(), 1));
                        handle
                    }
                };
                Some(Self {
                    window: window.clone().upcast(),
                    type_: WindowIdentifierType::Wayland(handle.unwrap_or_default()),
                })
            }
            Backend::X11 => {
                let xid = window
                    .as_ref()
                    .downcast_ref::<gdk3x11::X11Window>()
                    .map(|w| w.xid())?;
                Some(Self {
                    window: window.clone().upcast(),
                    type_: WindowIdentifierType::X11(xid),
                })
            }
            _ => None,
        }
    }

    #[cfg(feature = "raw_handle")]
    pub fn as_raw_handle(&self) -> RawWindowHandle {
        let display = self.window.display();
        unsafe {
            match self.type_ {
                WindowIdentifierType::Wayland(_) => {
                    let mut wayland_handle = WaylandHandle::empty();
                    wayland_handle.surface = gdk3wayland::ffi::gdk_wayland_window_get_wl_surface(
                        self.window
                            .downcast_ref::<gdk3wayland::WaylandWindow>()
                            .unwrap()
                            .to_glib_none()
                            .0,
                    );
                    wayland_handle.display = gdk3wayland::ffi::gdk_way


flags ? flags->ToString() : "<null>");
        }
    };
    char flags[] = "";
    codec::StringRef flags_ref(flags);
    codec::StringRef name("The Lord of the Rings");
    codec::StringRef pattern("The Lord .f the Rings");

    check_null(false, true, nullptr, &pattern, &flags_ref);
    check_null(false, true, &name, nullptr, &flags_ref);
    check_null(false, true, nullptr, nullptr, &flags_ref);

    check_null(false, true, nullptr, &pattern, nullptr);
    check_null(false, true, &name, nullptr, nullptr);
    check_null(false, true, nullptr, nullptr, nullptr);
    check_null(false, true, &name, &pattern, nullptr);

    check_null(true, false, &name, &pattern, &flags_ref);
}

TEST_F(ExternUdfTest, Replace) {
    auto check = [](bool is_null, StringRef expect, StringRef str, StringRef search, StringRef replace) {
        StringRef out;
        bool out_null = false;
        auto expr_str = absl::Substitute("replace($0, $1, $2) != $3", str.DebugString(), search.DebugString(),
                                         replace.DebugString(), expect.DebugString());
        v1::replace(&str, &search, &replace, &out, &out_null);
        EXPECT_EQ(is_null, out_null) << expr_str;
        if (!is_null) {
            EXPECT_EQ(expect, out) << expr_str;
        }
    };

    // replace one
    check(false, "ABCDEF", "ABCabc", "abc", "DEF");
    // replace nothing
    check(false, "ABCabc", "ABCabc", "def", "DEF");
    // replace multiple chars
    check(false, "AABACA", "AaBaCa", "a", "A");
    // replace multiple words
    check(false, "Hello Bob Hi Bob Be", "Hello Ben Hi Ben Be", "Ben", "Bob");

    // empty replace removes the search
    // replace one
    check(false, "ABC", "ABCabc", "abc", "");
    // replace nothing
    check(false, "ABCabc", "ABCabc", "def", "");
    // replace multiple chars
    check(false, "ABC", "AaBaCa", "a", "");
    // replace multiple words
    check(false, "Hello  Hi  Be", "Hello Ben Hi Ben Be", "Ben", "");
}

TEST_F(ExternUdfTest, ReplaceWithoutReplaceStr) {
    auto check = [](bool is_null, StringRef expect, StringRef str, StringRef search) {
        StringRef out;
        bool out_null = false;
        auto expr_str =
            absl::Substitute("replace($0, $1) != $2", str.DebugString(), search.DebugString(), expect.DebugString());
        v1::replace(&str, &search, &out, &out_null);
        EXPECT_EQ(is_null, out_null) << expr_str;
        if (!is_null) {
            EXPECT_EQ(expect, out) << expr_str;
        }
    };

    // replace one
    check(false, "ABC", "ABCabc", "abc");
    // replace nothing
    check(false, "ABCabc", "ABCabc", "def");
    // replace multiple chars
    check(false, "ABC", "AaBaCa", "a");
    // replace multiple words
    check(false, "Hello  Hi  Be", "Hello Ben Hi Ben Be", "Ben");
}

TEST_F(ExternUdfTest, ReplaceNullable) {
    auto debug_str = [](StringRef* ref) -> std::string { return ref == nullptr ? "NULL" : ref->DebugString(); };
    auto check3 = [&debug_str](bool is_null, StringRef expect, StringRef* str, StringRef* search, StringRef* replace) {
        StringRef out;


target)
    : Number(target) === target;

  // Number(num) === num;
export const isString = (target: any) : target is string =>
    typeof target === STRING;

/*
export const pick = <T, K extends keyof T, F>(
    object: T,
    keys: Array<K>,
    filter:(key: K, val:T[K]) => F|T[K] =  (_key, val) => val
  // ): Pick<T, K> | undefined =>{
  ): Record<K, F|T[K]> | undefined =>{
// export const pick = <T, K extends keyof T, F>(object: T, keys: Array<K>, filter?:(key: K, val:T[K]) => F): Pick<T, K>|Record<K, F> | undefined =>{
  const obj:Record<K, F|T[K]>|any = {};
  const fail = keys.some(key => {
    let val:T[K]|F = object[key] ;
    if( isUndeclared(val) ) return true;
    val = filter? filter(key, val) as F : val;
    if( isUndeclared(val) ) return true;
    obj[key] = val;
  })

  if(fail) return undefined;

  return obj;
}
*/

// export const isInteger = ( num:any ):boolean =>
//   isNumber(num) && num % 1 === 0;
export const isFloat = ( num:any ):boolean =>
  isNumberForm(num) && Number(num) % 1 !== 0;

export const numberWithHyphen =(val:string | undefined,def=''):string=>{
  if(!val) return def;
  return val.replace(OTHER_THEN_NUMBER,'').replace(WITH_HYPHEN,'$1-$2-$3').replace("--", "-");
}

export const priceCreate =(val:string | undefined,def=0):number=>{
  if(!val) return def;
  const parseVal:number =parseInt(val.replace(OTHER_THEN_NUMBER,''));
  if(val.length>1&&parseInt(val.slice(0,1))<1){
    return parseInt(val.slice(1));
  }
  return isNaN(parseVal)?0:parseVal;

}

type PadTextProps = {
  text: string,
  start?: 'left'|'right',
  padChar?: string,
  excludeLength: number
}
export const hideTextExclude = ({
  text,
  start='left',
  padChar='_',
  excludeLength
}:PadTextProps):string => {

  if(start === 'left'){
    const lastNthText = text.substring(0, excludeLength);
    return lastNthText.padEnd( Math.max(excludeLength, text.length) , padChar);
  }else{
    const startNthText = text.slice(-excludeLength);
    return startNthText.padStart( Math.max(excludeLength, text.length), padChar);
  }

}

export const parseDate = (date:string|Date): Date|undefined =>{
  if(typeof date == 'string'){
    const nums:any = date.split(/\D/);
    return new Date( nums[0]*1, nums[1]-1, nums[2]*1, nums[3]*1, nums[4]*1, nums[5]*1 )
  }else if( date instanceof Date){
    return date
  }else{
    return undefined;
  }
}

type TimeOrDateOption = {
  timeSeparator?: string,
  dateSeparator?: string
}
export const timeOrDate = (milliseconds:string|number, opt:TimeOrDateOption={}):


void f() {
  foo(a: 0);
}
""");
    // No exceptions.
  }

  test_isReferencedBy_ParameterElement_ofConstructor_super_named() async {
    await _indexTestUnit('''
class A {
  A({required int a});
}
class B extends A {
  B({required super.a}); // ref
}
''');
    var element = findElement2.unnamedConstructor('A').parameter('a');
    assertElementIndexText(element, r'''
75 5:21 |a| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_ofConstructor_super_positional() async {
    await _indexTestUnit('''
class A {
  A(int a);
}
class B extends A {
  B(super.a); // ref
}
''');
    var element = findElement2.unnamedConstructor('A').parameter('a');
    assertElementIndexText(element, r'''
54 5:11 |a| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_optionalNamed_ofConstructor_genericClass() async {
    await _indexTestUnit('''
class A<T> {
  A({T? test});
}

void f() {
  A(test: 0);
}
''');
    var element = findElement2.parameter('test');
    assertElementIndexText(element, r'''
47 6:5 |test| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_optionalNamed_ofMethod_genericClass() async {
    await _indexTestUnit('''
class A<T> {
  void foo({T? test}) {}
}

void f(A<int> a) {
  a.foo(test: 0);
}
''');
    var element = findElement2.parameter('test');
    assertElementIndexText(element, r'''
68 6:9 |test| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_optionalNamed_ofTopFunction() async {
    await _indexTestUnit('''
void foo({int? test}) {}

void() {
  foo(test: 0);
}
''');
    var element = findElement2.parameter('test');
    assertElementIndexText(element, r'''
41 4:7 |test| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_optionalNamed_ofTopFunction_anywhere() async {
    await _indexTestUnit('''
void foo(int a, int b, {int? test}) {}

void() {
  foo(1, test: 0, 2);
}
''');
    var element = findElement2.parameter('test');
    assertElementIndexText(element, r'''
58 4:10 |test| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_optionalPositional() async {
    await _indexTestUnit('''
foo([p]) {
  p; // 1
}
void f() {
  foo(1); // 2
}
''');
    var element = findElement2.parameter('p');
    assertElementIndexText(element, r'''
40 5:7 || IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_ParameterElement_requiredNamed_ofTopFunction() async {
    await _indexTestUnit('''
void foo({required int test}) {}

void() {
  foo(test: 0);
}
''');
    var element = findElement2.parameter('test');
    assertElementIndexText(element, r'''
49 4:7 |test| IS_REFERENCED_BY qualified
''');
  }

  test_isReferencedBy_PropertyAccessor_ofNamedExtension_instance()


from collections.abc import Sequence
from datetime import datetime
from decimal import Decimal

from pydantic import BaseModel, Field

from tronv.driven.pydantic.models import Address
from tronv.driven.sqlalchemy.models import AddressViewLog

class AddressViewLogSchema(BaseModel):
    address: str = Field(alias="address")
    trx_balance: Decimal | None = Field(alias="trxBalance")
    bandwidth: int | None = Field(alias="bandwidth")
    energy: int | None = Field(alias="energy")
    viewing_time: datetime | None = Field(alias="viewingTime")

    @classmethod
    def of(cls, log: AddressViewLog) -> "AddressViewLogSchema":
        return AddressViewLogSchema(
            address=log.address_text,
            trxBalance=log.trx_balance,
            bandwidth=log.bandwidth,
            energy=log.energy,
            viewingTime=log.viewing_time,
        )

class AddressViewLogsSchema(BaseModel):
    logs: list[AddressViewLogSchema] = Field(alias="logs")

    @classmethod
    def of(
        cls, logs: Sequence[AddressViewLog]
    ) -> "AddressViewLogsSchema":
        return AddressViewLogsSchema(
            logs=list(map(AddressViewLogSchema.of, logs)),
        )

class AddressSchema(BaseModel):
    address: str = Field(alias="address")
    trx_balance: Decimal = Field(alias="trxBalance")
    bandwidth: int = Field(alias="bandwidth")
    energy: int = Field(alias="energy")

    @classmethod
    def of(cls, address: Address) -> "AddressSchema":
        return AddressSchema(
            address=address.text,
            bandwidth=address.bandwidth,
            energy=address.energy,
            trxBalance=address.trx_balance,
        )


aCVf8Xglb\/GIJX\/xmCWP8agUb\/G4FH\/xyBg\/8dgYH\/HoGE\/x+BSP8ggZf\/IYJg\/yKCYf8jgmL\/JIJj\/yWCZP8mgmX\/J4Jm\/yiCZ\/8pgmj\/KoJp\/yuCav8sgmv\/LYJs\/y6Cbf8vgm7\/MIJv\/zGCcP8ygnH\/M4Jy\/zSCc\/81gnT\/NoJ1\/zeCdv84gnf\/OYJ4\/zqCef87gW3\/PIFf\/z2Bbv8+gU\/\/P4FR\/0CBTf9BgoH\/QoKC\/0OCg\/9EgoT\/RYKF\/0aChv9Hgof\/SIKI\/0mCif9Kgor\/S4KL\/0yCjP9Ngo3\/ToKO\/0+Cj\/9QgpD\/UYKR\/1KCkv9TgpP\/VIKU\/1WClf9Wgpb\/V4KX\/1iCmP9Zgpn\/WoKa\/1uBb\/9cgWL\/XYFw\/2EAof9iAKL\/YwCj\/2QApP9lAKX\/ZgCm\/2cAp\/9oAKj\/aQCp\/2oAqv9rAKv\/bACs\/20Arf9uAK7\/bwCv\/3AAsP9xALH\/cgCy\/3MAs\/90ALT\/dQC1\/3YAtv93ALf\/eAC4\/3kAuf96ALr\/ewC7\/3wAvP99AL3\/fgC+\/38Av\/+AAMD\/gQDB\/4IAwv+DAMP\/hADE\/4UAxf+GAMb\/hwDH\/4gAyP+JAMn\/igDK\/4sAy\/+MAMz\/jQDN\/44Azv+PAM\/\/kADQ\/5EA0f+SANL\/kwDT\/5QA1P+VANX\/lgDW\/5cA1\/+YANj\/mQDZ\/5oA2v+bANv\/nADc\/50A3f+eAN7\/nwDf\/+OBUP\/lgY8=',
    7070
  );
  qrcode.stringToBytes = qrcode.stringToBytesFuncs['SJIS'];

}(qrcode);
// CodeMirror, copyright (c) by Marijn Haverbeke and others
// Distributed under an MIT license: http://codemirror.net/LICENSE

(function() {
  var mode = CodeMirror.getMode({tabSize: 4}, "stex");
  function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }

  MT("word",
     "foo");

  MT("twoWords",
     "foo bar");

  MT("beginEndDocument",
     "[tag \\begin][bracket {][atom document][bracket }]",
     "[tag \\end][bracket {][atom document][bracket }]");

  MT("beginEndEquation",
     "[tag \\begin][bracket {][atom equation][bracket }]",
     "  E=mc^2",
     "[tag \\end][bracket {][atom equation][bracket }]");

  MT


 allocate(self) -> Option<NonNull<c_void>> {
        cache::allocate(self).map(|x| x.convert_to_non_null())
    }

    /// Marks an object returned by `allocate` as ready for reuse.
    #[requires(debug_allocation_map::mark_released(self, &block).is_ok(),
               "Released blocks must match the class and not double-free.")]
    #[requires(debug_type_map::ptr_is_class(self, &block).is_ok(),
               "Released blocks come from an address of the correct class.")]
    #[inline(always)]
    pub fn release(self, block: NonNull<c_void>) {
        cache::release(self, LinearRef::new(block));
    }
}

impl ClassInfo {
    /// The `cache` calls into this slow path when its thread-local
    /// storage is being deinitialised.
    #[ensures(ret.is_some() ->
              debug_allocation_map::can_be_allocated(self.id, ret.as_ref().unwrap().get()).is_ok(),
              "Successful allocations are fresh, or match the class and avoid double-allocation.")]
    #[ensures(ret.is_some() ->
              debug_type_map::is_class(self.id, ret.as_ref().unwrap()).is_ok(),
              "Successful allocations come from an address of the correct class.")]
    #[ensures(ret.is_some() ->
              press::check_allocation(self.id, ret.as_ref().unwrap().get().as_ptr() as usize).is_ok(),
              "Sucessful allocations must have the allocation metadata set correctly.")]
    #[inline(never)]
    pub(crate) fn allocate_slow(&self) -> Option<LinearRef> {
        let mut empty_cache = LocalMagazineCache::Nothing;
        if let Some(mut mag) = self.get_cached_magazine(&mut empty_cache) {
            let allocated = mag.get();
            assert!(allocated.is_some());

            self.release_magazine(mag, None);
            allocated
        } else {
            // We can assume the press always allocates zero-filled
            // objects: we require that the underlying mapper only
            // give us zero-filled memory.
            self.press.allocate_one_object()
        }
    }

    /// The `cache` calls into this slow path when its thread-local
    /// storage is being deinitialised.
    #[requires(debug_allocation_map::has_been_released(self.id, block.get()).is_ok(),
               "Slow-released blocks went through `Class::release`.")]
    #[requires(debug_type_map::is_class(self.id, &block).is_ok(),
               "Released blocks come from an address of the correct class.")]
    #[requires(press::check_allocation(self.id, block.get().as_ptr() as usize).is_ok(),
               "Deallocated block must have the allocation metadata set correctly.")]
    #[inline(never)]
    pub(crate) fn release_slow(&self, block: LinearRef) {
        let mut empty_cache = LocalMagazineCache::Nothing;
        let mut mag = self.allocate_non_full_magazine(&mut empty_cache);

        // Deallocation must succeed.
        assert_eq!(mag.put(block), None);
        self.release_magazine(mag, None);
    }
}
<filename>src/tftp/util.rs
use std::io::{IoResult, IoError, InvalidInput};
use std::io::net::udp::UdpSocket;
use std::io::net::


        document.body.ondragover = this.dragOver;
        document.body.ondrop = this.drop;

        this.screenX = ev.screenX;
        this.screenY = ev.screenY;

        console.log(`start: ${this.arrow.id} ${this.arrow.offsetLeft} ${this.arrow.offsetTop} `);
    }

    dragEnd = (ev: DragEvent)=>{
        document.body.ondragover = null;
        document.body.ondrop = null;

        if(isNaN(this.screenX)){
            return;
        }

        let dx = ev.screenX - this.screenX;
        let dy = ev.screenY - this.screenY;

        console.log(`end : ${this.arrow.offsetLeft} ${this.arrow.offsetTop} `);

        this.divChart.style.width  = `${Math.max(300, this.divChart.offsetWidth  + dx)}px`;
        this.divChart.style.height = `${Math.max(300, this.divChart.offsetHeight + dy)}px`;

        setTimeout(()=>{
            console.log("start draw Chart");
            this.drawChart();
            console.log("end   draw Chart");
        },100);

        this.screenX = this.screenY = this.downW = this.downH = NaN;
    }

    dragOver = (ev: DragEvent)=>{
        // console.log(`over : ${ev.screenX - this.screenX} ${ev.screenY - this.screenY} `);
        ev.preventDefault();
        // Set the dropEffect to move
        ev.dataTransfer!.dropEffect = "move"
    }

    drop = (ev: DragEvent)=>{
        ev.preventDefault();
        console.log("dropped");
    }

    drawChart(){}

    getSelection() : string[] {
        let i = charts.indexOf(this);
        console.assert(i != 0);
        return charts[i - 1].getSelection();
    }

    static makeChart(){
        let chart: MyChart;

        let titles = Array.from(addChartSel.selectedOptions).map(x => x.innerText);

        switch(MyChart.type){
        case ChartType.Scatter:
            chart = new ScatterChart(titles);
            chart.drawChart();
            break;

        case ChartType.Bar:
            chart = new BarChart(titles);
            chart.drawChart();
            break;

        case ChartType.Line:
            if(titles.length != 1){
                return;
            }
            chart = new LineChart(titles);

            chart.drawChart();
            break;
        }
    }
}

class BarChart extends MyChart {
    constructor(titles: string[]){
        super(titles);
    }

    drawChart(){
        let df = selectData(直近集計, this.getSelection(), this.titles);

        let iname = df.columnIdx('会社名');
        let icols = this.titles.map(title => df.columnIdx(title));

        let traces = [];
        for(let idx of range(df.count())){

            let name = df.arrays[iname][idx];
            let values = icols.map(icol => df.arrays[icol][idx]);

            let trace = {
                x: this.titles,
                y: values,
                name: name,
                type: 'bar'
              };

            traces.push(trace);
        }

        var layout = {
            barmode: 'group',
            title: this.titles.join(', '),
            margin: chartMargin,
            xaxis:{ automargin: true },
            yaxis:{ automargin: true },
         };

        Plotly.newPlot(this.divChart, traces, layout, {
            displaylogo: false,
            modeBarButtons: [[]]
        });
    }
}

class LineChart extends MyChart {
    constructor(titles: string[]){
        super(titles);
    }

    drawChart(){
        let selection = this.getSelection


using EmmySharp;
using MoonSharp.Interpreter;

namespace ArcCreate.Gameplay.Scenecontrol
{
    [MoonSharpUserData]
    [EmmyAlias("Channel")]
    [EmmyDoc("Class for creating different channels")]
    [EmmySingleton]
    public class ValueChannelBuilder
    {
        [EmmyDoc("Create a keyframe channel")]
        public static KeyChannel Keyframe() => new KeyChannel();

        [EmmyDoc("Create a fast fourier transform channel that reacts to the system's audio")]
        [EmmyAlias("FFT")]
        public static FFTChannel FFT(int freqBandMin, int freqBandMax, float min, float max, float smoothness, float scalar)
            => new FFTChannel(freqBandMin, freqBandMax, min, max, smoothness, scalar);

        [EmmyDoc("Create a channel that clamp between values")]
        public static ClampChannel Clamp(ValueChannel a, ValueChannel b, ValueChannel c)
            => new ClampChannel(a, b, c);

        [EmmyDoc("Create a conditional channel")]
        public static ConditionalChannel Condition(ValueChannel control, ValueChannel threshold, ValueChannel ifAbove, ValueChannel ifEqual, ValueChannel ifBelow)
            => new ConditionalChannel(control, threshold, ifAbove, ifEqual, ifBelow);

        [EmmyDoc("Create a constant channel")]
        public static ConstantChannel Constant(float val)
            => new ConstantChannel(val);

        [EmmyDoc("Create a periodic cosine channel")]
        public static CosChannel Cos(ValueChannel period, ValueChannel min, ValueChannel max, ValueChannel offset)
            => new CosChannel(period, min, max, offset);

        [EmmyDoc("Create an exponential channel")]
        public static ExpChannel Exp(ValueChannel num, ValueChannel exp)
            => new ExpChannel(num, exp);

        [EmmyDoc("Create a channel that chooses max value between two channels")]
        public static MaxChannel Max(ValueChannel a, ValueChannel b)
            => new MaxChannel(a, b);

        [EmmyDoc("Create a channel that chooses min value between two channels")]
        public static MinChannel Min(ValueChannel a, ValueChannel b)
            => new MinChannel(a, b);

        [EmmyDoc("Create a perlin noise channel")]
        public static NoiseChannel Noise


     "hcl:#cfa07d eyr:2025 pid:166559648",
            "iyr:2011 ecl:brn hgt:59in",
        ];
        assert_eq!(
            Passport::from_batch(input),
            Err("Missing required field in input")
        );
    }
}
<reponame>ArekPiekarz/rusty-git-gui<gh_stars>1-10
use crate::common::file_changes_view_utils::makeFileChange;
use crate::common::gui_assertions::{
    assertDiffViewContains,
    assertStagedChangesViewContains,
    assertStagedChangesViewIsEmpty,
    assertUnstagedChangesViewContains};
use crate::common::gui_interactions::{activateUnstagedChangeInRow, selectStagedChangeInRow};
use crate::common::repository_assertions::{assertRepositoryHasNoCommits, assertRepositoryStatusIs};
use crate::common::repository_status_utils::{
    FileChangeStatus::*,
    IndexStatus,
    RepositoryStatusEntry as Entry,
    WorkTreeStatus};
use crate::common::setup::{makeGui, makeNewUnstagedFile, setupTest};

use rusty_fork::rusty_fork_test;
use std::path::PathBuf;

rusty_fork_test! {
#[test]
fn stageOneOfTwoNewFiles()
{
    let repositoryDir = setupTest();
    let repositoryDir = repositoryDir.path().to_owned();
    let filePath1 = PathBuf::from("fileName1");
    let filePath2 = PathBuf::from("fileName2");
    makeNewUnstagedFile(&filePath1, "file content 1\n", &repositoryDir);
    makeNewUnstagedFile(&filePath2, "file content 2\n", &repositoryDir);

    let gui = makeGui(&repositoryDir);

    assertRepositoryStatusIs(
        &[Entry::new(&filePath1, WorkTreeStatus(Untracked), IndexStatus(Untracked)),
          Entry::new(&filePath2, WorkTreeStatus(Untracked), IndexStatus(Untracked))],
        &repositoryDir);
    assertRepositoryHasNoCommits(&repositoryDir);
    assertUnstagedChangesViewContains(
        &[makeFileChange("New", &filePath1),
          makeFileChange("New", &filePath2)],
        &gui);
    assertStagedChangesViewIsEmpty(&gui);
    assertDiffViewContains("@@ -0,0 +1 @@\n+file content 1\n", &gui);

    activateUnstagedChangeInRow(0, &gui);

    assertRepositoryStatusIs(
        &[Entry::new(&filePath1, WorkTreeStatus(Unmodified), IndexStatus(Added)),
          Entry::new(&filePath2, WorkTreeStatus(Untracked),  IndexStatus(Untracked))],
        &repositoryDir);
    assertRepositoryHasNoCommits(&repositoryDir);
    assertUnstagedChangesViewContains(&[makeFileChange("New", &filePath2)], &gui);
    assertStagedChangesViewContains(&[makeFileChange("New", &filePath1)], &gui);
    assertDiffViewContains("@@ -0,0 +1 @@\n+file content 2\n", &gui);

    selectStagedChangeInRow(0, &gui);
    assertDiffViewContains("@@ -0,0 +1 @@\n+file content 1\n", &gui);
}
}
vec![
[5.227792433014884, 59.468030338041025],
[5.23044532188834, 59.45613831272054],
[5.2384039885087095, 59.432354262079556],
[5.249015544002534, 59.432354262079556],
[5.48777554261359, 58.75186614651813],
[5.503692875854327, 58.743938129637804],
[5.


, v1.Container{Name: containerName})
//	}
//	pod := podWithUIDNameNs("uid1", "foo", "test")
//	pod.Spec = v1.PodSpec{
//		Containers: specContainerList,
//	}
//
//	status := &kubecontainer.PodStatus{
//		ID:                pod.UID,
//		Name:              pod.Name,
//		Namespace:         pod.Namespace,
//		ContainerStatuses: cStatuses,
//	}
//	for i := 0; i < 5; i++ {
//		apiStatus := kubelet.generateAPIPodStatus(pod, status)
//		for i, c := range apiStatus.ContainerStatuses {
//			if expectedOrder[i] != c.Name {
//				t.Fatalf("Container status not sorted, expected %v at index %d, but found %v", expectedOrder[i], i, c.Name)
//			}
//		}
//	}
//}

func verifyContainerStatuses(t *testing.T, statuses []v1.ContainerStatus, state, lastTerminationState map[string]v1.ContainerState, message string) {
	for _, s := range statuses {
		assert.Equal(t, s.State, state[s.Name], "%s: state", message)
		assert.Equal(t, s.LastTerminationState, lastTerminationState[s.Name], "%s: last terminated state", message)
	}
}

// Test generateAPIPodStatus with different reason cache and old api pod status.
//func TestGenerateAPIPodStatusWithReasonCache(t *testing.T) {
//	// The following waiting reason and message  are generated in convertStatusToAPIStatus()
//	startWaitingReason := "ContainerCreating"
//	initWaitingReason := "PodInitializing"
//	testTimestamp := time.Unix(123456789, 987654321)
//	testErrorReason := fmt.Errorf("test-error")
//	emptyContainerID := (&kubecontainer.ContainerID{}).String()
//	testKubelet := newTestKubelet(t, false /* controllerAttachDetachEnabled */)
//	defer testKubelet.Cleanup()
//	kubelet := testKubelet.kubelet
//	pod := podWithUIDNameNs("12345678", "foo", "new")
//	pod.Spec = v1.PodSpec{RestartPolicy: v1.RestartPolicyOnFailure}
//
//	podStatus := &kubecontainer.PodStatus{
//		ID:        pod.UID,
//		Name:      pod.Name,
//		Namespace: pod.Namespace,
//	}
//	tests := []struct {
//		containers    []v1.Container
//		statuses      []*kubecontainer.ContainerStatus
//		reasons       map[string]error
//		oldStatuses   []v1.ContainerStatus
//		expectedState map[string]v1.ContainerState
//		// Only set expectedInitState when it is different from expectedState
//		expectedInitState            map[string]v1.ContainerState
//		expectedLastTerminationState map[string]v1.ContainerState
//	}{
//		// For container with no historical record, State should be Waiting, LastTerminationState should be retrieved from
//		// old status from apiserver.
//		{
//			containers: []v1.Container{{Name: "without-old-record"}, {Name: "with-old-record"}},
//			statuses:   []*kubecontainer.ContainerStatus{},
//			reasons:    map[string]error{},
//			oldStatuses: []v1.ContainerStatus{{
//				Name:                 "with-old-record",
//				LastTerminationState: v1.ContainerState{Terminated: &v


([]MetricPoint, 0, points)
	adminBroadcastStats := make([]MetricPoint, 0, points)

	for i := 0; i < points; i++ {
		timestamp := startTime.Add(time.Duration(i) * time.Duration(actualInterval) * time.Minute)

		// Generate realistic sample data
		basePlayerCount := 40 + int(20*sin(float64(i)*0.1)) // Simulate player fluctuation
		playerCount = append(playerCount, MetricPoint{
			Timestamp: timestamp,
			Value:     basePlayerCount + randomInt(-5, 5),
		})

		tickRate = append(tickRate, MetricPoint{
			Timestamp: timestamp,
			Value:     45.0 + randomFloat(-10, 10), // TPS around 45
		})

		// Rounds (fewer data points)
		if i%120 == 0 { // Every 2 hours
			rounds = append(rounds, MetricPoint{
				Timestamp: timestamp,
				Value:     1, // One round completed
			})
		}

		// Maps (when rounds change)
		if i%120 == 0 {
			mapNames := []string{"Tallil", "Yehorivka", "Gorodok", "Kohat", "Sumari", "Logar"}
			maps = append(maps, MetricPoint{
				Timestamp: timestamp,
				Value:     mapNames[i/120%len(mapNames)],
			})
		}

		// Chat activity (messages per interval) - more realistic
		chatValue := 0
		if randomInt(0, 100) < 70 { // 70% chance of having chat messages
			chatValue = randomInt(1, 8)
		}
		chatActivity = append(chatActivity, MetricPoint{
			Timestamp: timestamp,
			Value:     chatValue,
		})

		// Connection stats (connection activity: connects + disconnects per interval)
		connectionValue := 0
		if randomInt(0, 100) < 40 { // 40% chance of connection activity in any given interval
			connectionValue = randomInt(1, 4) // Include both connects and disconnects
		}
		connectionStats = append(connectionStats, MetricPoint{
			Timestamp: timestamp,
			Value:     connectionValue,
		})

		// Teamkill stats (teamkills per interval) - should be rare
		teamkillValue := 0
		if randomInt(0, 100) < 10 { // Only 10% chance of teamkills
			teamkillValue = 1
		}
		teamkillStats = append(teamkillStats, MetricPoint{
			Timestamp: timestamp,
			Value:     teamkillValue,
		})

		// Player wounded stats (wounded per interval)
		woundedValue := 0
		if randomInt(0, 100) < 60 { // 60% chance of wounded events
			woundedValue = randomInt(1, 8)
		}
		playerWoundedStats = append(playerWoundedStats, MetricPoint{
			Timestamp: timestamp,
			Value:     woundedValue,
		})

		// Player revived stats (revived per interval)
		revivedValue := 0
		if randomInt(0, 100) < 50 { // 50% chance of revived events
			revivedValue = randomInt(1, 6)
		}
		playerRevivedStats = append(playerRevivedStats, MetricPoint{
			Timestamp: timestamp,
			Value:     revivedValue,
		})

		// Player possess stats (possessions per interval)
		possessValue := 0
		if randomInt(0, 100) < 30 { // 30% chance of possess events
			possessValue = randomInt(1, 4)
		}
		playerPossessStats = append(playerPossessStats, MetricPoint{
			Timestamp: timestamp,
			Value:     possessValue,
		})

		// Player died stats (deaths per interval)
		diedValue := 0
		if randomInt(0, 100) < 80 { // 80% chance of death events
			diedValue = randomInt(1, 10)
		}
		playerDiedStats = append(playerDiedStats, MetricPoint{
			Timestamp: timestamp,
			Value:     diedValue,
		})

		// Player damaged stats (damage events per interval)
		damagedValue := 0
		if randomInt(0, 100) <


 "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "下雪"
	},
	["SNOWLIGHT"] = {
		["en"] = "Snowlight",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "小雪"
	},
	["BLIZZARD"] = {
		["en"] = "Blizzard",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "暴风雪"
	},
	["HALLOWEEN"] = {
		["en"] = "Halloween",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "万圣节"
	},
	["NEUTRAL"] = {
		["en"] = "Neutral",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "舒适"
	},

	-- TimeSubMenu
	["TimeSubMenu-Subtitle"] = {
		["en"] = "Time Options",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "时间设置"
	},
	["Hours"] = {
		["en"] = "Hours",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "小时"
	},
	["Minutes"] = {
		["en"] = "Minutes",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "分钟"
	},
	["Seconds"] = {
		["en"] = "Seconds",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",
		["br"] = "",
		["pl"] = "",
		["ru"] = "",
		["ko"] = "",
		["zh"] = "",
		["jp"] = "",
		["mx"] = "",
		["cn"] = "秒数"
	},
	["Lock"] = {
		["en"] = "Lock Time",
		["fr"] = "",
		["de"] = "",
		["it"] = "",
		["es"] = "",


09             	mov    (%rcx),%rcx
 8069fcb:	48 ba 18 00 00 00 00 	movabs $0x18,%rdx
 8069fd2:	00 00 00
 8069fd5:	48 01 d1             	add    %rdx,%rcx
 8069fd8:	8b 11                	mov    (%rcx),%edx
 8069fda:	48 63 d2             	movslq %edx,%rdx
 8069fdd:	48 89 d1             	mov    %rdx,%rcx
 8069fe0:	48 8b 55 b8          	mov    -0x48(%rbp),%rdx
 8069fe4:	48 21 d1             	and    %rdx,%rcx
 8069fe7:	48 89 ca             	mov    %rcx,%rdx
 8069fea:	8b 4d cc             	mov    -0x34(%rbp),%ecx
 8069fed:	48 d3 e2             	shl    %cl,%rdx
 8069ff0:	0f bf 08             	movswl (%rax),%ecx
 8069ff3:	48 63 c9             	movslq %ecx,%rcx
 8069ff6:	48 89 45 90          	mov    %rax,-0x70(%rbp)
 8069ffa:	48 89 c8             	mov    %rcx,%rax
 8069ffd:	48 89 d1             	mov    %rdx,%rcx
 806a000:	48 09 c8             	or     %rcx,%rax
 806a003:	48 89 c1             	mov    %rax,%rcx
 806a006:	48 c1 e1 10          	shl    $0x10,%rcx
 806a00a:	48 89 c8             	mov    %rcx,%rax
 806a00d:	48 c1 f8 10          	sar    $0x10,%rax
 806a011:	48 8b 4d 90          	mov    -0x70(%rbp),%rcx
 806a015:	66 89 01             	mov    %ax,(%rcx)
 806a018:	e9 8d 01 00 00       	jmpq   806a1aa <init_putv+0x59c>
 806a01d:	e9 09 00 00 00       	jmpq   806a02b <init_putv+0x41d>
 806a022:	83 f8 09             	cmp    $0x9,%eax
 806a025:	0f 85 2d 00 00 00    	jne    806a058 <init_putv+0x44a>
 806a02b:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
 806a02f:	48 8b 0d ea 3e 02 00 	mov    0x23eea(%rip),%rcx        # 808df20 <_GLOBAL_OFFSET_TABLE_+0x2a0>
 806a036:	48 8b 09             	mov    (%rcx),%rcx
 806a039:	48 ba 18 00 00 00 00 	movabs $0x18,%rdx
 806a040:	00 00 00
 806a043:	48 01 d1             	add    %rdx,%rcx
 806a046:	f3 0f 7e 01          	movq   (%rcx),%xmm0
 806a04a:	66 0f d6 00          	movq   %xmm0,(%rax)
 806a04e:	e9 57 01 00 00       	jmpq   806a1aa <init_putv+0x59c>
 806a053:	e9 09 00 00 00       	jmpq   806a061 <init_putv+0x453>
 806a058:	83 f8 0a             	cmp    $0xa,%eax
 806a05b:	0f 85 2d 00 00 00    	jne    806a08e <init_putv+0x480>
 806a061:	48 8b 45 c0          	mov    -0x40


Сторонами (дата, указанная в преамбуле Договора).

Страница 7:
# 5.Kopija dogovoru ustupki │ 04-03-22 BD-Faktorius ot 04 marta 2022 goda (9 l.)

Действует до полного исполнения Сторонами своих обязательств по нему, если иное прямо не указано в настоящем Договоре. Пункты 16 и 24 настоящего Договора действуют в течение 3 (трех) лет с момента его подписания.

## РЕКВИЗИТЫ И ПОДПИСИ СТОРОН:

### Цессионарий:

**АО «Юридическое Бюро ФАКТОРИУС»**

- **Почтовый адрес**: 115093, город Москва, Партийный пер, д. 1, корп. 57, стр. 1, офис 313
- **Юридический адрес**: 115093, город Москва, Партийный пер, д. 1, корп. 57, стр. 1, офис 313
- **ИНН КПП**: 9725041272/772501001
- **ОГРН**: 1207700477390
- **ОКПО**: 46696998
- **Р/с**: 40702810438000223320
- **Филиал**: ПАО «СБЕРБАНК»
- **к/с**: 30101810400000000225
- **БИК**: 044525225

### Цедент:

**МФК Быстроденьги (ООО)**

- **Место нахождения**: 123290, Москва, тупик Магистральный 1-й, д. 11, стр. 10
- **Почтовый адрес**: 432071, г. Ульяновск, ул. К. Маркса, д. 1а, корп. 1
- **Тел/факс**: (8422) 67-77-99
- **ИНН**: 7325081622
- **КПП**: 771401001
- **ОГРН**: 1087325005899
- **р/с**: 40701810410310008965
- **Филиал**: «Центральный» Банка ВТБ (ПАО) в г. Москве
- **БИК**: 044525411
- **к/с**: 30101810145250000411
- **Е-mail**: ubaypo@odepat.ru

**А.В. Аверин**

Страница 8:
```markdown
# 5.Kopija dogovoru ustupki │ 04-03-22 BD-Faktorius ot 04 marta 2022 goda (9 l.)_compressed (1)

Приложение № 1
к договору уступки прав требования (цессии)

270120201 5-МСБ

“о То |4 РРРРРЕ

19.
“

18.03. 2000

142295.06

4000060 00 ]655 73770 [83 79900 454 62273 51535943 | ]

[15583 284.23]2667756.11_ [143508565 [98063554 | зоз75лмэда [608550 |
Г 10445 |
```

Страница 9:
# 5.Kopija dogovoru ustupki │ 04-03-22 BD-Faktorius ot 04 marta 2022 goda (9 l.)_compressed (1)

**Дата:** 14.03.2022

**Поступление в банк:**
Списано со счета платежа.
**Счет:** 0401060

## Платежное поручение �


1.87201,-1.712 -1.92015,-0.442 -1.6973,-1.342 -0.18185,-0.241 -0.0571,-0.07 -1.78287,-0.729 -0.98058,0.11 1.83101,-5.268 0.91639,0.479"},"42029":{"name":"Chester, PA","path":"m 874.67595,222.66114 0.98058,-0.11 1.78287,0.729 0.0571,0.07 0.18185,0.241 1.6973,1.342 1.92015,0.442 -2.9768,4.83908 0.0761,1.23379 -0.27807,0.1283 -0.26084,0.1396 -0.24395,0.1507 -0.22737,0.1615 -0.21114,0.1722 -0.1952,0.1826 -0.1797,0.1927 -0.1644,0.20271 -0.1495,0.21243 -0.135,0.22192 -0.1207,0.2312 -0.1068,0.24024 -0.0932,0.24906 -0.0799,0.25765 -0.067,0.26601 -0.0545,0.27415 -0.17142,0.0472 -5.9637,1.277 1.01089,-1.302 0.22642,-0.603 0.27456,-1.012 0.17472,-1.246 -0.22464,-0.617 -0.0874,-0.403 -0.0642,-0.587 0.45879,-2.32519 -0.34647,-1.37081 1.05368,-0.907 2.50671,-3.024"},"44003":{"name":"Kent, RI","path":"m 939.00829,173.4666 -0.15569,0.009 -0.13206,0.12285 -0.199,0.14648 -0.0573,0.4181 -0.19112,-0.0858 -0.24229,0.2134 -0.0652,0.33538 0.14348,0.29607 -5.05673,1.56128 -0.25495,-0.965 -0.4992,-1.897 5.43953,-1.606 0.0481,-0.03 0.12837,-0.29903 -0.0481,-0.14997 0.0826,-0.28302 0.19202,-0.0565 0.0367,-0.12461 0.0679,3.9e-4 0.22743,-0.16658 0.0243,-0.0728 0.25199,0.0986 0.0207,0.11495 0.0933,0.0724 0.0712,0.15024 0.11377,0.0315 -0.0464,0.0993 0.0816,0.19355 0.0177,0.13779 0.22572,0.10336 0.30589,-0.0621 0.0176,0.0486 -0.23348,0.17782 0.0949,0.42804 -0.0624,0.25097 0.0688,0.1607 -0.0231,0.19145 -0.27962,-0.11903 0.0194,-0.19122 -0.12883,-0.0152 -0.11071,-0.0109 -0.0761,-0.11922 -0.0862,0.0223 0.0263,0.14026 -0.66443,0.0658 0.13717,0.49663 0.10338,0.0497 0.24397,-0.12726 0.29475,0.0732 z"},"44007":{"name":"Providence, RI","path":"m 935.3898,165.81114 1.91912,-0.55872 0.18823,0.77572 0.54878,2.06945 0.66294,-0.32026 0.0296


gTextIDs, AF_BIGGRAY);
	UiDoomButtonsInit(window, sgBtnIDs, AF_BIG, FALSE);
	UiDoomButtonsInit(window, sgListIDs, AF_SMALL);

	// set the names into the fake listbox
	SelModemSetList(window, sgModemList);

	// set up the animating focus indicator
	SDlgSetTimer(window, FOCUS_TIMER_ID, FOCUS_TIMER_DELAY, NULL);

	// init the scroll bar
	SbarInit(window, IDC_SCROLLBAR);
	if (sgNumModems <= MAX_VISIBLE) {
		ShowWindow(GetDlgItem(window, IDC_SCROLLBAR), FALSE);
	}
}

//****************************************************************************
//****************************************************************************
static void SelModemAbort(HWND window, int ReturnVal) {
	UiSndPlayEnter();
	SDlgKillTimer(window, FOCUS_TIMER_ID);

	if (ReturnVal == IDOK) {
		// get the id of the selected device
		HWND focus = GetFocus();
		if (focus) {
			TPBMP tpBmp = (TPBMP) GetWindowLong(focus, GWL_USERDATA);
			if (tpBmp) {
				TPMODEM tpModem = (TPMODEM) tpBmp->userdata;
				if (tpModem) {
					sgDeviceID = tpModem->deviceid;
				}
			}
		}
	}

	SDlgEndDialog(window, ReturnVal);
}

//****************************************************************************
//****************************************************************************
static void SelModemInterpretClick(HWND window, int x, int y) {
	if (UiIsPtInWindow(window, GetDlgItem(window, IDC_FAKEOK), x, y)) {
		SelModemAbort(window, IDOK);
	}
	else if (UiIsPtInWindow(window,	GetDlgItem(window, IDC_FAKECANCEL), x, y)) {
		SelModemAbort(window, IDCANCEL);
	}
	else if (UiIsPtInWindow(window, GetDlgItem(window, IDC_SCROLLBAR), x, y)) {
		int SbarClick = SbarInterpretClick(GetDlgItem(window, IDC_SCROLLBAR), x, y);
		switch (SbarClick) {
			case DSB_UP:
				SelModemScrollUp(GetFocus());
			break;

			case DSB_DOWN:
				SelModemScrollDown(GetFocus());
			break;

			case DSB_PAGEUP:
				SelModemPageUp(GetFocus());
			break;

			case DSB_PAGEDOWN:
				SelModemPageDown(GetFocus());
			break;

			default:
			break;
		}
	}
}

//****************************************************************************
//****************************************************************************
static BOOL CALLBACK SelModemDialogProc(HWND window,
										UINT message,
										WPARAM wparam,
										LPARAM lparam) {
	switch (message) {

		case WM_COMMAND:
			if (HIWORD(wparam) == BN_KILLFOCUS) {
				FocusLost(window, (HWND) lparam);
			}
			else if (HIWORD(wparam) == BN_SETFOCUS) {
				FocusSnd((HWND) lparam);
				FocusAnimate(window, (HWND) lparam);
				SelModemUpdateSbar(window);
			}
			else if (HIWORD(wparam) == BN_DOUBLECLICKED) {
				SelModemAbort(window, IDOK);
			}
			else if (LOWORD(wparam) == IDOK) {
				SelModemAbort(window, IDOK);
			}
			else if (LOWORD(wparam) == IDCANCEL) {
				SelModemAbort(window, IDCANCEL);
			}
		break;

		case WM_LBUTTONDBLCLK:
		case WM_LBUTTONDOWN:
			SelModemInterpretClick(window, LOWORD(lparam), HIWORD(lparam));
		break;

		case WM_LBUTTONUP:
			if (Sbar


pe)
	{
		uvs.push_back(Float2(0.0f, 1.0f));
		uvs.push_back(Float2(1.0f, 1.0f));
		uvs.push_back(Float2(0.0f, 0.0f));
		uvs.push_back(Float2(1.0f, 0.0f));
	}

	if (TM_TEX == mTexMode)
	{
		/*_*/
	}
	else
	{
		if (mPackEle.IsValid())
		{
			float u0 = (float)mPackEle.X / (float)mPackEle.TexWidth;
			float u1 = (float)(mPackEle.X + mPackEle.W) / (float)mPackEle.TexWidth;
			float v0 = (float)(mPackEle.TexHeight - mPackEle.Y - mPackEle.H) / (float)mPackEle.TexHeight;
			float v1 = (float)(mPackEle.TexHeight - mPackEle.Y) / (float)mPackEle.TexHeight;

			if (PBT_NORMAL == mPicBoxType)
			{
				if (!mPackEle.Rolated)
				{
					uvs[0] = Float2(u0, v0);
					uvs[1] = Float2(u1, v0);
					uvs[2] = Float2(u0, v1);
					uvs[3] = Float2(u1, v1);
				}
				else
				{
					uvs[0] = Float2(u0, v1);
					uvs[1] = Float2(u0, v0);
					uvs[2] = Float2(u1, v1);
					uvs[3] = Float2(u1, v0);
				}
			}
			else if (PBT_NORAML_UVREVERSE == mPicBoxType)
			{
				uvs[0] = Float2(u0, v0);
				uvs[1] = Float2(u1, v0);
				uvs[2] = Float2(u0, v1);
				uvs[3] = Float2(u1, v1);
			}
			else
			{
				uvs[0] = Float2(u0, v0);
				uvs[1] = Float2(u1, v0);
				uvs[2] = Float2(u0, v1);
				uvs[3] = Float2(u1, v1);
			}
		}
	}

	UpdateVertexBuffer(elapsedTime, uvs);

	UpdateIndexBuffer();
}
//----------------------------------------------------------------------------
void UIPicBox::_Init()
{
	SetName("UIPicBox");
	SetRenderLayer(Renderable::RL_UI);

	SetPicBoxType(PBT_NORMAL);

	GetShine()->Emissive = Float4::WHITE;
}
//----------------------------------------------------------------------------
void UIPicBox::UpdateWorldData(double applicationTime, double elapsedTime)
{
	TriMesh::UpdateWorldData(applicationTime, elapsedTime);

	if (mIsBufferNeedUpdate)
	{
		UpdateBuffers(0.0f);

		mIsBufferNeedUpdate = false;
	}
}
//----------------------------------------------------------------------------
void UIPicBox::UpdateVertexBuffer(float elapsedTime,
	const std::vector<Float2> &uvs)
{
	PX2_UNUSED(elapsedTime);

	float anchorWidth = mAnchorPoint[0] * mSize.Width;
	float anchorHeight = mAnchorPoint[1] * mSize.Height;

	if (PBT_NORMAL == mPicBoxType ||
		PBT_NORAML_UVREVERSE == mPicBoxType)
	{
		VertexBufferAccessor vba(GetVertexFormat(), GetVertexBuffer());

		vba.Position<Float3>(0) = Float3(0.0f - anchorWidth, 0.0f, 0.0f - anchorHeight);
		vba.Position<Float3>(1) = Float3(mSize.Width - anchorWidth, 0.0f, 0.0f - anchorHeight);
		vba.Position<Float3>(2) = Float3(0.0f - anchorWidth, 0.0f, mSize.Height - anchorHeight);
		vba.Position<Float3>(3) = Float3(mSize.Width - anchorWidth, 0.0f, mSize.Height - anchorHeight);

		vba.TCoord<Float2>(0, 0) = uvs[0];
		vba.TCoord<Float2>(0, 1) = uvs[1];
		vba.TCoord<Float2>(0, 2) = uvs[2];
		vba.TCoord<Float2>(0, 3) = uvs


 , &m_mem );
		//	m_needsSave = true;
		//}
		// this lost my freakin data after i reduced tfndbMaxTreeMem
		// and was unable to load!!
		//if ( ! status ) {
		//log("Rdb::loadTree: could not load tree fast.Trying way 2.");
		//status =m_dump.load ( this , m_fixedDataSize , &file , m_pc);
		//	m_needsSave = true;
		//}
		file.close();
		if ( ! status && treeExists)
			return log("db: Could not load saved tree.");

	}
	else {
		if(!m_buckets.loadBuckets(m_dbname))
			return log("db: Could not load saved buckets.");
		int32_t numKeys = m_buckets.getNumKeys();

		// log("db: Loaded %"INT32" recs from %s's buckets on disk.",
		//     numKeys, m_dbname);

		if(!m_buckets.testAndRepair()) {
			log("db: unrepairable buckets, "
			    "remove and restart.");
			char *xx = NULL; *xx = 0;
		}

		if(treeExists) {
			m_buckets.addTree(&m_tree);
			if(m_buckets.getNumKeys() - numKeys > 0) {
				log("db: Imported %"INT32" recs from %s's tree to "
				    "buckets.",
				    m_buckets.getNumKeys()-numKeys, m_dbname);
			}
			if(g_conf.m_readOnlyMode) {
				m_buckets.setNeedsSave(false);
			}
			else {
				char newFilename[256];
				sprintf(newFilename,"%s-%"INT32".old",
					filename, (int32_t)getTime());
				bool usingThreads = g_conf.m_useThreads;
				g_conf.m_useThreads = false;
				file.rename(newFilename);
				g_conf.m_useThreads = usingThreads;
				m_tree.reset  ( );
			}
			file.close();

		}
	}
	return true;
}

static time_t s_lastTryTime = 0;

static void doneDumpingCollWrapper ( void *state ) ;

// . start dumping the tree
// . returns false and sets g_errno on error
bool Rdb::dumpTree ( int32_t niceness ) {
	if ( m_useTree ) {
		if (m_tree.getNumUsedNodes() <= 0 ) return true;
	}
	else if (m_buckets.getNumKeys() <= 0 ) return true;

	// never dump indexdb if we are the wikipedia cluster
	if ( g_conf.m_isWikipedia && m_rdbId == RDB_INDEXDB )
		return true;

	// never dump doledb any more. it's rdbtree only.
	if ( m_rdbId == RDB_DOLEDB )
		return true;

	// if we are in a quickpoll do not initiate dump.
	// we might have been called by handleRequest4 with a niceness of 0
	// which was niceness converted from 1
	if ( g_loop.m_inQuickPoll ) return true;

	// sanity checks
	if (   g_loop.m_inQuickPoll ) { char *xx=NULL;*xx=0; }

	// bail if already dumping
	//if ( m_dump.isDumping() ) return true;
	if ( m_inDumpLoop ) return true;

	// don't allow spiderdb and titledb to dump at same time
	// it seems to cause corruption in rdbmem for some reason
	// if ( m_rdbId == RDB_SPIDERDB && g_titledb.m_rdb.m_inDumpLoop )
	// 	return true;
	// if ( m_rdbId == RDB_TITLEDB && g_spiderdb.m_rdb.m_in


ther.bulletproof.plen]),
            other => other,
        }
    }
}

impl std::hash::Hash for Confidential {
    fn hash<H: Hasher>(&self, state: &mut H) { state.write(&self.commitment.0) }
}

// The normal notion of the equivalence operator is to compare the _value_
// behind any data structure. However, here we compare not the value we
// are committing to, but the commitment itself. This is different to the
// design of the original Bulletproof designers, but is appropriate for the
// goals of RGB project and client-side validation paradigm
impl PartialEq for Confidential {
    fn eq(&self, other: &Self) -> bool {
        let plen = self.bulletproof.plen;
        self.commitment.0.to_vec() == other.commitment.0.to_vec()
            && self.bulletproof.proof[..plen] == other.bulletproof.proof[..plen]
    }
}

pub enum HomomorphicBulletproofGrin {}

impl CommitmentProtocol for HomomorphicBulletproofGrin {
    const HASH_TAG_MIDSTATE: Option<Midstate> = None;
}

impl CommitVerify<Revealed, HomomorphicBulletproofGrin> for Confidential {
    fn commit(revealed: &Revealed) -> Self {
        let blinding = revealed.blinding.clone();
        let value = revealed.value;

        let commitment = SECP256K1_ZKP
            .commit(value, blinding.into())
            .expect("Internal inconsistency in Grin secp256k1zkp library Pedersen commitments");
        let bulletproof = SECP256K1_ZKP.bullet_proof(
            value,
            blinding.into(),
            blinding.into(),
            blinding.into(),
            None,
            None,
        );
        Confidential {
            commitment,
            bulletproof,
        }
    }
}

impl Eq for Confidential {}

impl Add<pedersen::Commitment> for Confidential {
    type Output = pedersen::Commitment;

    fn add(self, other: pedersen::Commitment) -> Self::Output {
        SECP256K1_ZKP
            .commit_sum(vec![self.commitment, other], vec![])
            .expect("Failed to add Pedersen commitments")
    }
}

impl Confidential {
    pub fn zero_pedersen_commitment() -> pedersen::Commitment {
        SECP256K1_ZKP
            .commit_value(0)
            .expect("Internal inconsistency in Grin secp256k1zkp library Pedersen commitments")
    }

    pub fn verify_bullet_proof(&self) -> Result<pedersen::ProofRange, secp256k1zkp::Error> {
        SECP256K1_ZKP.verify_bullet_proof(self.commitment.clone(), self.bulletproof.clone(), None)
    }

    pub fn verify_commit_sum(
        positive: Vec<pedersen::Commitment>,
        negative: Vec<pedersen::Commitment>,
    ) -> bool {
        SECP256K1_ZKP.verify_commit_sum(positive, negative)
    }
}

#[cfg(test)]
mod test {
    use strict_encoding::{strict_deserialize, StrictDecode, StrictEncode};

    use super::super::test::test_confidential;
    use super::*;

    static AMOUNT_65: [u8; 41] = [
        0x3, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x2b, 0x27, 0xae, 0x5a, 0xf, 0x8c,
        0x59, 0x5a, 0xfc, 0x8b, 0x55, 0xe5, 0x5f, 0x72, 0xd7, 0x29, 0x1, 0x55, 0xfa, 0x68, 0x25,
        0xe6, 0x3f, 0x62, 0x73,


t beginnt mit der Auslieferung des Vorbereitungsupdate!" height="40px" id="ssp_2" onmouseover='document.getElementById("ssp_2").src="https://www.pocketpc.ch/magazin/wp-content/plugins/social_sidebar/img/hover_twitter.png"' onmouseout='document.getElementById("ssp_2").src="https://www.pocketpc.ch/magazin/wp-content/plugins/social_sidebar/img/twitter.png"' src="https://www.pocketpc.ch/magazin/wp-content/plugins/social_sidebar/img/twitter.png" />

<img alt="Microsoft beginnt mit der Aus


3z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='154' height='201' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M153.923 47.077v153.846L.077 154.77V.923z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-pentagon{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='181' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 0 95.106 69.098-36.327 111.804H37.22L.894 69.098z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='181' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 0 95.106 69.098-36.327 111.804H37.22L.894 69.098z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-square{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 0h200v200H0z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='M0 0h200v200H0z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 137.263-58.779 42.024 22.163-68.389L.894 68.481l72.476-.243L96 0l22.63 68.238 72.476.243-58.49 42.417 22.163 68.389z' fill-rule='evenodd'/%3e%3c/svg%3e")}.mask-star-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481l63.117-13.01L96 0l31.989 55.472 63.117 13.01-43.347 47.292 7.02 63.513z' fill-rule='evenodd'/%3e%3c/svg%3e");mask-image:url("data:image/svg+xml,%3csvg width='192' height='180' xmlns='http://www.w3.org/2000/svg'%3e%3cpath fill='black' d='m96 153.044-58.779 26.243 7.02-63.513L.894 68.481


moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}
/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}
/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}
/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}
/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}
/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}
/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}
/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}
/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}
/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}
/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}
/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/*** TYPOGRAPHY ***/
/*
You can have the same result without this mixin:
width: 30/16rem;

But some people like the mixins more:
.pxToRemCalc(30);
width: @pxToRemCalc;
*/
/*
You can have the same result without this mixin:
padding; 50/16rem 10/16rem 50/16rem 10/16rem;

But some people like the mixins more:
usage: .pxToRem(padding 50 10 50 10);
*/
/*** PAGE CONTENT ***/
/*** SPACES ***/
/*** DISTANCES ***/
/*** EFFECTS ***/
/*** LISTS ***/
/*** VISIBILITY ***/
@font-face {
  font-family: "lidl-cake-font-082019";
  src: url("/cdn/assets/fonts/1.0.0/lidl-cake-font-082019.woff2") format("woff2"), url("/cdn/assets/fonts/1.0.0/lidl-cake-font-082019.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[data-icon]:before {
  font-family


= ChoGGi_Funcs.Common.Pathing_StopAndRemoveAll
	ChoGGi.Temp.UnitPathingHandles = ChoGGi.Temp.UnitPathingHandles or {}
	local randcolours = {}
	local colourcount = 0

	local item_list = {
		{text = Translate(302535920000413--[[Delay]]), value = 0, path_type = "Delay", hint = T(302535920000415--[[Delay in ms between updating paths (0 to update every other render).]])},
		{text = Translate(302535920001691--[[All]]), value = "All"},

		{text = Translate(547--[[Colonists]]), value = "Colonist"},
		{text = Translate(517--[[Drones]]), value = "Drone"},
		{text = Translate(5438--[[Rovers]]), value = "BaseRover", icon = RCTransport and RCTransport.display_icon or "UI/Icons/Buildings/rover_transport.tga"},
		{text = Translate(745--[[Shuttles]]), value = "CargoShuttle", hint = T(302535920000873--[[Doesn't work that well.]])},
	}
	if rawget(_G, "ChoGGi_Alien") then
		aliens = true
		item_list[#item_list+1] = {text = "Alien Visitors", value = "ChoGGi_Alien"}
	end

	local function CallBackFunc(choices)
		local temp = ChoGGi.Temp
		local choice1 = choices[1]
		local remove = choice1.check1
		if choices[1].nothing_selected and remove ~= true then
			return
		end

--~ ex(choices)
		local choice, delay
		for i = 1, #choices do
			local choice_item = choices[i]
			if choice_item.list_selected then
				choice = choice_item
			elseif choice_item.path_type == "Delay" then
				delay = choice_item.value
			end
		end

		local value = choice.value

		if remove then
			-- remove wp/lines and reset colours
			Pathing_StopAndRemoveAll()

		-- naughty user
		elseif value == "Delay" then
			MsgPopup(
				T(302535920000416--[[Delay isn't a valid class.]]),
				T(302535920000872--[[Pathing]])
			)
			return

		-- add waypoints
		elseif value then

			if value == "All" then
--~ 					local labels = UICity.labels

--~ 					local table1 = labels.Unit or ""
--~ 					local table2 = labels.CargoShuttle or ""
--~ 					local table3 = labels.Colonist or ""

--~ 					colourcount = colourcount + #table1
--~ 					colourcount = colourcount + #table2
--~ 					colourcount = colourcount + #table3
--~ 					randcolours = RandomColour(colourcount + 1)
--~ 					Pathing_SetMarkers(table1, choice1.check2, delay)
--~ 					Pathing_SetMarkers(table2, choice1.check2, delay)
--~ 					Pathing_SetMarkers(table3, choice1.check2, delay)
--~ 					Pathing_CleanDupes()

				CreateGameTimeThread(function()
					local labels = UICity.labels
					local table1 = labels.Unit or ""
					local table2 = labels.CargoShuttle or ""
					local table3 = labels.Colonist or ""
					-- +1 to make it fire the first time
					local current = #table1+#table2+#table3+1

					while temp.PathMarkers_new_objs_loop do
						table1 = labels.Unit or ""
						table2 = labels.CargoShuttle or ""
						table3 = labels.Colonist or ""
						local count = #table1+#table2+#table3
						if current ~= count then
							-- update list when
							Pathing_StopAndRemoveAll(true)

							current = count
							colourcou


private void MenuItem_dp2kernel_openAppDir_Click(object sender, EventArgs e)
        {
            string strExePath = InstallHelper.GetPathOfService("dp2KernelService");
            if (string.IsNullOrEmpty(strExePath) == false)
            {
                strExePath = StringUtil.Unquote(strExePath, "\"\"");
                try
                {
                    System.Diagnostics.Process.Start(Path.GetDirectoryName(strExePath));
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, ExceptionUtil.GetAutoText(ex));
                }
            }
            else
            {
                MessageBox.Show(this, "dp2Kernel 未曾安装过");
            }
        }

        private void MenuItem_zipDebugInfos_Click(object sender, EventArgs e)
        {
            string strError = "";
            int nRet = 0;

            bool bControl = Control.ModifierKeys == Keys.Control;

            this._floatingMessage.Text = "正在打包事件日志信息 ...";
            try
            {
                string strZipFileName = Path.Combine(this.TempDir, "dp2installer_eventlog.zip");

                List<EventLog> logs = new List<EventLog>();

                logs.Add(new EventLog("DigitalPlatform", ".", "*"));
                logs.Add(new EventLog("Application"));

                // "最近31天" "最近十年" "最近七天"

                nRet = PackageEventLog(logs,
                    strZipFileName,
                    bControl ? "最近十年" : "最近31天",
                    out strError);
                if (nRet == -1)
                    goto ERROR1;

                try
                {
                    System.Diagnostics.Process.Start(this.TempDir);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(this, ExceptionUtil.GetAutoText(ex));
                }
            }
            finally
            {
                this._floatingMessage.Text = "";
            }
            return;
        ERROR1:
            MessageBox.Show(this, strError);
        }

        void BeginLoop(string strText)
        {

            stop.OnStop += new StopEventHandler(this.DoStop);
            stop.Initial(strText);
            stop.BeginLoop();
        }

        void EndLoop()
        {
            stop.EndLoop();
            stop.OnStop -= new StopEventHandler(this.DoStop);
            stop.Initial("");
            stop.HideProgress();
        }

        internal void DoStop(object sender, StopEventArgs e)
        {

        }

        void DisplayEventLog(EventLog Log)
        {
            try
            {
                foreach (EventLogEntry entry in Log.Entries)
                {
                    string strText = "*\r\n"
                        //+ "Machine Name:\t" + entry.MachineName + "\r\n"
                        + entry.Source + " \t"
                        //+ "Category:\t" + entry.Category + "\r\n"
                        + entry.EntryType.ToString() + " \t"
                        //+ "Event ID:\t" + entry.InstanceId.ToString() + "\r\n"
                        //+ "User Name:\t" + entry.UserName + "\r\n"
                        + entry.TimeGenerated.ToString() + "\r\n"
                        + entry.Message + "\r\n\r\n";

                    AppendString(strText);
                }
            }
            catch (Exception ex)
            {
                AppendString("显示日志信息时出现异常: " + ex.Message + "\r\n");
            }
        }

        int MakeWindowsLogFile(EventLog log,
            string strEventLogFilename,
            out string strError)
        {
            strError = "";
            int nLines = 0;
            try
            {
                if (stop != null)
                    stop.SetMessage("正在准备 Windows 事件日志 " + log.LogDisplayName + "...");

                using (StreamWriter sw = new StreamWriter(strEventLogFilename,


nt src_scb_slots[DSP_MAX_SRC_NR];

	/* cache this symbols */
	symbol_entry_t * null_algorithm; /* used by PCMreaderSCB's */
	symbol_entry_t * s16_up;         /* used by SRCtaskSCB's */

	/* proc fs */
	snd_card_t * snd_card;
	snd_info_entry_t * proc_dsp_dir;
	snd_info_entry_t * proc_sym_info_entry;
	snd_info_entry_t * proc_modules_info_entry;
	snd_info_entry_t * proc_parameter_dump_info_entry;
	snd_info_entry_t * proc_sample_dump_info_entry;

	/* SCB's descriptors */
	int nscb;
	int scb_highest_frag_index;
	dsp_scb_descriptor_t scbs[DSP_MAX_SCB_DESC];
	snd_info_entry_t * proc_scb_info_entry;
	dsp_scb_descriptor_t * the_null_scb;

	/* Task's descriptors */
	int ntask;
	dsp_task_descriptor_t tasks[DSP_MAX_TASK_DESC];
	snd_info_entry_t * proc_task_info_entry;

	/* SPDIF status */
	int spdif_status_out;
	int spdif_status_in;
	u16 spdif_input_volume_right;
	u16 spdif_input_volume_left;
	/* spdif channel status,
	   left right and user validity bits */
	unsigned int spdif_csuv_default;
	unsigned int spdif_csuv_stream;

	/* SPDIF input sample rate converter */
	dsp_scb_descriptor_t * spdif_in_src;
	/* SPDIF input asynch. receiver */
	dsp_scb_descriptor_t * asynch_rx_scb;

	/* Capture record mixer SCB */
	dsp_scb_descriptor_t * record_mixer_scb;

	/* CODEC input SCB */
	dsp_scb_descriptor_t * codec_in_scb;

	/* reference snooper */
	dsp_scb_descriptor_t * ref_snoop_scb;

	/* SPDIF output  PCM reference  */
	dsp_scb_descriptor_t * spdif_pcm_input_scb;

	/* asynch TX task */
	dsp_scb_descriptor_t * asynch_tx_scb;

	/* record sources */
	dsp_scb_descriptor_t * pcm_input;
	dsp_scb_descriptor_t * adc_input;

	int spdif_in_sample_rate;
} dsp_spos_instance_t;

#endif /* __DSP_SPOS_H__ */


15u32,
    PointCoord = 16u32,
    FrontFacing = 17u32,
    SampleId = 18u32,
    SamplePosition = 19u32,
    SampleMask = 20u32,
    FragDepth = 22u32,
    HelperInvocation = 23u32,
    NumWorkgroups = 24u32,
    WorkgroupSize = 25u32,
    WorkgroupId = 26u32,
    LocalInvocationId = 27u32,
    GlobalInvocationId = 28u32,
    LocalInvocationIndex = 29u32,
    WorkDim = 30u32,
    GlobalSize = 31u32,
    EnqueuedWorkgroupSize = 32u32,
    GlobalOffset = 33u32,
    GlobalLinearId = 34u32,
    SubgroupSize = 36u32,
    SubgroupMaxSize = 37u32,
    NumSubgroups = 38u32,
    NumEnqueuedSubgroups = 39u32,
    SubgroupId = 40u32,
    SubgroupLocalInvocationId = 41u32,
    VertexIndex = 42u32,
    InstanceIndex = 43u32,
    SubgroupEqMask = 4416u32,
    SubgroupGeMask = 4417u32,
    SubgroupGtMask = 4418u32,
    SubgroupLeMask = 4419u32,
    SubgroupLtMask = 4420u32,
    BaseVertex = 4424u32,
    BaseInstance = 4425u32,
    DrawIndex = 4426u32,
    DeviceIndex = 4438u32,
    ViewIndex = 4440u32,
    BaryCoordNoPerspAMD = 4992u32,
    BaryCoordNoPerspCentroidAMD = 4993u32,
    BaryCoordNoPerspSampleAMD = 4994u32,
    BaryCoordSmoothAMD = 4995u32,
    BaryCoordSmoothCentroidAMD = 4996u32,
    BaryCoordSmoothSampleAMD = 4997u32,
    BaryCoordPullModelAMD = 4998u32,
    FragStencilRefEXT = 5014u32,
    ViewportMaskNV = 5253u32,
    SecondaryPositionNV = 5257u32,
    SecondaryViewportMaskNV = 5258u32,
    PositionPerViewNV = 5261u32,
    ViewportMaskPerViewNV = 5262u32,
    FullyCoveredEXT = 5264u32,
    TaskCountNV = 5274u32,
    PrimitiveCountNV = 5275u32,
    PrimitiveIndicesNV = 5276u32,
    ClipDistancePerViewNV = 5277u32,
    CullDistancePerViewNV = 5278u32,
    LayerPerViewNV = 5279u32,
    MeshViewCountNV = 5280u32,
    MeshViewIndicesNV = 5281u32,
    BaryCoordNV = 5286u32,
    BaryCoordNoPerspNV = 5287u32,
    FragSizeEXT = 5292u32,
    FragInvocationCountEXT = 5293u32,
    LaunchIdNV = 5319u32,
    LaunchSizeNV = 5320u32,
    WorldRayOriginNV = 5321u32,
    WorldRayDirectionNV = 5322u32,
    ObjectRayOriginNV = 5323u32,
    ObjectRayDirectionNV = 5324u32,
    RayTminNV = 5325u32,
    RayTmaxNV = 5326u32,
    InstanceCustomIndexNV = 5327u32,
    ObjectToWorldNV = 5330u32,
    WorldToObjectNV = 5331u32,
    HitTNV = 5332u32,
    HitKindNV = 5333u32,
    IncomingRayFlagsNV = 5351u32,
}
#[allow(non_upper_case_globals)]
impl BuiltIn {
    pub const SubgroupEqMaskKHR: BuiltIn = BuiltIn::SubgroupEqMask;
    pub const SubgroupGeMaskKHR: BuiltIn = BuiltIn::SubgroupGeMask;
    pub const SubgroupGtMaskKHR: BuiltIn = BuiltIn::SubgroupGtMask;
    pub const SubgroupLeMaskKHR: BuiltIn = BuiltIn::SubgroupLeMask;
    pub const SubgroupLtMaskKHR: BuiltIn = BuiltIn::SubgroupLtMask;
    pub const FragmentSizeNV: BuiltIn = BuiltIn::FragSizeEXT;
    pub const InvocationsPerPixelNV: BuiltIn = BuiltIn::FragInvocationCountEXT;
    pub fn required_capabilities(self) -> &'static [Capability] {


Kew, Surrey. </ref>. == Sources ==* https://books.google.com/books?id=HUqRznvpxsMC&pg=PA288&lpg=PA288&dq=%22Jonathan+buttall%22+1695&source=bl&ots=u4X_8hECcc&sig=ESaCUkFxE82DRhQecZ1_WnmYf4U&hl=en&sa=X&ved=0ahUKEwjA07j9-v_YAhVG7YMKHQUABnMQ6AEITTAL#v=onepage&q=%22Randall%20buttall%22%201695&f=false. * Source: <span id='S01'>S01</span> Title: ancestry.com Page: http://homepages.rootsweb.ancestry.com/~decann/genealogy/master/b195.htm. <references />* WikiTree profile Buttall-6 created through the import of  Lea and Randol and Ely and Si.ged on May 31, 2011 by [[Randol-3 | Maude Randol]]. <!-- Please edit, add, or delete anything in this text, including this note. Be bold and experiment! If you make a mistake you can always see the previous version of the text on the Changes page. -->.

In 1626 Randall married Jane UNKNOWN. 4 sons and 3 daughters given. Their eldest child Martha was born about 1627 in Wrexham, Denbighshire, Wales. Their eldest son Nathaniel was born in 1629 in Wrexham, Denbighshire, Wales. Their 3rd child Abigail was born in 1630 in Wales. Their 4th child Samuel was born in 1631 in Wrexham, Denbighshire, Wales. Their 5th child Jonathan was born in 1633 in Wrexham, Denbighshire, Wales. Their 6th child Rebecca was born in 1635 in Wrexham, Denbighshire, Wales. Their 7th child Charles was born in 1637 in Wrexham, Denbighshire, Wales.

111. Rebecca BUTTALL

Rebecca BUTTALL, 6th child of Randall BUTTALL and Jane UNKNOWN, was born in 1635 in Wrexham, Denbighshire, Wales.

== Biography ==. ''This biography was auto-generated by a GEDCOM import.<ref>Buttall-15 was created by [[Wynn-501 | Ed Wynn]] through the import of Wynn_2014-08-24_01.ged on Aug 24, 2014. ''This comment and citation can be deleted after the biography has been edited and primary sources are included.''</ref> It's a rough draft and needs to be edited.''. === Name ===: Name:  Rebecca /BUTTALL/<ref>Source: [[#S49]]  Page:  Database online. Data:   Text:  Record for Randall Samuel Buttall</ref>. === Birth ===. : Birth:. :: Date:  1635:: Place:  Wrexham, Denbighshire, , Wales<ref>Source: [[#S49]]  Page: Database online. Data:   Text:  Record for Randall Samuel B