pmovmskb %xmm1, %esi
	sub	$0xffff, %esi
	jnz	L(exit)

#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
	cmp	$16, REM
	lea	-16(REM), REM
	jbe	L(more8byteseq)
#endif
	add	$16, %ecx
	movdqa	%xmm4, %xmm3
	jmp	L(loop_ashr_1)

	.p2align 4
L(nibble_ashr_1):
	pcmpeqb	%xmm3, %xmm0
	pmovmskb %xmm0, %esi
	test	$0xfffe, %esi
	jnz	L(ashr_1_exittail)

#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
	cmp	$15, REM
	jbe	L(ashr_1_exittail)
#endif
	pxor	%xmm0, %xmm0
	sub	$0x1000, %edi
	jmp	L(gobble_ashr_1)

	.p2align 4
L(ashr_1_exittail):
	movdqa	(%eax, %ecx), %xmm1
	psrldq	$1, %xmm0
	psrldq	$1, %xmm3
	jmp	L(aftertail)

/*
 * The following cases will be handled by ashr_2
 * ecx(offset of esi)  eax(offset of edi)   relative offset	corresponding case
 *        n(14~15)            n -14            1(15 +(n-14) - n)         ashr_2
 */
	.p2align 4
L(ashr_2):
	mov	$0xffff, %esi
	pxor	%xmm0, %xmm0
	movdqa	(%edx), %xmm2
	movdqa	(%eax), %xmm1
	pcmpeqb	%xmm1, %xmm0
	pslldq	$14, %xmm2
	TOLOWER (%xmm1, %xmm2)
	pcmpeqb	%xmm1, %xmm2
	psubb	%xmm0, %xmm2
	pmovmskb %xmm2, %edi
	shr	%cl, %esi
	shr	%cl, %edi
	sub	%edi, %esi
	lea	-14(%ecx), %edi
	jnz	L(less32bytes)

	UPDATE_STRNCMP_COUNTER

	movdqa	(%edx), %xmm3
	pxor	%xmm0, %xmm0
	mov	$16, %ecx
	orl	$2, FLAGS
	lea	2(%edx), %edi
	and	$0xfff, %edi
	sub	$0x1000, %edi

	.p2align 4
L(loop_ashr_2):
	add	$16, %edi
	jg	L(nibble_ashr_2)

L(gobble_ashr_2):
	movdqa	(%eax, %ecx), %xmm1
	movdqa	(%edx, %ecx), %xmm2
	movdqa	%xmm2, %xmm4

	palignr	$2, %xmm3, %xmm2
	TOLOWER (%xmm1, %xmm2)

	pcmpeqb	%xmm1, %xmm0
	pcmpeqb	%xmm2, %xmm1
	psubb	%xmm0, %xmm1
	pmovmskb %xmm1, %esi
	sub	$0xffff, %esi
	jnz	L(exit)

#if defined USE_AS_STRNCMP || defined USE_AS_STRNCASECMP_L
	cmp	$16, REM
	lea	-16(REM), REM
	jbe	L(more8byteseq)
#endif
	add	$16, %ecx
	movdqa	%x


        self.inner.into_iter()
    }
}
<gh_stars>100-1000
// Probably not exhaustive; keep updated.
// Needs to be sorted by extension, and extensions need to be lowercase
// for the binary search to work!
/// A mapping of known file extensions and their MIME types.
///
/// Sorted by file extension to facilitate binary search.
///
/// Sourced from:
/// https://github.com/samuelneff/MimeTypeMap/blob/master/src/MimeTypes/MimeTypeMap.cs
/// https://github.com/jshttp/mime-db extracted with https://gist.github.com/soyuka/b7e29d359b2c14c21bdead923c01cc81
pub static MIME_TYPES: &'static [(&'static str, &'static str)] = &[
    ("123", "application/vnd.lotus-1-2-3"),
    ("323", "text/h323"),
    ("3dml", "text/vnd.in3d.3dml"),
    ("3ds", "image/x-3ds"),
    ("3g2", "video/3gpp2"),
    ("3gp", "video/3gpp"),
    ("3gp2", "video/3gpp2"),
    ("3gpp", "video/3gpp"),
    ("7z", "application/x-7z-compressed"),
    ("aa", "audio/audible"),
    ("aab", "application/x-authorware-bin"),
    ("aac", "audio/aac"),
    ("aaf", "application/octet-stream"),
    ("aam", "application/x-authorware-map"),
    ("aas", "application/x-authorware-seg"),
    ("aax", "audio/vnd.audible.aax"),
    ("abw", "application/x-abiword"),
    ("ac", "application/pkix-attr-cert"),
    ("ac3", "audio/ac3"),
    ("aca", "application/octet-stream"),
    ("acc", "application/vnd.americandynamics.acc"),
    ("accda", "application/msaccess.addin"),
    ("accdb", "application/msaccess"),
    ("accdc", "application/msaccess.cab"),
    ("accde", "application/msaccess"),
    ("accdr", "application/msaccess.runtime"),
    ("accdt", "application/msaccess"),
    ("accdw", "application/msaccess.webapplication"),
    ("accft", "application/msaccess.ftemplate"),
    ("ace", "application/x-ace-compressed"),
    ("acu", "application/vnd.acucobol"),
    ("acutc", "application/vnd.acucorp"),
    ("acx", "application/internet-property-stream"),
    ("addin", "text/xml"),
    ("ade", "application/msaccess"),
    ("adobebridge", "application/x-bridge-url"),
    ("adp", "application/msaccess"),
    ("adt", "audio/vnd.dlna.adts"),
    ("adts", "audio/aac"),
    ("aep", "application/vnd.audiograph"),
    ("afm", "application/octet-stream"),
    ("afp", "application/vnd.ibm.modcap"),
    ("ahead", "application/vnd.ahead.space"),
    ("ai", "application/postscript"),
    ("aif", "audio/aiff"),
    ("aifc", "audio/aiff"),
    ("aiff", "audio/aiff"),
    ("air", "application/vnd.adobe.air-application-installer-package+zip"),
    ("ait", "application/vnd.dvb.ait"),
    ("amc", "application/mpeg"),
    ("ami", "application/vnd.amiga.ami"),
    ("anx", "application/annodex"),
    ("apk", "application/vnd.android.package-archive"),


ules .app-textNav .inner .list-group-item a span{display:block; width:100%; height:100%; padding-right:30px; position:relative; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.app .modules .app-textNav .inner .list-group-item a i{color:#888; line-height:20px; position:absolute; right:0; top:0; font-size:22px;}
/*图片导航*/
.app .modules .app-nav .inner{padding:5px;}
.app .modules .app-nav .inner ul li{width:25%; overflow:hidden; float:left;}
.app .modules .app-nav .inner ul li .nav-img{display:block; width:100%; overflow:hidden;}
.app .modules .app-nav .inner ul li .nav-img img{max-width:100%; vertical-align: middle;}
.app .modules .app-nav .inner ul li .title{color:#333; display:inline-block; width:100%; height:24px; padding:5px; font-size:12px; text-align:center; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
/*关联链接*/
.app .modules .app-link .inner .list-group,.micro-page-category .app-category .list-group,.usercenter .app-usercenter .list-group{margin:0;}
.app .modules .app-link .inner .list-group-item,.micro-page-category .app-category .list-group-item,.usercenter .app-usercenter .list-group-item{border-radius:0; border-left:0; border-right:0;  height:40px; padding:0;}
.app .modules .app-link .inner .list-group-item a,.micro-page-category .app-category .list-group-item a,.usercenter .app-usercenter .list-group-item a{color:#333; display:block; padding:10px 15px;}
.app .modules .app-link .inner .list-group-item a span,.micro-page-category .app-category .list-group-item a span,.usercenter .app-usercenter .list-group-item a span{display:block; width:100%; height:100%; padding-right:30px; position:relative; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.app .modules .app-link .inner .list-group-item a i,.micro-page-category .app-category .list-group-item a i,.usercenter .app-usercenter .list-group-item a i{color:#888; line-height:20px; font-size:22px; position:absolute; right:0; top:0;}
/*app商品搜索*/
.app .modules .app-search .inner{padding:10px;}
/*app橱窗*/
.app .modules .app-showCase .inner .showCaseTitle{padding:10px; font-size:14px;}
.app .modules .app-showCase .inner .showCaseBody{background:#fff;}
.app .modules .app-showCase .inner .showCaseBody ul li{float:left; overflow:hidden; text-align:center; box-sizing: border-box;}
.app .modules .app-showCase .inner .showCaseBody ul li img{max-width:100%; height:auto;}
.app .modules .app-showCase .inner .showCaseBody ul li.lg{width:66%; height:213px; margin:0 1% 2px 0;}
.app .modules .app-showCase .inner .showCaseBody ul li.sm{width:33%; height:106px; margin:0 0 2px 0;}
.app .modules .app-showCase .inner .showCaseBody .three .sm{width:33%; height:105px; margin-right:0.5%;}
.app .modules .app-showCase


uire_func(result,vec3f((f32)16.5009, (f32)-6.23374, (f32)2.47397)));
    }
    {
        //ray_vs_plane---------------------------
        const vec3f r0 = {(f32)-2.62, (f32)0.57, (f32)6.16};
        const vec3f rV = {(f32)0.816799, (f32)-0.544533, (f32)-0.190586};
        const vec3f x0 = {(f32)3.35, (f32)0.0600004, (f32)9.72};
        const vec3f xN = {(f32)-0.101274, (f32)-0.253185, (f32)0.962102};
        vec3f result = ray_vs_plane(r0, rV, x0, xN);
        REQUIRE(require_func(result,vec3f((f32)-21.4103, (f32)13.0969, (f32)10.5444)));
    }
    {
        //ray_vs_plane---------------------------
        const vec3f r0 = {(f32)4.54, (f32)2.23, (f32)-7.11};
        const vec3f rV = {(f32)0.914885, (f32)0.0762403, (f32)0.39645};
        const vec3f x0 = {(f32)-8.77, (f32)5.06, (f32)8.13};
        const vec3f xN = {(f32)0.747052, (f32)-0.661674, (f32)-0.064033};
        vec3f result = ray_vs_plane(r0, rV, x0, xN);
        REQUIRE(require_func(result,vec3f((f32)-14.7198, (f32)0.62502, (f32)-15.4559)));
    }
    {
        //ray_vs_plane---------------------------
        const vec3f r0 = {(f32)-7.8, (f32)8.44, (f32)-6.34};
        const vec3f rV = {(f32)0.273377, (f32)-0.594997, (f32)0.755807};
        const vec3f x0 = {(f32)3.63, (f32)-2.62, (f32)8.44};
        const vec3f xN = {(f32)0.758448, (f32)0.42136, (f32)0.497205};
        vec3f result = ray_vs_plane(r0, rV, x0, xN);
        REQUIRE(require_func(result,vec3f((f32)1.54009, (f32)-11.8884, (f32)19.4826)));
    }
    {
        //ray_vs_plane---------------------------
        const vec3f r0 = {(f32)-3.77, (f32)-0.53, (f32)3.85};
        const vec3f rV = {(f32)-0.865617, (f32)-0.292015, (f32)0.406736};
        const vec3f x0 = {(f32)2.47, (f32)-6.15, (f32)4.96};
        const vec3f xN = {(f32)-0.133875, (f32)-0.687226, (f32)-0.714001};
        vec3f result = ray_vs_plane(r0, rV, x0, xN);
        REQUIRE(require_func(result,vec3f((f32)-77.7139, (f32)-25.4749, (f32)38.5947)));
    }
    {
        //ray_vs_plane---------------------------
        const vec3f r0 = {(f32)-8.56, (f32)9.68, (f32)7.35};
        const vec3f rV = {(f32)0.179207


/ Parameter [tags] :
  /// Key-value pairs that can be used to group and search for servers.
  ///
  /// Parameter [workflowDetails] :
  /// Specifies the workflow ID for the workflow to assign and the execution
  /// role that's used for executing the workflow.
  ///
  /// In addition to a workflow to execute when a file is uploaded completely,
  /// WorkflowDetails can also contain a workflow ID (and execution
  /// role) for a workflow to execute on partial upload. A partial upload occurs
  /// when the server session disconnects while the file is still being
  /// uploaded.
  Future<CreateServerResponse> createServer({
    String? certificate,
    Domain? domain,
    EndpointDetails? endpointDetails,
    EndpointType? endpointType,
    String? hostKey,
    IdentityProviderDetails? identityProviderDetails,
    IdentityProviderType? identityProviderType,
    String? loggingRole,
    String? postAuthenticationLoginBanner,
    String? preAuthenticationLoginBanner,
    ProtocolDetails? protocolDetails,
    List<Protocol>? protocols,
    S3StorageOptions? s3StorageOptions,
    String? securityPolicyName,
    List<String>? structuredLogDestinations,
    List<Tag>? tags,
    WorkflowDetails? workflowDetails,
  }) async {
    final headers = <String, String>{
      'Content-Type': 'application/x-amz-json-1.1',
      'X-Amz-Target': 'TransferService.CreateServer'
    };
    final jsonResponse = await _protocol.send(
      method: 'POST',
      requestUri: '/',
      exceptionFnMap: _exceptionFns,
      // TODO queryParams
      headers: headers,
      payload: {
        if (certificate != null) 'Certificate': certificate,
        if (domain != null) 'Domain': domain.value,
        if (endpointDetails != null) 'EndpointDetails': endpointDetails,
        if (endpointType != null) 'EndpointType': endpointType.value,
        if (hostKey != null) 'HostKey': hostKey,
        if (identityProviderDetails != null)
          'IdentityProviderDetails': identityProviderDetails,
        if (identityProviderType != null)
          'IdentityProviderType': identityProviderType.value,
        if (loggingRole != null) 'LoggingRole': loggingRole,
        if (postAuthenticationLoginBanner != null)
          'PostAuthenticationLoginBanner': postAuthenticationLoginBanner,
        if (preAuthenticationLoginBanner != null)
          'PreAuthenticationLoginBanner': preAuthenticationLoginBanner,
        if (protocolDetails != null) 'ProtocolDetails': protocolDetails,
        if (protocols != null)
          'Protocols': protocols.map((e) => e.value).toList(),
        if (s3StorageOptions != null) 'S3StorageOptions': s3StorageOptions,
        if (securityPolicyName != null)
          'SecurityPolicyName': securityPolicyName,
        if (structuredLogDestinations != null)
          'StructuredLogDestinations': structuredLogDestinations,
        if (tags != null) 'Tags': tags,
        if (workflowDetails != null) 'WorkflowDetails': workflowDetails,
      },
    );

    return CreateServerResponse.fromJson(jsonResponse.body);
  }

  /// Creates a user and associates them with an existing file transfer
  /// protocol-enabled server. You can only create and associate users with
  /// servers that have the IdentityProviderType set to
  /// SERVICE_MANAGED. Using parameters for
  /// CreateUser, you can specify the user name, set the home
  /// directory, store the user's public key, and assign the user's Identity and


ados);
}import 'dart:convert';
import 'package:intl/intl.dart';
import 'package:fenix/src/infra/biblioteca.dart';

class PessoaFisica {
  int id;
  int idPessoa;
  int idNivelFormacao;
  int idEstadoCivil;
  String cpf;
  String rg;
  String orgaoRg;
  DateTime dataEmissaoRg;
  DateTime dataNascimento;
  String sexo;
  String raca;
  String nacionalidade;
  String naturalidade;
  String nomePai;
  String nomeMae;

  PessoaFisica(
      {this.id,
      this.idPessoa,
      this.idNivelFormacao,
      this.idEstadoCivil,
      this.cpf,
      this.rg,
      this.orgaoRg,
      this.dataEmissaoRg,
      this.dataNascimento,
      this.sexo,
      this.raca,
      this.nacionalidade,
      this.naturalidade,
      this.nomePai,
      this.nomeMae});

  static List<String> campos = <String>[
    'ID',
    'CPF',
    'RG',
    'ORGAO_RG',
    'DATA_EMISSAO_RG',
    'DATA_NASCIMENTO',
    'SEXO',
    'RACA',
    'NACIONALIDADE',
    'NATURALIDADE',
    'NOME_PAI',
    'NOME_MAE',
  ];

  static List<String> colunas = <String>[
    'Id',
    'CPF',
    'RG',
    'Orgão RG',
    'Data Emissão RG',
    'Data Nascimento',
    'Sexo',
    'Raca',
    'Nacionalidade',
    'Naturalidade',
    'Nome Pai',
    'Nome Mae'
  ];

  PessoaFisica.fromJson(Map<String, dynamic> jsonDados) {
    id = jsonDados['id'];
    idPessoa = jsonDados['idPessoa'];
    idNivelFormacao = jsonDados['idNivelFormacao'];
    idEstadoCivil = jsonDados['idEstadoCivil'];
    cpf = jsonDados['cpf'];
    rg = jsonDados['rg'];
    orgaoRg = jsonDados['orgaoRg'];
    dataEmissaoRg = jsonDados['dataEmissaoRg'] != null ? DateTime.tryParse(jsonDados['dataEmissaoRg']) : null;
    dataNascimento = jsonDados['dataNascimento'] != null ? DateTime.tryParse(jsonDados['dataNascimento']) : null;
    sexo = getSexo(jsonDados['sexo']); // DropdownButton
    raca = getRaca(jsonDados['raca']); // DropdownButton
    nacionalidade = jsonDados['nacionalidade'];
    naturalidade = jsonDados['naturalidade'];
    nomePai = jsonDados['nomePai'];
    nomeMae = jsonDados['nomeMae'];
  }

  Map<String, dynamic> get toJson {
    Map<String, dynamic> jsonDados = new Map<String, dynamic>();
    jsonDados['id'] = this.id ?? 0;
    jsonDados['idPessoa'] = this.idPessoa ?? 0;
    jsonDados['idNivelFormacao'] = this.idNivelFormacao ?? 0; //devemos usar um objeto aqui - lookup
    jsonDados['idEstadoCivil'] = this.idEstadoCivil ?? 0; //devemos usar um objeto aqui - lookup
    jsonDados['cpf'] = Biblioteca.removerMascara(this.cpf); // remove a máscara
    jsonDados['rg'] = this.rg;
    jsonDados['orgaoRg'] = this.orgaoRg;
    jsonDados['dataEmissaoRg'] = this


#include <sys/types.h>
#include <sys/wait.h>
#include <err.h>
#include <errno.h>
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int stop_received;
int exit_received;
int cont_received;

void
job_handler(int sig, siginfo_t *si, void *ctx)
{
	int status;
	int ret;

	if (si->si_code == CLD_STOPPED) {
		printf("%d: stop received\n", si->si_pid);
		stop_received = 1;
		kill(si->si_pid, SIGCONT);
	} else if (si->si_code == CLD_EXITED) {
		printf("%d: exit received\n", si->si_pid);
		ret = waitpid(si->si_pid, &status, 0);
		if (ret == -1)
			errx(1, "waitpid");
		if (!WIFEXITED(status))
			errx(1, "!WIFEXITED(status)");
		exit_received = 1;
	} else if (si->si_code == CLD_CONTINUED) {
		printf("%d: cont received\n", si->si_pid);
		cont_received = 1;
	}
}

void
job_control_test(void)
{
	struct sigaction sa;
	pid_t pid;
	int count = 10;

	sigemptyset(&sa.sa_mask);
	sa.sa_flags = SA_SIGINFO;
	sa.sa_sigaction = job_handler;
	sigaction(SIGCHLD, &sa, NULL);
	stop_received = 0;
	cont_received = 0;
	exit_received = 0;
	fflush(stdout);
	pid = fork();
	if (pid == 0) {
		printf("child %d\n", getpid());
		kill(getpid(), SIGSTOP);
		sleep(2);
		exit(1);
	}

	while (!(cont_received && stop_received && exit_received)) {
		sleep(1);
		if (--count == 0)
			break;
	}
	if (!(cont_received && stop_received && exit_received))
		errx(1, "job signals lost");

	printf("job control test OK.\n");
}

void
rtsig_handler(int sig, siginfo_t *si, void *ctx)
{
}

int
main()
{
	struct sigaction sa;
	sigset_t set;
	union sigval val;

	/* test job control with empty signal queue */
	job_control_test();

	/* now full fill signal queue in kernel */
	sigemptyset(&sa.sa_mask);
	sa.sa_flags = SA_SIGINFO;
	sa.sa_sigaction = rtsig_handler;
	sigaction(SIGRTMIN, &sa, NULL);
	sigemptyset(&set);
	sigaddset(&set, SIGRTMIN);
	sigprocmask(SIG_BLOCK, &set, NULL);
	val.sival_int = 1;
	while (sigqueue(getpid(), SIGRTMIN, val))
		;

	/* signal queue is fully filled, test the job control again. */
	job_control_test();
	return (0);
}


_required: u32 = 335544749;
pub const isc_password_required: u32 = <PASSWORD>;
pub const isc_bad_protocol: u32 = 335544751;
pub const isc_dup_usrname_found: u32 = 335544752;
pub const isc_usrname_not_found: u32 = 335544753;
pub const isc_error_adding_sec_record: u32 = 335544754;
pub const isc_error_modifying_sec_record: u32 = 335544755;
pub const isc_error_deleting_sec_record: u32 = 335544756;
pub const isc_error_updating_sec_db: u32 = 335544757;
pub const isc_sort_rec_size_err: u32 = 335544758;
pub const isc_bad_default_value: u32 = 335544759;
pub const isc_invalid_clause: u32 = 335544760;
pub const isc_too_many_handles: u32 = 335544761;
pub const isc_optimizer_blk_exc: u32 = 335544762;
pub const isc_invalid_string_constant: u32 = 335544763;
pub const isc_transitional_date: u32 = 335544764;
pub const isc_read_only_database: u32 = 335544765;
pub const isc_must_be_dialect_2_and_up: u32 = 335544766;
pub const isc_blob_filter_exception: u32 = 335544767;
pub const isc_exception_access_violation: u32 = 335544768;
pub const isc_exception_datatype_missalignment: u32 = 335544769;
pub const isc_exception_array_bounds_exceeded: u32 = 335544770;
pub const isc_exception_float_denormal_operand: u32 = 335544771;
pub const isc_exception_float_divide_by_zero: u32 = 335544772;
pub const isc_exception_float_inexact_result: u32 = 335544773;
pub const isc_exception_float_invalid_operand: u32 = 335544774;
pub const isc_exception_float_overflow: u32 = 335544775;
pub const isc_exception_float_stack_check: u32 = 335544776;
pub const isc_exception_float_underflow: u32 = 335544777;
pub const isc_exception_integer_divide_by_zero: u32 = 335544778;
pub const isc_exception_integer_overflow: u32 = 335544779;
pub const isc_exception_unknown: u32 = 335544780;
pub const isc_exception_stack_overflow: u32 = 335544781;
pub const isc_exception_sigsegv: u32 = 335544782;
pub const isc_exception_sigill: u32 = 335544783;
pub const isc_exception_sigbus: u32 = 335544784;
pub const isc_exception_sigfpe: u32 = 335544785;
pub const isc_ext_file_delete: u32 = 335544786;
pub const isc_ext_file_modify: u32 = 335544787;
pub const isc_adm_task_denied: u32 = 335544788;
pub const isc_extract_input_mismatch: u32 = 335544789;
pub const isc_insufficient_svc_privileges: u32 = 335544790;
pub const isc_file_in_use: u32 = 335544791;
pub const isc_service_att_err: u32 = 335544792;
pub const isc_ddl_not_allowed_by_db_sql_dial: u32 = 335544793;
pub const isc_cancelled: u32


6U= 16306
IFBvbGl0 16307
IFhDVA== 16308
VGFncw== 16309
IENHRmxvYXQ= 16310
PXN0cg== 16311
IGxlYWY= 16312
LWNoZWNr 16313
IElzcw== 16314
LnN5c3RlbQ== 16315
bG9nb3V0 16316
YWNodA== 16317
QW5nbGU= 16318
c2lu 16319
Y2hhcnQ= 16320
SU5URVI= 16321
IE5VTQ== 16322
QmFzaWM= 16323
LlByb3BlcnRpZXM= 16324
5Lit 16325
X2NoYW5nZQ== 16326
IEJyYXppbA== 16327
QWJzdHJhY3Q= 16328
IDorOg== 16329
X3VzZQ== 16330
0LDQuw== 16331
MjY4 16332
IEx5 16333
SUJVVA== 16334
IG91dGVy 16335
IC0tPg0K 16336
IHJlbGllZg== 16337
bGFw 16338
cXVlcg== 16339
X3BhcmVudA== 16340
aGVhcA== 16341
TE9TRQ== 16342
IGNvbWJpbmU= 16343
IFJvc2U= 16344
b3dlcnM= 16345
IHByb2NlZHVyZXM= 16346
IFNvcnQ= 16347
YW5pbQ== 16348
dmFyaWFudA== 16349
ZWhpY2xl 16350
IHNpZ25pbmc= 16351
UHJpbWFyeQ== 16352
Y3VycmVuY3k= 16353
IHNleGU= 16354
b2Vu 16355
dGhldGE= 16356
ZW1hbg== 16357
IGltcHJlc3NpdmU= 16358
KCdf 16359
CVU= 16360
IFRleHRTdHlsZQ== 16361
X2NudA== 16362
IHNsaWNl 16363
KCc6 16364
IHVuZGVyc3Rvb2Q= 16365
SGlz 16366
Mjc3 16367
MDEz 16368
IGluZm9ybWVk 16369
IG5pY2s= 16370
NDI5 16371
KFRBRw== 16372
aGQ= 16373
IGVsZWN0aW9ucw== 16374
ZXN0dXJl 16375
IFNhbnRh 16376
IENvYXN0 16377
LnBkZg== 16378
aW5jaXBsZQ== 16379
LmNsb25l 16380
Ym9ybg== 16381
dXRh 16382
IGxpY2Vuc2Vk 16383
Q3I= 16384
IGJyZWFk 16385
IEhvdXN0b24= 16386
IG5vZA== 16387
IGhvcGVz 16388
IENHUmVjdA== 16389
IGd1aWx0eQ== 16390
LmdpZg== 16391
IHJvc2U= 16392
LkNvbW1vbg== 16393
VGlw 16394
QU5L 16395
IEZD 16396
RHVyaW5n 16397
IFN5bWZvbnk= 16398
IGRlZmVuc2l2ZQ== 16399
a20= 16400
KT4= 16401
YXJjaGl2ZQ== 16402
IFVSSQ== 16403
eWNsaW5n 16404
LW8= 16405
IFdlYnNpdGU= 16406
QU1Q 16407
NDA1 16408
aXNobWVudA== 16409
IGRvY3RvcnM= 16410
RGlyZWN0 16411
QVJJ 16412
IFJlZGlyZWN0 16413
aWVyZW4= 16414
OTYw 16415
X2Rpc3Q= 164


idcConnector)})
	c.Assert(err, check.IsNil)
	err = s.r.Create(context.TODO(), resources.CreateRequest{SiteKey: s.cluster.Key(), Resource: toUnknown(c, githubConnector)})
	c.Assert(err, check.IsNil)
	err = s.r.Create(context.TODO(), resources.CreateRequest{SiteKey: s.cluster.Key(), Resource: toUnknown(c, samlConnector)})
	c.Assert(err, check.IsNil)

	collection, err := s.r.GetCollection(resources.ListRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindAuthConnector, WithSecrets: true})
	c.Assert(err, check.IsNil)
	compare.DeepCompare(c, collection, &authConnectorCollection{[]teleservices.Resource{oidcConnector, githubConnector, samlConnector}})

	err = s.r.Remove(context.TODO(), resources.RemoveRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindOIDCConnector, Name: oidcConnector.GetName()})
	c.Assert(err, check.IsNil)

	collection, err = s.r.GetCollection(resources.ListRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindAuthConnector, WithSecrets: true})
	c.Assert(err, check.IsNil)
	compare.DeepCompare(c, collection, &authConnectorCollection{[]teleservices.Resource{githubConnector, samlConnector}})

	err = s.r.Remove(context.TODO(), resources.RemoveRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindGithubConnector, Name: githubConnector.GetName()})
	c.Assert(err, check.IsNil)

	collection, err = s.r.GetCollection(resources.ListRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindAuthConnector, WithSecrets: true})
	c.Assert(err, check.IsNil)
	compare.DeepCompare(c, collection, &authConnectorCollection{[]teleservices.Resource{samlConnector}})

	err = s.r.Remove(context.TODO(), resources.RemoveRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindSAMLConnector, Name: samlConnector.GetName()})
	c.Assert(err, check.IsNil)

	collection, err = s.r.GetCollection(resources.ListRequest{SiteKey: s.cluster.Key(), Kind: teleservices.KindAuthConnector, WithSecrets: true})
	c.Assert(err, check.IsNil)
	compare.DeepCompare(c, collection, &authConnectorCollection{[]teleservices.Resource{}})
}

func toUnknown(c *check.C, resource teleservices.Resource) teleservices.UnknownResource {
	unknown, err := utils.ToUnknownResource(resource)
	c.Assert(err, check.IsNil)
	return *unknown
}

var (
	role = &teleservices.RoleV3{
		Kind:    teleservices.KindRole,
		Version: teleservices.V3,
		Metadata: teleservices.Metadata{
			Name:      "test",
			Namespace: teledefaults.Namespace,
		},
		Spec: teleservices.RoleSpecV3{
			Allow: teleservices.RoleConditions{
				Namespaces: []string{defaults.Namespace},
				Logins:     []string{"root"},
				Rules: []teleservices.Rule{{
					Resources: []string{teleservices.Wildcard},
					Verbs:     []string{teleservices.Wildcard},
				}},
			}},
	}

	oidcConnector = storage.NewOIDCConnector("oidc-connector", teleservices.OIDCConnectorSpecV2{
		RedirectURL:  "https://ops.example.com/portalapi/v1/oidc/callback",


= nil
    for i = 1, 4 do
        local lastBox = nil
        for o = 1, 4 do
            local frame = CreateFrame("frame", "$parentFrame" .. i .. o, container, "BackdropTemplate")
            container:RegisterChildForDrag(frame)

            frame:SetBackdrop({edgeFile = [[Interface\Buttons\WHITE8X8]], edgeSize = 1, bgFile = [[Interface\Tooltips\UI-Tooltip-Background]], tileSize = 64, tile = true})
            frame:SetBackdropColor(0, 0, 0, 0.5)
            frame:SetBackdropBorderColor(1, 1, 1, 0.5)
            frame:SetSize(98, 98)
            if (lastBox) then
                frame:SetPoint("TOPLEFT", lastBox, "topright", 1, 0)
            else
                if (verticalLastBox) then
                    frame:SetPoint("TOPLEFT", verticalLast


	vms.execution_context_struct.vm_stack = 0
	vms.execution_context_struct.vm_stack_size = 8
	vms.execution_context_struct.cfp = 16

	vms.control_frame_struct.pc = 0
	vms.control_frame_struct.iseq = 16
	vms.control_frame_struct.ep = 32
	switch {
	case version < rubyVersion(2, 6, 0):
		vms.control_frame_struct.size_of_control_frame_struct = 48
	case version < rubyVersion(3, 1, 0):
		// With Ruby 2.6 the field bp was added to rb_control_frame_t
		// https://github.com/ruby/ruby/commit/ed935aa5be0e5e6b8d53c3e7d76a9ce395dfa18b
		vms.control_frame_struct.size_of_control_frame_struct = 56
	default:
		// 3.1 adds new jit_return field at the end.
		// https://github.com/ruby/ruby/commit/9d8cc01b758f9385bd4c806f3daff9719e07faa0
		vms.control_frame_struct.size_of_control_frame_struct = 64
	}
	vms.iseq_struct.body = 16

	vms.iseq_constant_body.iseq_type = 0
	vms.iseq_constant_body.size = 4
	vms.iseq_constant_body.encoded = 8
	vms.iseq_constant_body.location = 64
	switch {
	case version < rubyVersion(2, 6, 0):
		vms.iseq_constant_body.insn_info_body = 112
		vms.iseq_constant_body.insn_info_size = 200
		vms.iseq_constant_body.succ_index_table = 144
		vms.iseq_constant_body.size_of_iseq_constant_body = 288
	case version < rubyVersion(3, 2, 0):
		vms.iseq_constant_body.insn_info_body = 120
		vms.iseq_constant_body.insn_info_size = 136
		vms.iseq_constant_body.succ_index_table = 144
		vms.iseq_constant_body.size_of_iseq_constant_body = 312
	default:
		vms.iseq_constant_body.insn_info_body = 112
		vms.iseq_constant_body.insn_info_size = 128
		vms.iseq_constant_body.succ_index_table = 136
		vms.iseq_constant_body.size_of_iseq_constant_body = 320
	}
	vms.iseq_location_struct.pathobj = 0
	vms.iseq_location_struct.base_label = 8

	switch {
	case version < rubyVersion(2, 6, 0):
		vms.iseq_insn_info_entry.position = 0
		vms.iseq_insn_info_entry.size_of_position = 4
		vms.iseq_insn_info_entry.line_no = 4
		vms.iseq_insn_info_entry.size_of_line_no = 4
		vms.iseq_insn_info_entry.size_of_iseq_insn_info_entry = 12
	case version < rubyVersion(3, 1, 0):
		// The position field was removed from this struct with
		// https://github.com/ruby/ruby/commit/295838e6eb1d063c64f7cde5bbbd13c7768908fd
		vms.iseq_insn_info_entry.position = 0
		vms.iseq_insn_info_entry.size_of_position = 0
		vms.iseq_insn_info_entry.line_no = 0
		vms.iseq_insn_info_entry.size_of_line_no = 4
		vms.iseq_insn_info_entry.size_of_iseq_insn_info_entry = 8
	default:
		// https://git


);}.was-validated .form-select:valid,.form-select.is-valid{border-color:#1cc88a;padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231cc88a' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem);}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:#1cc88a;box-shadow:0 0 0 .25rem rgba(28,200,138,.25);}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:#1cc88a;}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:#1cc88a;}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{box-shadow:0 0 0 .25rem rgba(28,200,138,.25);}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:#1cc88a;}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em;}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#ca2f14;}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(202,47,20,.9);border-radius:.25rem;}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block;}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:#ca2f14;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23ca2f14'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23ca2f14' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem);}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:#ca2f14;box-shadow:0 0 0 .25rem rgba(202,47,20,.25


//and solving (variable elimination)
      ASTNode a0 = SimplifyTerm(inputterm[0]);
      Kind k1 = a0.GetKind();
      unsigned int a_len = inputValueWidth;

      //indices for BVEXTRACT
      ASTNode i = inputterm[1];
      ASTNode j = inputterm[2];
      ASTNode zero = CreateBVConst(32,0);
      //recall that the indices of BVEXTRACT are always 32 bits
      //long. therefore doing a GetBVUnsigned is ok.
      unsigned int i_val = GetUnsignedConst(i);
      unsigned int j_val = GetUnsignedConst(j);

      // a0[i:0] and len(a0)=i+1, then return a0
      if(0 == j_val && a_len == a0.GetValueWidth())
	return a0;

      switch(k1) {
      case BVCONST: {
	//extract the constant
	output = BVConstEvaluator(CreateTerm(BVEXTRACT,a_len,a0,i,j));
	break;
      }
      case BVCONCAT:{
	//assumes concatenation is binary
	//
	//input is of the form a0[i:j]
	//
	//a0 is the conatentation t@u, and a0[0] is t, and a0[1] is u
	ASTNode t = a0[0];
	ASTNode u = a0[1];
	unsigned int len_a0 = a0.GetValueWidth();
	unsigned int len_u = u.GetValueWidth();

	if(len_u > i_val) {
	  //Apply the following rule:
	  // (t@u)[i:j] <==> u[i:j], if len(u) > i
	  //
	  output = SimplifyTerm(CreateTerm(BVEXTRACT,a_len,u,i,j));
	}
	else if(len_a0 > i_val && j_val >= len_u) {
	  //Apply the rule:
	  // (t@u)[i:j] <==> t[i-len_u:j-len_u], if len(t@u) > i >= j >= len(u)
	  i = CreateBVConst(32, i_val - len_u);
	  j = CreateBVConst(32, j_val - len_u);
	  output = SimplifyTerm(CreateTerm(BVEXTRACT,a_len,t,i,j));
	}
	else {
	  //Apply the rule:
	  // (t@u)[i:j] <==> t[i-len_u:0] @ u[len_u-1:j]
	  i = CreateBVConst(32,i_val-len_u);
	  ASTNode m = CreateBVConst(32, len_u-1);
	  t = SimplifyTerm(CreateTerm(BVEXTRACT,i_val-len_u+1,t,i,zero));
	  u = SimplifyTerm(CreateTerm(BVEXTRACT,len_u-j_val,u,m,j));
	  output = CreateTerm(BVCONCAT,a_len,t,u);
	}
	break;
      }
      case BVPLUS:
      case BVMULT: {
	// (BVMULT(n,t,u))[i:j] <==> BVMULT(i+1,t[i:0],u[i:0])[i:j]
	//similar rule for BVPLUS
	ASTVec c = a0.GetChildren();
	ASTVec o;
	for(ASTVec::iterator jt=c.begin(),jtend=c.end();jt!=jtend;jt++) {
	  ASTNode aaa = *jt;
	  aaa = SimplifyTerm(CreateTerm(BVEXTRACT,i_val+1,aaa,i,zero));
	  o.push_back(aaa);
	}
	output = CreateTerm(a0.GetKind(),i_val+1,o);
	if(j_val != 0) {
	  //add extraction only if j is no


な説明は、視覚的に知覚されるかもしれないし、されないかもしれない。

<dfn data-lt="accessible name|accessible names|Accessible Name" id="dfn-accessible-name" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">アクセシブルな名前</dfn>

アクセシブルな名前は、ユーザーインターフェイス要素の名前である。各プラットフォームのアクセシビリティAPIは、アクセシブルな名前プロパティを提供する。アクセシブルな名前の値は、可視（たとえば、ボタンの可視テキスト）またはユーザーインターフェイス要素の不可視（たとえば、アイコンを説明する代替テキスト）プロパティから得られるかもしれない。関連するアクセシブルな説明を参照のこと。

アクセシブルな名前プロパティに対する簡単な用法は、"OK"ボタンによって説明することができる。テキスト"OK"は、アクセシブルな名前である。ボタンがフォーカスを受け取る場合、支援技術は、アクセシブル名前をもつプラットフォームのロールの説明を連結できる。たとえば、スクリーンリーダーは、"押しボタンOK"または"OKボタン"を話すことができる。連結の順序および役割の説明の詳細（たとえば"ボタン"、"押しボタン"、"クリック可能ボタン"）は、プラットフォームアクセシビリティAPIまたは支援技術によって決定される。

<dfn data-lt="accessible object|accessible objects|Accessible object" id="dfn-accessible-object" tabindex="0" aria-haspopup="dialog" data-dfn-type="dfn">アクセシブルなオブジェクト</dfn>

アクセシビリティAPIのアクセシビリティツリーに


ists.as_ref().unwrap_or_else(|| release.artists.as_ref().unwrap())
            .iter().map(|a| clean_discogs_artist(a)).collect::<Vec<String>>());
    }
    if config.label && release.label.is_some() && !release.label.as_ref().unwrap().is_empty() && (config.overwrite || vorbis.get("LABEL").is_none()) {
        vorbis.set("LABEL", vec![clean_discogs_artist(release.label.as_ref().unwrap().first().unwrap())]);
    }
    if config.date && (config.overwrite || vorbis.get("DATE").is_none()) {
        if release.released.is_some() {
            vorbis.set("DATE", vec![release.released.to_owned().unwrap()]);
        } else {
            if release.year.is_some() {
                vorbis.set("DATE", vec![release.year.unwrap().to_string()]);
            }
        }
    }
    if config.flac_genre > 0 {
        //Sort
        let mut genres = release.genres.clone();
        let mut styles = release.styles.clone();
        genres.sort();
        styles.sort();
        //Write
        //Genre
        if (config.flac_genre == 1 || config.flac_genre == 3) && (config.overwrite || vorbis.get("GENRE").is_none()) {
            vorbis.set("GENRE", genres.clone());
        }
        //Styles in genre
        if config.flac_genre == 2 && (config.overwrite || vorbis.get("GENRE").is_none()) {
            vorbis.set("GENRE", styles.clone());
        }
        //Style
        if config.flac_genre == 1 && (config.overwrite || vorbis.get("STYLE").is_none()) {
            vorbis.set("STYLE", styles.clone());
        }
        //Both
        if config.flac_genre == 4 && (config.overwrite || vorbis.get("GENRE").is_none()) {
            genres.append(&mut styles);
            genres.sort();
            vorbis.set("GENRE", genres);
        }
    }

    if config.track && (config.overwrite || vorbis.track().is_none()) {
        vorbis.set_track(track.position_int as u32);
    }
    //Art
    if config.art && release.art_url.is_some() && (config.overwrite || tag.pictures().count() == 0) {
        match discogs.download_art(release.art_url.as_ref().unwrap()) {
            Ok(data) => {
                tag.remove_picture_type(FLACPictureType::CoverFront);
                tag.add_picture("image/jpeg", FLACPictureType::CoverFront, data);
            },
            Err(_) => eprintln!("Error downloading album art, ignoring!")
        }
    }

    //Save
    tag.save()?;
    Ok(())
}

fn write_id3_tag(tag: &mut Tag, discogs: &mut Discogs, config: &TaggerConfig, release: &ReleaseMaster, track: &Track) -> Result<(), Box<dyn std::error::Error>> {
    //Tags
    if config.title && config.overwrite {
        tag.set_title(&track.title);
    }
    if config.album && (config.overwrite || tag.album().is_none()) {
        tag.set_album(&release.title);
    }
    if config.artist && config.overwrite {
        tag.set_artist(track.artists.as_ref().unwrap_or_else(|| release.artists.as_ref().unwrap())
            .iter().map(|a| clean_discogs_artist(a)).collect::<Vec<String>>().join(&config.artist_separator));
    }
    if config.label && release.label.is_some() && !release.label.as_ref().unwrap().is_empty() && (config.overwrite || tag.get("TPUB").is_none()) {
        tag.set_text("TPUB", clean_discogs_a


 priority));
      EXPECT_EQ(runer.size(), manager_.get_task_manager().server_to_tasks_.size());
      EXPECT_EQ(0U, manager_.get_task_manager().machine_to_tasks_.size());
      EXPECT_EQ(1U, manager_.get_task_manager().block_to_tasks_.size());
      EXPECT_EQ(1U, manager_.get_task_manager().pending_queue_.size());
      EXPECT_EQ(0U, manager_.get_task_manager().running_queue_.size());
      EXPECT_TRUE((seqno+1) == manager_.get_task_manager().seqno_);
      seqno = manager_.get_task_manager().seqno_;
      task = manager_.get_task_manager().get_by_id(seqno);
      EXPECT_TRUE(task->type_ == PLAN_TYPE_COMPACT);
    }

    TEST_F(TaskManagerTest, remove_get_exist)
    {
      time_t now = Func::get_monotonic_time();
      DataServerStatInfo info;
      memset(&info, 0, sizeof(info));
      info.status_ = DATASERVER_STATUS_ALIVE;
      info.id_ = 0xfffffff0;

      ServerCollect server(info, now);
      info.id_++;
      ServerCollect server2(info, now);
      std::vector<ServerCollect*> runer;
      runer.push_back(&server);
      runer.push_back(&server2);

      uint32_t id = 100;
      PlanType type = PLAN_TYPE_REPLICATE;
      PlanPriority priority = PLAN_PRIORITY_NORMAL;
      EXPECT_EQ(TFS_SUCCESS, manager_.get_task_manager().add(id, runer, type, priority));
      EXPECT_EQ(0U, manager_.get_task_manager().server_to_tasks_.size());
      EXPECT_EQ(runer.size(), manager_.get_task_manager().machine_to_tasks_.size());
      EXPECT_EQ(1U, manager_.get_task_manager().block_to_tasks_.size());
      EXPECT_EQ(1U, manager_.get_task_manager().pending_queue_.size());
      EXPECT_EQ(0U, manager_.get_task_manager().running_queue_.size());

      uint64_t seqno = manager_.get_task_manager().seqno_;
      Task* task = manager_.get_task_manager().get_by_id(seqno);
      EXPECT_TRUE(NULL != task);
      Task* block_to_task = manager_.get_task_manager().get_(id);
      Task* server_to_task = manager_.get_task_manager().get_(info.id_);
      EXPECT_TRUE(task == block_to_task);
      EXPECT_TRUE(task == server_to_task);
      server_to_task = manager_.get_task_manager().get_(info.id_, true);
      EXPECT_TRUE(NULL == server_to_task);
      EXPECT_TRUE(manager_.get_task_manager().exist(id));
      EXPECT_TRUE(manager_.get_task_manager().exist(info.id_));
      EXPECT_TRUE(manager_.get_task_manager().exist(info.id_ - 1));
      EXPECT_FALSE(manager_.get_task_manager().exist(info.id_, true));
      EXPECT_FALSE(manager_.get_task_manager().exist(info.id_ - 1, true));

      EXPECT_EQ(TFS_SUCCESS, manager_.get_task_manager().remove(task));
      manager_.get_task_manager().pending_queue_.clear();
      task = manager_.get_task_manager().get_by_id(manager_.get_task_manager().seqno_);
      EXPECT_TRUE(NULL == task);
      EXPECT_EQ(0U, manager_.get_task_manager().server_to_tasks_.size());
      EXPECT_EQ(0U, manager_.get_task_manager().machine_to_


nChildren<PlatformGameObjectRemover>(true);
            foreach (var c in components)
            {
                if (c == null)
                {
                    continue;
                }

                if (c.gameObject == null)
                {
                    continue;
                }

                if (buildTarget == Models.BuildTarget.PC && c.removeOnPC)
                {
                    Object.DestroyImmediate(c.gameObject);
                }
                if (buildTarget == Models.BuildTarget.Android && c.removeOnAndroid)
                {
                    Object.DestroyImmediate(c.gameObject);
                }
            }
        }
    }
}


nd
  local cnt = nb:GetPageCount()
  local sel = nb:GetSelection()

  -- store old pages
  local currentpages, order = {}, {}
  for i=1,cnt do
    local id = nb:GetPageText(i-1)
    local newid = fnIdConvert and fnIdConvert(id) or id
    currentpages[newid] = currentpages[newid] or {}
    table.insert(currentpages[newid], {page = nb:GetPage(i-1), text = id, index = i-1})
    order[i] = newid
  end

  -- remove them
  for i=cnt,1,-1 do nb:RemovePage(i-1) end

  -- read them and perform splits
  local t = 0
  local newsel
  local function finishPage(page)
    if (page.index == sel) then
      newsel = t
    end
    t = t + 1
  end

  local direction
  local splits = { X = wx.wxRIGHT, Y = wx.wxBOTTOM }
  for cmd in str:gmatch("([^|]+)") do
    local instr = cmd:match("<(%w)>")
    if (not instr) then
      local id = fnIdConvert and fnIdConvert(cmd) or cmd
      local pageind = next(currentpages[id] or {})
      if (pageind) then
        local page = currentpages[id][pageind]
        currentpages[id][pageind] = nil

        nb:AddPage(page.page, page.text)
        if (direction) then nb:Split(t, direction) end
        finishPage(page)
      end
    end
    direction = instr and splits[instr]
  end

  -- add anything we forgot; make sure page groups are in the order specified
  for i=1,cnt do
    local pagelist = currentpages[order[i]]
    for _,page in pairs(pagelist) do
      nb:AddPage(page.page, page.text)
      finishPage(page)
    end
  end

  -- set the active page as it was before
  if (newsel) then nb:SetSelection(newsel) end
  --check selection
  --print("checking selection")
 -- for id, document in pairs(openDocuments) do
		--print(id,document.editor:GetId(),document.index,document.editor,nb:GetPage(document.index))
  --end
end

------------------------------------------------------------
function ConfigRestoreFramePosition(window, windowName)
	local s,x,y,w,h
	local c_framepos = Config:load_table(windowName)
	if c_framepos then
		s = c_framepos.s
		x = c_framepos.x
		y = c_framepos.y
		w = c_framepos.w
		h = c_framepos.h
	else
        x, y, w, h = wx.wxClientDisplayRect()
		s = -1
	end

	s = s==2 and 1 or s --iconized as maximized

	if (s == -1) or s == 0 then
        window:SetSize(x, y, w, h)
		local w1,h1 = frame:GetClientSizeWH()
	end
    if s == 1 then
        window:Maximize(true)
    end
end

function ConfigSaveFramePosition(window, windowName)

    local s    = 0
    local w, h = window:GetSizeWH()
    local x, y = window:GetPositionXY()

    if window:IsMaximized() then
        s = 1
    elseif window:IsIconized() then
        s = 2
    end

	Config:save_table(windowName,{s=s,w=w,h=h,x=x,y=y})
	print("ConfigSaveFramePosition",s,x,y,w,h)

end
---------------------perspectives
------------------------------------------------------
function ConfigSavePerspectives()
	manager:GetPerspective


(packed: u16) -> Self { Self(lut::SWAP_COMPONENTS_LUT.map(packed)) }

	/// To rgb565, where the colors are packed as `rrrrrggggggbbbbb`
	#[inline]
	#[must_use]
	pub fn to_rgb565(&self) -> u16 { self.0 }

	/// To bgr565, where the colors are packed as `bbbbbggggggrrrrr`
	#[inline]
	#[must_use]
	pub fn to_bgr565(&self) -> u16 { lut::SWAP_COMPONENTS_LUT.map(self.0) }

	/// From rgb565_le, where the colors are stored as `[gggbbbbb, rrrrrggg]`
	#[inline]
	#[must_use]
	pub fn from_rgb565_le(bytes: [u8; 2]) -> Self { Self::from_rgb565(u16::from_le_bytes(bytes)) }

	/// From rgb565_be, where the colors are stored as `[rrrrrggg, gggbbbbb]`
	#[inline]
	#[must_use]
	pub fn from_rgb565_be(bytes: [u8; 2]) -> Self { Self::from_rgb565(u16::from_be_bytes(bytes)) }

	/// From bgr565_le, where the colors are stored as `[gggrrrrr, bbbbbggg]`
	#[inline]
	#[must_use]
	pub fn from_bgr565_le(bytes: [u8; 2]) -> Self { Self::from_bgr565(u16::from_le_bytes(bytes)) }

	/// From bgr565_be, where the colors are stored as `[bbbbbggg, gggrrrrr]`
	#[inline]
	#[must_use]
	pub fn from_bgr565_be(bytes: [u8; 2]) -> Self { Self::from_bgr565(u16::from_be_bytes(bytes)) }

	/// From rgb565_le, where the colors are stored as `[gggbbbbb, rrrrrggg]`
	#[inline]
	#[must_use]
	pub fn to_rgb565_le(&self) -> [u8; 2] { self.to_rgb565().to_le_bytes() }

	/// From rgb565_be, where the colors are stored as `[rrrrrggg, gggbbbbb]`
	#[inline]
	#[must_use]
	pub fn to_rgb565_be(&self) -> [u8; 2] { self.to_rgb565().to_be_bytes() }

	/// From bgr565_le, where the colors are stored as `[gggrrrrr, bbbbbggg]`
	#[inline]
	#[must_use]
	pub fn to_bgr565_le(&self) -> [u8; 2] { self.to_bgr565().to_le_bytes() }

	/// From bgr565_be, where the colors are stored as `[bbbbbggg, gggrrrrr]`
	#[inline]
	#[must_use]
	pub fn to_bgr565_be(&self) -> [u8; 2] { self.to_bgr565().to_be_bytes() }

	/// From rgb565 components, where r fits into 5 bits, g into 6 and b into 5
	///
	/// # Panics
	///
	/// This function includes debug assertions to ensure that `r`, `g` and `b`
	/// fit into the space allotted by the RGB565 format. If values are passed
	/// that are too big, the function will panic.
	#[inline]
	#[must_use]
	pub fn from_rgb565_components(r: u8, g: u


 x*3/v) / (v*3 + x/v) * v;
    if o == v { print!("[{}]",i); break; }
  }
  v
}

// TODO: assume normed and get better stopping condition?
pub fn cbrt_newton<V:Value+InitialGuess>(x:V) -> V {
  let mut v = x.guess(3);
  for i in 0..100 {
    let o = v;
    v = v * (v*v + x*2/v) / (v*v*2 + x/v);
    if o == v { print!("({})",i); break; }
  }
  v
}

// TODO: assume normed and get better stopping condition?
pub fn nthrt_newton<V:Value+InitialGuess>(x:V, n:isize) -> V {
  let mut v = x.guess(n as i32);
  for i in 0..100 {
    let o = v;
    v = (v*(n-1) + x/v.pow(n-1))/n;
    if o == v { print!("({})",i); break; }
  }
  v
}
<reponame>tailwind/mdbook-superimport
//! mdbook-bookimport is a pre-processor for [mdbook]'s that helps you avoid link rot
//! when importing parts of other files into your mdbook.
//!
//! [mdbook]: https://github.com/rust-lang-nursery/mdBook

#![deny(missing_docs, warnings)]

use failure::Fail;
use lazy_static::lazy_static;
use log::*;
use mdbook::book::{Book, Chapter};
use mdbook::preprocess::{Preprocessor, PreprocessorContext};
use mdbook::BookItem;
use regex::Regex;
use std::path::{Path, PathBuf};

// Originally tried using "\" but ran into issues with mdbook seemingly stripping it.
// Probably because it also uses "\" to escape it's imports
static _ESCAPE_CHAR: &'static str = "/";

/// The pre-processor that powers the mdbook-bookimport plugin
pub struct Bookimport;

impl Preprocessor for Bookimport {
    fn name(&self) -> &str {
        "mdbook-bookimport"
    }

    /// Given a book (usually from stdin) process all of the chapters and replace
    /// any #bookimport's with the content that you're importing.
    fn run(
        &self,
        ctx: &PreprocessorContext,
        mut book: Book,
    ) -> Result<Book, mdbook::errors::Error> {
        debug!("Running `run` method in bookimport Preprocessor trait impl");

        let book_src_dir = ctx.root.join(&ctx.config.book.src);

        for section in book.sections.iter_mut() {
            process_chapter(section, &book_src_dir)?;
        }

        Ok(book)
    }
}

/// Process a chapter in an mdbook.
///
/// Namely - replace all #bookimport calls with the content that it was trying to import.
///
/// If the chapter has subchapters they will also be processed recursively.
fn process_chapter(book_item: &mut BookItem, book_src_dir: &PathBuf) -> mdbook::errors::Result<()> {
    if let BookItem::Chapter(ref mut chapter) = book_item {
        debug!("Processing chapter {}", chapter.name);

        // The full path within the filesystem to the directory that holds the mdbook's
        // SUMMARY.md file
        //
        // /path/to/.../my-mdbook
        let chapter_dir = chapter
            .path
            .parent()
            .map(|dir| book_src_dir.join(dir))
            .expect("All book items have a parent");

        let mut content = chapter.content.clone();

        let simports = BookImport::find_unescaped_bookimports(chapter);

        // Iterate backwards through the simports so that we start by replacing the imports
        // that are lower in the file first.
        //
        // This ensures that as we replace simports we aren't throwing off the start and end
        // indices of other simports.
        for simport in simports.iter().rev() {
            let new_content


 ) )
        {
            return THUMBSTICK_POSITION_TOP;
        }
        else
        {
            return THUMBSTICK_POSITION_DEFAULT;
        }
    }
    else if ( axis == THUMBSTICK_HORIZONTAL )
    {
        if ( adc_raw > ( POSTION_MIDDLE + thumbstick_sensitivity ) )
        {
            return THUMBSTICK_POSITION_RIGHT;
        }
        else if ( adc_raw < ( POSTION_MIDDLE - thumbstick_sensitivity ) )
        {
            return THUMBSTICK_POSITION_LEFT;
        }
        else
        {
            return THUMBSTICK_POSITION_DEFAULT;
        }
    }

    return THUMBSTICK_FUNCTION_ERROR;
}

void thumbstick_get_position ( thumbstick_t *ctx, thumbstick_position_t *position )
{
    position->horizontal = thumbstick_get_single_axis_postion( ctx, THUMBSTICK_HORIZONTAL );
    position->vertical = thumbstick_get_single_axis_postion( ctx, THUMBSTICK_VERTICAL );
}

uint8_t thumbstick_button_state ( thumbstick_t *ctx )
{
    return digital_in_read( &ctx->int_pin );
}

uint8_t thumbstick_set_sensitivity ( uint16_t sensitivity )
{
    if ( sensitivity >= POSTION_MIDDLE )
        return THUMBSTICK_FUNCTION_ERROR;

    thumbstick_sensitivity = sensitivity;

    return THUMBSTICK_OK;
}

// ------------------------------------------------------------------------- END


: 没地铁，交通不方便

- A26599: 不便利

## Q: 宿舍楼有洗衣机吗？

- A19613: 无，有公共洗衣房

- A21700: 有，一层5-6个

- A26599: 有

## Q: 校园网怎么样？

- A19613: 部分宿舍楼有，其他还在建设

- A21700: 类似12点或者晚上用的人多了会卡，其他时间段还行。

- A26599: 还行

## Q: 每天断电断网吗，几点开始断？

- A19613: 部分宿舍楼断电，宿舍灯11左右熄灯

- A21700: 每天10点断照明的电

- A26599: 不断电    灯十点断

## Q: 食堂价格贵吗，会吃出异物吗？

- A19613: 偏贵点，暂时没有吃出过异物

- A21700: 不贵，也不好吃

- A26599: 还行吧

## Q: 洗澡热水供应时间？

- A19613: 每天11点前

- A21700: 照明电一断就不能用了，晚上10点左右

- A26599: 晚上十点之前

## Q: 校园内可以骑电瓶车吗，电池在哪能充电？

- A19613: 可以，有充电桩

- A21700: 可以

- A26599: 可以   宿舍楼下

## Q: 宿舍限电情况？

- A19613: 大功率电器

- A21700: 400w

- A26599: 不清楚

## Q: 通宵自习有去处吗？

- A19613: 无，可以在宿舍

- A21700: 不清楚

- A26599: 没有

## Q: 大一能带电脑吗？

- A19613: 可以

- A21700: 能

- A26599: 能

## Q: 学校里面用什么卡，饭堂怎样消费？

- A19613: 移动支付

- A21700: 饭堂微信或支付宝

- A26599: 支付宝微信

## Q: 学校会给学生发银行卡吗？

- A19613: 不会，但有办银行卡的地方

- A21700: 会组织统一办理

- A26599: 会

## Q: 学校的超市怎么样？

- A19613: 还行

- A21700: 一般

- A26599: 还行

## Q: 学校的收发快递政策怎么样？

- A19613: 菜鸟驿站

- A21700: 快递站有点远

- A26599: 有菜鸟驿站

## Q: 学校里面的共享单车数目与种类如何？

- A19613: �


# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

import mxnet as mx

def do_checkpoint(prefix, means, stds):
    def _callback(iter_no, sym, arg, aux):
        arg['bbox_pred_weight_test'] = (arg['bbox_pred_weight'].T * mx.nd.array(stds)).T
        arg['bbox_pred_bias_test'] = arg['bbox_pred_bias'] * mx.nd.array(stds) + mx.nd.array(means)
        mx.model.save_checkpoint(prefix, iter_no + 1, sym, arg, aux)
        arg.pop('bbox_pred_weight_test')
        arg.pop('bbox_pred_bias_test')
    return _callback


       {
           for (i = 0; i + 7 < block_len; i += 8, ptr += 8)
           {
               s1 += ptr[0], s2 += s1;
               s1 += ptr[1], s2 += s1;
               s1 += ptr[2], s2 += s1;
               s1 += ptr[3], s2 += s1;
               s1 += ptr[4], s2 += s1;
               s1 += ptr[5], s2 += s1;
               s1 += ptr[6], s2 += s1;
               s1 += ptr[7], s2 += s1;
           }
           for (; i < block_len; ++i)
               s1 += *ptr++, s2 += s1;
           s1 %= 65521U, s2 %= 65521U;
           buf_len -= block_len;
           block_len = 5552;
       }
       return (s2 << 16) + s1;
   }

   /* Karl Malbrain's compact CRC-32. See "A compact CCITT crc16 and crc32 C implementation that balances processor cache usage against speed": http://www.geocities.com/malbrain/ */
   #if 0
       mz_ulong mz_crc32(mz_ulong crc, const mz_uint8 *ptr, size_t buf_len)
       {
           static const mz_uint32 s_crc32[16] = { 0, 0x1db71064, 0x3b6e20c8, 0x26d930ac, 0x76dc4190, 0x6b6b51f4, 0x4db26158, 0x5005713c,
                                                  0xedb88320, 0xf00f9344, 0xd6d6a3e8, 0xcb61b38c, 0x9b64c2b0, 0x86d3d2d4, 0xa00ae278, 0xbdbdf21c };
           mz_uint32 crcu32 = (mz_uint32)crc;
           if (!ptr)
               return MZ_CRC32_INIT;
           crcu32 = ~crcu32;
           while (buf_len--)
           {
               mz_uint8 b = *ptr++;
               crcu32 = (crcu32 >> 4) ^ s_crc32[(crcu32 & 0xF) ^ (b & 0xF)];
               crcu32 = (crcu32 >> 4) ^ s_crc32[(crcu32 & 0xF) ^ (b >> 4)];
           }
           return ~crcu32;
       }
   #else
   /* Faster, but larger CPU cache footprint.
    */
   mz_ulong mz_crc32(mz_ulong crc, const mz_uint8 *ptr, size_t buf_len)
   {
       static const mz_uint32 s_crc_table[256] =
           {
             0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419, 0x706AF48F, 0xE963A535,
             0x9E6495A3, 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD,
             0xE7B82D07, 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, 0x1ADAD47D,
             0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,
             0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,
             0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, 0x35B5A8FA, 0x42B2986C,
             0xDBBBC9D6, 0xACBCF940, 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC,
             0x51DE003A, 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,
             0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, 0x2F6F7C87, 0x58684C11, 0xC1611DAB,
             0xB6662D3D, 0


=tì',
  '倝=gàn',
  '倞=liàng,jìng',
  '借=jiè',
  '倠=suī',
  '倡=chàng,chāng',
  '倢=jié',
  '倣=fǎng',
  '値=zhí',
  '倥=kōng,kǒng',
  '倦=juàn',
  '倧=zōng',
  '倨=jù',
  '倩=qiàn',
  '倪=ní',
  '倫=lún',
  '倬=zhuō',
  '倭=wō,wēi',
  '倮=luǒ',
  '倯=sōng',
  '倰=lèng',
  '倱=hùn',
  '倲=dōng',
  '倳=zì',
  '倴=bèn',
  '倵=wǔ',
  '倶=jù',
  '倷=nǎi',
  '倸=cǎi',
  '倹=jiǎn',
  '债=zhài',
  '倻=yē',
  '值=zhí',
  '倽=shà',
  '倾=qīng',
  '倿=nìng',
  '偀=yīng',
  '偁=chēng,chèn',
  '偂=qián',
  '偃=yǎn',
  '偄=ruǎn',
  '偅=zhòng,tóng',
  '偆=chǔn',
  '假=jiǎ,jià',
  '偈=jì,jié',
  '偉=wěi',
  '偊=yǔ',
  '偋=bǐng,bìng',
  '偌=ruò',
  '偍=tí',
  '偎=wēi',
  '偏=piān',
  '偐=yàn',
  '偑=fēng',
  '偒=tǎng,dàng',
  '偓=wò',
  '偔=è',
  '偕=xié',
  '偖=chě',
  '偗=shěng',
  '偘=kǎn',
  '偙=dì',
  '做=zuò',
  '偛=chā',
  '停=tíng',
  '偝=bèi',
  '偞=xiè',
  '偟=huáng',
  '偠=yǎo',
  '偡=zhàn',
  '偢=chǒu,qiào',
  '偣=ān',
  '偤=yóu',
  '健=jiàn',
  '偦=xū',
  '偧=zhā',
  '偨=cī',
  '偩=fù',
  '偪=bī',
  '偫=zhì',
  '偬=zǒng',
  '偭=miǎn',
  '偮=jí',
  '偯=yǐ',
  '偰=xiè',
  '偱=xún',
  '偲=cāi,sī',
  '偳=duān',
  '側=cè,zè,zhāi',
  '偵=zhēn',
  '偶=ǒu',
  '偷=tōu',
  '偸=tōu',
  '偹=bèi',
  '偺=zán,zá,zǎ',
  '偻=lǚ,lóu',
  '偼=jié',
  '偽


     must_not=[\
            models.FieldCondition(key="city", match=models.MatchValue(value="London")),\
            models.FieldCondition(key="color", match=models.MatchValue(value="red")),\
        ]
    ),
)

```

```typescript
client.scroll("{collection_name}", {
  filter: {
    must_not: [\
      {\
        key: "city",\
        match: { value: "London" },\
      },\
      {\
        key: "color",\
        match: { value: "red" },\
      },\
    ],
  },
});

```

```rust
use qdrant_client::qdrant::{Condition, Filter, ScrollPointsBuilder};
use qdrant_client::Qdrant;

let client = Qdrant::from_url("http://localhost:6334").build()?;

client
    .scroll(
        ScrollPointsBuilder::new("{collection_name}").filter(Filter::must_not([\
            Condition::matches("city", "london".to_string()),\
            Condition::matches("color", "red".to_string()),\
        ])),
    )
    .await?;

```

```java
import java.util.List;

import static io.qdrant.client.ConditionFactory.matchKeyword;

import io.qdrant.client.grpc.Points.Filter;
import io.qdrant.client.grpc.Points.ScrollPoints;

client
    .scrollAsync(
        ScrollPoints.newBuilder()
            .setCollectionName("{collection_name}")
            .setFilter(
                Filter.newBuilder()
                    .addAllMustNot(
                        List.of(matchKeyword("city", "London"), matchKeyword("color", "red")))
                    .build())
            .build())
    .get();

```

```csharp
using Qdrant.Client;
using static Qdrant.Client.Grpc.Conditions;

var client = new QdrantClient("localhost", 6334);

// The ! operator negates the condition(must not)
await client.ScrollAsync(
	collectionName: "{collection_name}",
	filter: !(MatchKeyword("city", "London") & MatchKeyword("color", "red"))
);

```

```go
import (
	"context"

	"github.com/qdrant/go-client/qdrant"
)

client, err := qdrant.NewClient(&qdrant.Config{
	Host: "localhost",
	Port: 6334,
})

client.Scroll(context.Background(), &qdrant.ScrollPoints{
	CollectionName: "{collection_name}",
	Filter: &qdrant.Filter{
		MustNot: []*qdrant.Condition{
			qdrant.NewMatch("city", "London"),
			qdrant.NewMatch("color", "red"),
		},
	},
})

```

Filtered points would be:

```json
[\
  { "id": 5, "city": "Moscow", "color": "green" },\
  { "id": 6, "city": "Moscow", "color": "blue" }\
]

```

When using `must_not`, the clause becomes `true` if none of the conditions listed inside `should` is satisfied.
In this sense, `must_not` is equivalent to the expression `(NOT A) AND (NOT B) AND (NOT C)`.

### [Anchor](https://qdrant.tech/documentation/concepts/filtering/\#clauses-combination) Clauses combination

It is also possible to use several clauses simultaneously:

httppythontypescriptrustjavacsharpgo

```http
POST /collections/{collection_name}/points/scroll
{
    "filter": {
        "must": [\
            { "key": "city", "match": { "value": "London" } }\
        ],
        "must_not": [\
            { "key": "color", "match": { "value": "red" } }\
        ]
    }
}

```


 top; text-align: center; color: #b7bbc0; cursor: pointer; z-index: 100000; font-size:30px;margin-left: 20px}
#rs_q_close { position: absolute; top: 20px;right: 20px; }
#rs_q_close:hover,
#ol_close:hover { color: #fff; }
#ol_results_wrap { width: 100%; height: 100%; top: 0px;left: 0px; z-index:30; box-sizing: border-box; overflow:hidden;position: relative}
#ol_results { box-sizing: border-box; position: relative;}
#ol_right   { padding: 90px 0px 70px 300px; width:100%; height:100%; box-sizing: border-box; position: relative; overflow:hidden; z-index: 30}
#ol_right_underlay {  background: rgba(32,34,36,0.65); position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; z-index: 50; display: none; cursor: pointer}
#ol_header  { position: fixed; line-height: 50px; width: 100%; display: block; top:0px; left:0px; z-index:40;  background:#202224; padding:10px 30px 10px 300px; box-sizing: border-box;}
#ol_footer  { position: fixed; line-height: 50px; width: 100%; display: block; bottom:0px; left:0px; z-index: 40; background:#202224; padding:10px 40px; box-sizing: border-box}
#objectlibrary .rb_the_logo,
.RS_Q_E .rb_the_logo { position:absolute; top:15px; left:15px; height:20px; line-height: 20px;  color: #2d2e32; background: #fff; border-radius:4px; font-size: 17px; font-weight: 900; text-align: center ; z-index: 50; padding: 0px 5px;letter-spacing: -1px }
.RS_Q_E .rb_the_logo { position:relative; top:0px; left:0px;  font-weight: 900;  padding: 0px 5px;  display: inline-block;margin-right: 15px; vertical-align: top}
#ol_filters { padding: 70px 20px 70px 40px; box-sizing: border-box; display: block;  position: relative; height: 100%; width: 100%; overflow: hidden; }
#searchobjects { font-size: 20px; color:#fff; background: none; border: none; outline:none; box-shadow: none; font-weight: 500;  line-height:50px; padding: 0px; width: 350px; }
#obj_fil_favorite,
#obj_updatefromserver,
#obj_addsliderasmodal { font-size: 17px; color: #797b7e; font-weight: 500; display: inline-block; margin-right: 25px; cursor: pointer; vertical-align: top }
#obj_fil_favorite i.material-icons,
#obj_updatefromserver i.material-icons { font-size: 17px; margin-right: 5px; }
#obj_updatefromserver { margin-left: 20px; margin-right: 0px}
#obj_fil_favorite:hover,
#obj_updatefromserver:hover,
#obj_fil_favorite.selected { color: #fff; }
#ol_pagination_wrap { display: inline-block; margin-right:20px;}

._TPRB_ .ol_filter_listelement{ font-size: 17px; color: #797b7e; line-height: 30px; cursor: pointer; vertical-align: top; position: relative; font-weight: 500}
._TPRB_ .ol_filter_listelement:hover,
._TPRB_ .ol_filter_listelement.selected { color: #fff; }
._TPRB_ .filter_type_name,
._TPRB_ .filter_tag_name { text-


PrimitiveTopology(9)
        val PATCH_LIST = VkPrimitiveTopology(10)
    }
}

@JvmInline
value class VkPolygonMode(val i: Int) {
    companion object {
        val FILL = VkPolygonMode(0)
        val LINE = VkPolygonMode(1)
        val POINT = VkPolygonMode(2)
        val FILL_RECTANGLE_NV = VkPolygonMode(1000153000)
    }
}

@JvmInline
value class VkFrontFace(val i: Int) {
    companion object {
        val COUNTER_CLOCKWISE = VkFrontFace(0)
        val CLOCKWISE = VkFrontFace(1)
    }
}

@JvmInline
value class VkCompareOp(val i: Int) {
    companion object {
        val NEVER = VkCompareOp(0)
        val LESS = VkCompareOp(1)
        val EQUAL = VkCompareOp(2)
        val LESS_OR_EQUAL = VkCompareOp(3)
        val GREATER = VkCompareOp(4)
        val NOT_EQUAL = VkCompareOp(5)
        val GREATER_OR_EQUAL = VkCompareOp(6)
        val ALWAYS = VkCompareOp(7)
    }
}

@JvmInline
value class VkStencilOp(val i: Int) {
    companion object {
        val KEEP = VkStencilOp(0)
        val ZERO = VkStencilOp(1)
        val REPLACE = VkStencilOp(2)
        val INCREMENT_AND_CLAMP = VkStencilOp(3)
        val DECREMENT_AND_CLAMP = VkStencilOp(4)
        val INVERT = VkStencilOp(5)
        val INCREMENT_AND_WRAP = VkStencilOp(6)
        val DECREMENT_AND_WRAP = VkStencilOp(7)
    }
}package vkk.vk11.structs

import kool.Adr
import kool.Ptr
import org.lwjgl.system.MemoryStack
import org.lwjgl.system.MemoryUtil.NULL
import org.lwjgl.vulkan.VkImageMemoryRequirementsInfo2.*
import vkk.VkStructureType
import vkk.entities.VkImage

/**
 * (None).
 *
 *
Valid Usage

 *
 *

 *
If {@code image} was created with a multi-planar format and the {@link VK11#VK_IMAGE_CREATE_DISJOINT_BIT IMAGE_CREATE_DISJOINT_BIT} flag, there must be a {@link VkImagePlaneMemoryRequirementsInfo} in the {@code pNext} chain of the {@link VkImageMemoryRequirementsInfo2} structure

 *
If {@code image} was created with {@link VK11#VK_IMAGE_CREATE_DISJOINT_BIT IMAGE_CREATE_DISJOINT_BIT} and with {@link EXTImageDrmFormatModifier#VK_IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT}, then there must be a {@link VkImagePlaneMemoryRequirementsInfo} in the {@code pNext} chain of the {@link VkImageMemoryRequirementsInfo2} structure

 *
If {@code image} was not created with the {@link VK11#VK_IMAGE_CREATE_DISJOINT_BIT IMAGE_CREATE_DISJOINT_BIT} flag, there must not be a {@link VkImagePlaneMemoryRequirementsInfo} in the {@code pNext} chain of the {@link VkImageMemoryRequirementsInfo2} structure

 *
If {@code image} was created with a single-plane format and with any {@code tiling} other than {@link EXTIma


1      SHL     tidX, tidX, 2;
--:-:-:-:1      SHR.U32 tidY, tid,  5;

// trackF += blkF*128 + tidX
--:-:-:-:1      ISCADD  offsetFk, idx_K, tidX, 7;

// trackI += blkI*128 + tidX
08:-:-:-:1      ISCADD  offsetIn, idx_N, tidX, 7;

// writeS = (128*tidY + tidX) * 4
--:-:-:-:1      ISCADD  writeS, tidY, tidX, 7;
--:-:-:-:1      SHL     writeS, writeS, 2;

// readFs = ((tid & 112) >> 3) | (tid & 1)
--:-:-:-:1      LOP.AND tid1,   tid,    1;
--:-:-:-:1      LOP.AND readFs, tid,    112;
--:-:-:-:1      SHR.U32 readFs, readFs, 3;
--:-:-:-:1      LOP.OR  readFs, readFs, tid1;
--:-:-:-:1      SHL     readFs, readFs, 4;

// readIs = ((tid & 128) >> 3) | ((tid >> 1) & 7)
--:-:-:-:1      LOP.AND tid128, tid,    128;
--:-:-:-:1      SHR.U32 tid128, tid128, 3;
--:-:-:-:1      BFE.U32 readIs, tid,    0x301; // 3 bits at position 1
--:-:-:-:1      LOP.OR  readIs, readIs, tid128;
--:-:-:-:0      ISCADD  readIs, readIs, 4x<szShareF>, 4;
</SCHEDULE_BLOCK>

[+ load_lut() +]

--:-:2:-:1  @P1 LDG.E.CI.64 loadF, [trackF];
--:-:5:-:1 @!P1 LDS.U.64    loadF, [addr_zero];

--:-:3:-:1  @P1 LDG.E.64    loadI, [trackI];
--:-:6:-:1 @!P1 LDS.U.64    loadI, [addr_zero];

12:-:-:-:1      [+ convert() +] storeF3, loadF1.H1;
--:-:-:-:1      [+ convert() +] storeF2, loadF1.H0;
--:-:-:-:1      [+ convert() +] storeF1, loadF0.H1;
--:-:2:-:2      [+ convert() +] storeF0, loadF0.H0;

02:1:-:-:2      STS.128 [writeS], storeF;

25:-:-:-:1      [+ convert() +] storeI3, loadI1.H1;
--:-:-:-:1      [+ convert() +] storeI2, loadI1.H0;
--:-:-:-:1      [+ convert() +] storeI1, loadI0.H1;
--:-:2:-:2      [+ convert() +] storeI0, loadI0.H0;

02:1:-:-:1      STS.128 [writeS + 4x<szShareF>], storeI;

[+ loop_setup() +]

--:-:2:-:2  @P1 LDG.E.CI.64 loadF, [trackF];
--:-:3:-:1  @P1 LDG.E.64    loadI, [trackI];

[-
    our $convert;
    our %insert =
    (
        j0c1  => "--:-:-:-:1      ISETP.GE.AND P1, PT, posCRST,  RZ, PT;\n",
        j0c3  => "--:-:-:-:1      ISETP.GE.AND P0, PT, posCRST


,160)}.ace-cobalt .ace_print-margin {width: 1px;background: #555555}.ace-cobalt {background-color: #002240;color: #FFFFFF}.ace-cobalt .ace_cursor {color: #FFFFFF}.ace-cobalt .ace_marker-layer .ace_selection {background: rgba(179, 101, 57, 0.75)}.ace-cobalt.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #002240;}.ace-cobalt .ace_marker-layer .ace_step {background: rgb(127, 111, 19)}.ace-cobalt .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_marker-layer .ace_active-line {background: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_gutter-active-line {background-color: rgba(0, 0, 0, 0.35)}.ace-cobalt .ace_marker-layer .ace_selected-word {border: 1px solid rgba(179, 101, 57, 0.75)}.ace-cobalt .ace_invisible {color: rgba(255, 255, 255, 0.15)}.ace-cobalt .ace_keyword,.ace-cobalt .ace_meta {color: #FF9D00}.ace-cobalt .ace_constant,.ace-cobalt .ace_constant.ace_character,.ace-cobalt .ace_constant.ace_character.ace_escape,.ace-cobalt .ace_constant.ace_other {color: #FF628C}.ace-cobalt .ace_invalid {color: #F8F8F8;background-color: #800F00}.ace-cobalt .ace_support {color: #80FFBB}.ace-cobalt .ace_support.ace_constant {color: #EB939A}.ace-cobalt .ace_fold {background-color: #FF9D00;border-color: #FFFFFF}.ace-cobalt .ace_support.ace_function {color: #FFB054}.ace-cobalt .ace_storage {color: #FFEE80}.ace-cobalt .ace_entity {color: #FFDD00}.ace-cobalt .ace_string {color: #3AD900}.ace-cobalt .ace_string.ace_regexp {color: #80FFC2}.ace-cobalt .ace_comment {font-style: italic;color: #0088FF}.ace-cobalt .ace_heading,.ace-cobalt .ace_markup.ace_heading {color: #C8E4FD;background-color: #001221}.ace-cobalt .ace_list,.ace-cobalt .ace_markup.ace_list {background-color: #130D26}.ace-cobalt .ace_variable {color: #CCCCCC}.ace-cobalt .ace_variable.ace_language {color: #FF80E1}.ace-cobalt .ace_meta.ace_tag {color: #9EFFFF}.ace-cobalt .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});
                (function() {
                    window.require(["ace/theme/cobalt"], function(m) {
                        if (typeof module == "object" && typeof exports == "object" && module) {
                            module.exports = m;
                        }
                    });
                })();
            define("ace/theme/katzenmilch",["require


w(int64(2), nil, "second row", int32(42)),
					sql.NewRow(int64(3), nil, "third row", int32(42)),
				},
			},
			{
				Query:    "insert into mytable values (4, 's2', 'fourth row', 11);",
				Expected: []sql.Row{{types.NewOkResult(1)}},
			},
			{
				Query:    "update mytable set s2 = 'updated s2' where i2 = 42;",
				Expected: []sql.Row{{types.OkResult{RowsAffected: 3, Info: plan.UpdateInfo{Matched: 3, Updated: 3}}}},
			},
			{
				Query: "SELECT * FROM mytable ORDER BY i;",
				Expected: []sql.Row{
					sql.NewRow(int64(1), "updated s2", "first row", int32(42)),
					sql.NewRow(int64(2), "updated s2", "second row", int32(42)),
					sql.NewRow(int64(3), "updated s2", "third row", int32(42)),
					sql.NewRow(int64(4), "s2", "fourth row", int32(11)),
				},
			},
		},
	},
	{
		Name: "first with default",
		Assertions: []ScriptTestAssertion{
			{
				Query:    "ALTER TABLE mytable ADD COLUMN s3 VARCHAR(25) COMMENT 'hello' default 'yay' FIRST",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query: "SHOW FULL COLUMNS FROM mytable",
				Expected: []sql.Row{
					{"s3", "varchar(25)", "utf8mb4_0900_bin", "YES", "", "'yay'", "", "", "hello"},
					{"i", "bigint", nil, "NO", "PRI", nil, "", "", ""},
					{"s2", "text", "utf8mb4_0900_bin", "YES", "", nil, "", "", "hello"},
					{"s", "varchar(20)", "utf8mb4_0900_bin", "NO", "UNI", nil, "", "", "column s"},
					{"i2", "int", nil, "YES", "", "42", "", "", "hello"},
				},
			},
			{
				Query: "SELECT * FROM mytable ORDER BY i;",
				Expected: []sql.Row{
					sql.NewRow("yay", int64(1), "updated s2", "first row", int32(42)),
					sql.NewRow("yay", int64(2), "updated s2", "second row", int32(42)),
					sql.NewRow("yay", int64(3), "updated s2", "third row", int32(42)),
					sql.NewRow("yay", int64(4), "s2", "fourth row", int32(11)),
				},
			},
		},
	},
	{
		Name: "middle, no default, non null",
		Assertions: []ScriptTestAssertion{
			{
				Query:    "ALTER TABLE mytable ADD COLUMN s4 VARCHAR(1) not null after s3",
				Expected: []sql.Row{{types.NewOkResult(0)}},
			},
			{
				Query: "SHOW FULL COLUMNS FROM mytable",
				Expected: []sql.Row{
					{"s3", "varchar(25)", "utf8mb4_0900_bin", "YES", "", "'yay'", "", "", "hello"},
					{"s4", "varchar(1)", "utf8mb4_0900_bin", "NO", "", nil, "", "", ""},
					{"i", "bigint", nil, "NO", "PRI", nil, "", "", ""},
					{"s2", "text", "utf8mb4_0900_bin", "YES", "", nil, "", "", "hello"},
					{"s", "varchar(20)", "utf8mb4_0900_bin", "NO", "UNI", nil, "", "", "column s"},
					{"i2", "


/*

Copyright 2012, Free Software Foundation, Inc.

This file is part of the GNU MP Library test suite.

The GNU MP Library test suite is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 3 of the License,
or (at your option) any later version.

The GNU MP Library test suite is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
Public License for more details.

You should have received a copy of the GNU General Public License along with
the GNU MP Library test suite.  If not, see https://www.gnu.org/licenses/.  */

#include <assert.h>
#include <stdlib.h>
#include <stdio.h>

#include "testutils.h"

#define MAXBITS 400
#define COUNT 10000

typedef void div_func (mpz_t, const mpz_t, mp_bitcnt_t);

void
testmain (int argc, char **argv)
{
  unsigned i;
  mpz_t a, res, ref;
  mp_bitcnt_t b;

  mpz_init (a);
  mpz_init (res);
  mpz_init (ref);

  for (i = 0; i < COUNT; i++)
    {
      unsigned j;
      for (j = 0; j < 6; j++)
	{
	  static const enum hex_random_op ops[6] =
	    {
	      OP_CDIV_Q_2, OP_CDIV_R_2,
	      OP_FDIV_Q_2, OP_FDIV_R_2,
	      OP_TDIV_Q_2, OP_TDIV_R_2
	    };
	  static const char *name[6] =
	    {
	      "cdiv_q", "cdiv_r",
	      "fdiv_q", "fdiv_r",
	      "tdiv_q", "tdiv_r"
	    };
	  static div_func * const div [6] =
	    {
	      mpz_cdiv_q_2exp, mpz_cdiv_r_2exp,
	      mpz_fdiv_q_2exp, mpz_fdiv_r_2exp,
	      mpz_tdiv_q_2exp, mpz_tdiv_r_2exp
	    };

	  mini_random_bit_op (ops[j], MAXBITS, a, &b, ref);
	  div[j] (res, a, b);
	  if (mpz_cmp (ref, res))
	    {
	      fprintf (stderr, "mpz_%s_2exp failed:\n", name[j]);
	      dump ("a", a);
	      fprintf (stderr, "b: %lu\n", b);
	      dump ("r", res);
	      dump ("ref", ref);
	      abort ();
	    }
	}
    }
  mpz_clear (a);
  mpz_clear (res);
  mpz_clear (ref);
}


rmat (ASN.1 or PEM).

ec

                  Set to indicate what error occurred, if any.

            Remarks

            Calls SSL_CTX_use_RSAPrivateKey
            or SSL_CTX_use_RSAPrivateKey_ASN1.

Copyright © 2003-2014 Christopher M. Kohlhoff

        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>ssl::context::use_certificate_file (1 of 2 overloads)</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
<link rel="prev" href="../use_certificate_file.html" title="ssl::context::use_certificate_file">
<link rel="next" href="overload2.html" title="ssl::context::use_certificate_file (2 of 2 overloads)">

Home
Libraries
People
FAQ
More

<div class="spirit-


#include "ULUS10536_MYTHREAD-MAIN.BIN.h"

void FUN_088ea620(int *param_1,short *param_2)

{
  short sVar1;
  int iVar2;
  float fVar3;
  float fVar4;
  float fVar5;

  if (*param_1 == 0) {
    return;
  }
  iVar2 = *param_1;
  fVar5 = (float)(int)*param_2 * 6.283185 * 1.525902e-05;
  if (3.141593 < fVar5) {
    fVar5 = fVar5 - 6.283185;
LAB_088ea6a4:
    sVar1 = param_2[1];
  }
  else {
    if (fVar5 <= -3.141593) {
      fVar5 = fVar5 + 6.283185;
      goto LAB_088ea6a4;
    }
    sVar1 = param_2[1];
  }
  fVar3 = (float)(int)sVar1 * 6.283185 * 1.525902e-05;
  if (3.141593 < fVar3) {
    fVar3 = fVar3 - 6.283185;
  }
  else {
    if (-3.141593 < fVar3) {
      sVar1 = param_2[2];
      goto LAB_088ea6f0;
    }
    fVar3 = fVar3 + 6.283185;
  }
  sVar1 = param_2[2];
LAB_088ea6f0:
  fVar4 = (float)(int)sVar1 * 6.283185 * 1.525902e-05;
  if (3.141593 < fVar4) {
    fVar4 = fVar4 - 6.283185;
  }
  else if (fVar4 <= -3.141593) {
    fVar4 = fVar4 + 6.283185;
  }
  *(float *)(iVar2 + 0x30) = fVar5;
  *(float *)(iVar2 + 0x34) = fVar3;
  *(float *)(iVar2 + 0x38) = fVar4;
  *(undefined4 *)(iVar2 + 0x3c) = 0;
  return;
}


  }

  //增
  addHeroes(hero: Hero): Observable<Hero> {
    return this.http.post<Hero>(this.heroUrl, hero, httpOptions)
      .pipe(
        catchError(this.handleError('addHeroes', hero))
      )
  }

  //刪
  deloteHero(id: number): Observable<{}> {
    const url = `${this.heroUrl}/${id}`
    return this.http.delete(url, httpOptions)
      .pipe(
        catchError(this.handleError('deleteHero'))
      )
  }

//改
  updateHero(hero: Hero): Observable<Hero> {
    httpOptions.headers = httpOptions.headers.set('Authorization', 'my-new-auth-token')

    return this.http.put<Hero>(this.heroUrl, hero, httpOptions)
      .pipe(
        catchError(this.handleError('updateHero', hero))
      )
  }

}
/* eslint-disable @typescript-eslint/no-non-null-assertion */
import { expect } from "chai";
import { withFixtures, createFixture } from "./fixture";
import { html, css, unsafeCSS, useStyle } from "..";

const fontSize = (size: unknown) => () => css`
  div {
    font-size: ${size}px;
  }
`;

const sanitizeCss = (css: string) => css.replace(/\s+/g, " ").trim();

const getCssText = (element: Element) => {
  let css;
  if ("adoptedStyleSheets" in element.shadowRoot!) {
    css = element.shadowRoot!.adoptedStyleSheets[0].cssRules[0].cssText;
  } else {
    css = element.shadowRoot!.querySelector("style")!.textContent;
  }
  return sanitizeCss(css || "");
};

describe(
  "use-style",
  withFixtures(
    () => (useStyle(fontSize(10)), html``),
    () => (useStyle(fontSize(css`10`)), html``),
    () => (useStyle(fontSize(unsafeCSS("10"))), html``),
    () => {
      useStyle(fontSize(10)());
      return html``;
    }
  )((fs) => {
    it("number value", async () => {
      const target = await fs[0].setup();
      expect(getCssText(target)).to.equal("div { font-size: 10px; }");
    });

    it("css value", async () => {
      const target = await fs[1].setup();
      expect(getCssText(target)).to.equal("div { font-size: 10px; }");
    });

    it("unsafe css", async () => {
      const target = await fs[2].setup();
      expect(getCssText(target)).to.equal("div { font-size: 10px; }");
    });

    it("disallow-type", async () => {
      let error: unknown = null;
      const f = createFixture(() => {
        useStyle(() => {
          try {
            return fontSize("10")();
          } catch (e) {
            error = e;
            return css``;
          }
        });
        return html``;
      });
      f.define();
      f.mount();
      await f.setup();

      expect(error).not.to.be.null;
    });

    it("allows css tag as argument", async () => {
      const target = await fs[3].setup();
      expect(getCssText(target)).to.equal("div { font-size: 10px; }");
    });
  })
);
/** スキルについての情報 */
interface SkillDetail {
  /** スキル名 */
  name: string
  /** スキルの表示名 */
  label: string
  /** スキルについての説明 */
  description: string
}

export default SkillDetail
import { List } from 'immutable';
import { GridTileData } from './@types';

const genRandomInt = (to = 256): number => Math.floor(Math.rand


ble[][] newDestPastSourceVectors;
		double[][] newDestNextPastSourceVectors;

		if (isPreviousObservations) {
			// We've already computed the joint vectors for these observations
			newDestPastVectors = destPastVectors;
			newDestNextPastVectors = destNextPastVectors;
			newDestPastSourceVectors = destPastSourceVectors;
			newDestNextPastSourceVectors = destNextPastSourceVectors;
		} else {
			// We need to compute a new set of joint vectors
			newDestPastVectors = makeJointVectorForPast(destination);
			newDestNextPastVectors = makeJointVectorForNextPast(destination);
			newDestPastSourceVectors = makeJointVectorForPastSource(destination, source);
			newDestNextPastSourceVectors = makeJointVectorForNextPastSource(destination, source);
		}

		double te = 0.0;
		int numLocalObservations = newDestPastVectors.length;
		double[] localTE;
		int offset = 0;
		if (isPreviousObservations && addedMoreThanOneObservationSet) {
			// We're returning the local values for a set of disjoint
			//  observations. So we don't add k zeros to the start
			localTE = new double[numLocalObservations];
			offset = 0;
		} else {
			localTE = new double[numLocalObservations + k];
			offset = k;
		}
		double countPast, countNextPast, countPastSource, countNextPastSource;
		for (int b = 0; b < numLocalObservations; b++) {
			if (isPreviousObservations) {
				countPast = mvkeDestinationPast.getCount(newDestPastVectors[b], b);
				countNextPast = mvkeDestinationNextPast.getCount(newDestNextPastVectors[b], b);
				countPastSource = mvkeDestinationPastSource.getCount(newDestPastSourceVectors[b], b);
				countNextPastSource = mvkeDestinationNextPastSource.getCount(newDestNextPastSourceVectors[b], b);
			} else {
				countPast = mvkeDestinationPast.getCount(newDestPastVectors[b]);
				countNextPast = mvkeDestinationNextPast.getCount(newDestNextPastVectors[b]);
				countPastSource = mvkeDestinationPastSource.getCount(newDestPastSourceVectors[b]);
				countNextPastSource = mvkeDestinationNextPastSource.getCount(newDestNextPastSourceVectors[b]);
			}
			double logTerm = 0.0;
			double local = 0.0;
			if (countNextPastSource > 0) {
				logTerm = (countNextPastSource / countPastSource) / (countNextPast / countPast);
				local = Math.log(logTerm) / Math.log(2.0);
			}
			localTE[offset + b] = local;
			te += local;
			if (debug) {
				System.out.println(b + ": " + logTerm + " -> " + local + " -> sum: " + te);
			}
		}
		lastAverage = te / (double) numLocalObservations;
		return localTE;
	}

	/**
	 * Combine the past and source values into a joint vector
	 *
	 * @param destination
	 * @param source
	 * @return
	 */
	private double[][] makeJointVectorForPastSource(double[] destination, double[] source) {
		double[][] destPastSourceVectors = new double[destination.length - k][k + 1];
		for (int t = k; t < destination.length; t++) {
			for (int i = 0; i < k; i++) {
				destPastSourceVectors[t - k][i] = destination[t - i - 1];
			}
			destPastSourceVectors[t - k][k] = source[t - 1];
		}
		return destPastSourceVectors;
	}

	/**
	 * Compute the next, past and source values into a joint vector
	 *
	 * @param destination
	 * @param source
	 * @return
	 */
	private double[][] makeJointVectorForNextPastSource(double[] destination, double[] source) {
		double[][] destNextPastSourceVectors = new double[destination.length - k


  }
  for (size_t i = 100; i < 150; i++) {
    EXPECT_EQ(0, buf->data[i]);
  }

  // BUF_MEM_grow can rellocate if necessary.
  size_t new_len = buf->max + 1;
  ASSERT_EQ(new_len, BUF_MEM_grow(buf.get(), new_len));
  EXPECT_GE(buf->max, new_len);
  EXPECT_EQ(new_len, buf->length);
  for (size_t i = 0; i < 100; i++) {
    EXPECT_EQ('B', buf->data[i]);
  }
  for (size_t i = 100; i < new_len; i++) {
    EXPECT_EQ(0, buf->data[i]);
  }

  // BUF_MEM_grow can shink.
  ASSERT_EQ(50u, BUF_MEM_grow(buf.get(), 50));
  EXPECT_EQ(50u, buf->length);
  for (size_t i = 0; i < 50; i++) {
    EXPECT_EQ('B', buf->data[i]);
  }
}

TEST(BufTest, Append) {
  bssl::UniquePtr<BUF_MEM> buf(BUF_MEM_new());
  ASSERT_TRUE(buf);

  ASSERT_TRUE(BUF_MEM_append(buf.get(), nullptr, 0));
  ASSERT_TRUE(BUF_MEM_append(buf.get(), "hello ", 6));
  ASSERT_TRUE(BUF_MEM_append(buf.get(), nullptr, 0));
  ASSERT_TRUE(BUF_MEM_append(buf.get(), "world", 5));
  std::string str(128, 'A');
  ASSERT_TRUE(BUF_MEM_append(buf.get(), str.data(), str.size()));

  EXPECT_EQ("hello world" + str, std::string(buf->data, buf->length));
}
/* Copyright (c) 2014, Google Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */

#include <openssl/lhash.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <algorithm>
#include <memory>
#include <map>
#include <string>
#include <utility>
#include <vector>

#include <openssl/mem.h>

#include <gtest/gtest.h>

#include "internal.h"

DEFINE_LHASH_OF(char)

static std::unique_ptr<char[]> RandString(void) {
  unsigned len = 1 + (rand() % 3);
  std::unique_ptr<char[]> ret(new char[len + 1]);

  for (unsigned i = 0; i < len; i++) {
    ret[i] = '0' + (rand() & 7);
  }
  ret[len] = 0;

  return ret;
}

struct FreeLHASH_OF_char {
  void operator()(LHASH_OF(char) *lh) { lh_char_free(lh); }
};

static const char *Lookup(
    std::map<std::string, std::unique_ptr<char[]>> *dummy_lh, const char *key) {
  // Using operator[] implicitly inserts into the map.
  auto iter = dummy_lh->find(key);
  if (iter == dummy_lh->end()) {
    return nullptr;
  }
  return iter->second.get();
}

TEST(LHashTest, Basic) {
  std::unique_ptr<LHASH_OF(char), FreeLHASH_OF_char> lh(
      lh_char_new(OPENSSL_strhash, strcmp));
  ASSERT_TRUE(lh);

  // lh is expected to store a canonical instance of each string


rprise Tactics"},
		weightkg: 0,
		eggGroups: [],
		spriteid: "eternity",
	},
	normalflandre: {
		num: 77,
		name: "Normal Flandre",
		types: ["Dark", "Light"],
		gender: "F",
		baseStats: {hp: 35, atk: 70, def: 35, spa: 70, spd: 35, spe: 70},
		abilities: {0: "Hot Head", 1: "Overwhelm"},
		weightkg: 4,
		eggGroups: [],
		spriteid: "flandre",
	},
	speedflandre: {
		num: 78,
		name: "Speed Flandre",
		types: ["Dark", "Light"],
		gender: "F",
		baseStats: {hp: 70, atk: 120, def: 60, spa: 120, spd: 60, spe: 110},
		abilities: {0: "Hot Head", 1: "Unbound"},
		weightkg: 4,
		eggGroups: [],
		spriteid: "flandre",
	},
	powerflandre: {
		num: 79,
		name: "Power Flandre",
		types: ["Dark", "Fire"],
		gender: "F",
		baseStats: {hp: 50, atk: 115, def: 90, spa: 145, spd: 60, spe: 80},
		abilities: {0: "Sutei's Fire", 1: "Overwhelm"},
		weightkg: 4,
		eggGroups: [],
		spriteid: "flandre",
	},
	extraflandre: {
		num: 80,
		name: "Extra Flandre",
		types: ["Warped", "Light"],
		gender: "F",
		baseStats: {hp: 95, atk: 120, def: 120, spa: 50, spd: 85, spe: 70},
		abilities: {0: "Full Power", 1: "Unbound"},
		weightkg: 4,
		eggGroups: [],
		spriteid: "flandre",
	},
	normalfuto: {
		num: 81,
		name: "Normal Futo",
		types: ["Wind", "Water"],
		gender: "F",
		baseStats: {hp: 45, atk: 40, def: 55, spa: 60, spd: 35, spe: 70},
		abilities: {0: "Deploy Smoke", 1: "Weather Resist"},
		weightkg: 3,
		eggGroups: [],
		spriteid: "futo",
	},
	speedfuto: {
		num: 82,
		name: "Speed Futo",
		types: ["Wind", "Water"],
		gender: "F",
		baseStats: {hp: 65, atk: 70, def: 90, spa: 105, spd: 55, spe: 135},
		abilities: {0: "Deploy Smoke", 1: "Strategist"},
		weightkg: 3,
		eggGroups: [],
		spriteid: "futo",
	},
	powerfuto: {
		num: 83,
		name: "Power Futo",
		types: ["Earth", "Fire"],
		gender: "F",
		baseStats: {hp: 80, atk: 60, def: 55, spa: 120, spd: 95, spe: 110},
		abilities: {0: "Deploy Smoke", 1: "Unbound"},
		weightkg: 3,
		eggGroups: [],
		spriteid: "futo",
	},
	extrafuto: {
		num: 84,
		name: "Extra Futo",
		types: ["Nether", "Fighting"],
		gender: "F",
		baseStats: {hp: 80, atk: 110, def: 60, spa: 60, spd: 80, spe: 130},
		abilities: {0: "Sore Loser", 1: "Active"},
		weightkg: 3,
		eggGroups: [],
		spriteid: "futo",
	},
	normalgengetsu: {
		num: 85,
		name: "Normal Gengetsu",
		types: ["Illusion", "


      for (i = 0; i < fac_len; i++) {
        ener_tmp += acelp_folded[i] * acelp_folded[i];
      }

      if (ener_tmp > ener)
        fac_gain = (FLOAT32)sqrt(ener / ener_tmp);
      else
        fac_gain = 1.0f;

      for (i = 0; i < fac_len; i++) {
        left_fac_time_data[i + ORDER + fac_len] -= fac_gain * acelp_folded[i];
      }
    }

    for (i = 0; i < 2 * fac_len + ORDER; i++) {
      left_fac_timedata_flt[i] = (FLOAT32)left_fac_time_data[i];
    }

    lpc_coeffs_q = pstr_acelp->lpd_state.lpc_coeffs_quant;
    lpc_coeffs_q += ORDER + 1;
    iusace_get_weighted_lpc(lpc_coeffs_q, lpc_coeffs);
    iusace_compute_lp_residual(lpc_coeffs, left_fac_timedata_flt + ORDER + fac_len, tmp_lp_res,
                               fac_len);
    FLOAT32 coeff = (2.0f / (FLOAT32)fac_len);
    for (i = 0; i < fac_len; i++) {
      tmp_lp_res[i] = tmp_lp_res[i] * coeff;
    }

    iusace_tcx_mdct(tmp_lp_res, left_fac_spec, fac_len, pstr_scratch);
    memset(&left_fac_spec[low_pass_line], 0, (fac_len - low_pass_line) * sizeof(FLOAT32));

    fac_gain = iusace_calc_sq_gain(left_fac_spec, 240, fac_len, pstr_scratch->p_sq_gain_en);

    index = (WORD32)floor(0.5f + (28.0f * (FLOAT32)log10(fac_gain)));
    if (index < 0) index = 0;
    if (index > 127) index = 127;
    iusace_write_bits2buf(index, 7, fac_bits_word);
    *num_fac_bits += 7;
    fac_gain = (FLOAT32)pow(10.0f, ((FLOAT32)index) / 28.0f);

    for (i = 0; i < fac_len; i++) {
      left_fac_spec[i] /= fac_gain;
    }

    for (i = 0; i < fac_len; i += 8) {
      iusace_find_nearest_neighbor(&left_fac_spec[i], &fac_prm[i]);
    }

    *num_fac_bits += iusace_fd_encode_fac(fac_prm, &fac_bits_word[7], fac_len);

    for (i = 0; i < (*num_fac_bits + 7) / 8; i++) {
      fac_prm_out[i] =
          (WORD16)((fac_bits_word[8 * i + 0] & 0x1) << 7 | (fac_bits_word[8 * i + 1] & 0x1) << 6 |
                   (fac_bits_word[8 * i + 2] & 0x1) << 5 | (fac_bits_word[8 * i + 3] & 0x1) << 4 |
                   (fac_bits_word[8 * i + 4] & 0x1) << 3 | (fac_bits_word[8 * i + 5] & 0x1) << 2 |
                   (fac_bits_word[8 * i + 6] & 0x1) << 1 | (fac_bits_word[8 * i + 7] & 0x1) << 0);
    }
  } else {
    *num_fac_bits = 0;
  }

  if (next_frm_lpd) {
    for (i = 0; i < 1024 / 2 + 1 + ORDER; i++) {
      pstr_acelp->fd_synth[i] = (FLOAT32)synth_time[pstr_acelp->len_frame - 1 + i - ORDER];
      pstr_acelp->fd_orig[i] = (FLOAT32)orig_sig_dbl[pstr_acelp->len_frame + i - ORDER];
    }

    pstr_acelp->low_pass_line = low_pass_line;
  }

  return IA_NO_ERROR;
}


                      description='Sufficient for only 1 person'
                    ),
                    CabinDetailsDTO(
                        cabin_id=str(fourth_floor_pod_3b.id),
                        name="Call pod 3b",
                        cabin_type='CALL_POD_CABINS',
                        description='Sufficient for only 1 person'
                    ),
                    CabinDetailsDTO(
                        cabin_id=str(fourth_floor_pod_3c.id),
                        name="Call pod 3c",
                        cabin_type='CALL_POD_CABINS',
                        description='Sufficient for only 1 person'
                    ),
                    CabinDetailsDTO(
                        cabin_id=str(fourth_floor_pod_3d.id),
                        name="Call pod 3d",
                        cabin_type='CALL_POD_CABINS',
                        description='Sufficient for only 1 person'
                    ),
                    CabinDetailsDTO(
                        cabin_id=str(fourth_floor_pod_3e.id),
                        name="Call pod 3e",
                        cabin_type='CALL_POD_CABINS',
                        description='Sufficient for only 1 person'
                    )
                ]
            )
        ]
        assert response == expected_dto

    def test_cabin_does_not_exist(self):
        storage = CabinDB()
        response = storage.get_cabins_details()
        assert response == []


e.user.email,
                    str(module.id),
                    str(module),
                    str(exercise.id),
                    str(exercise),
                    submission.status,
                    str(submission.grade),
                ])

    def export_json(self, cid):
        instance = CourseInstance.objects.filter(id=cid).first()
        if not instance:
            raise CommandError('Course instance not found.')
        students = [u['id'] for u in instance.students.values('id')]

        data = []
        for exercise in BaseExercise.objects.filter(course_module__course_instance=instance).all():
            module = exercise.course_module
            submissions = [s for s in exercise.submissions.all() if s.submitters.first().id in students]
            for submission in submissions:
                profile = submission.submitters.first()
                data.append({
                    'Time': str(submission.submission_time),
                    'UID': str(profile.id),
                    'Email': profile.user.email,
                    'MID': str(module.id),
                    'Module': str(module),
                    'EID': str(exercise.id),
                    'Exercise': str(exercise),
                    'Status': submission.status,
                    'Grade': str(submission.grade),
                    'Submission data': submission.submission_data or [],
                    'Grading data': submission.grading_data or {},
                })
        self.stdout.write(json.dumps(data))

    def export_views(self, cid):
        instance = CourseInstance.objects.filter(id=cid).first()
        if not instance:
            raise CommandError('Course instance not found.')

        students = [u['id'] for u in instance.students.values('id')]
        displays = [d for d in (LearningObjectDisplay.objects
            .prefetch_related('profile', 'learning_object')
            .all()
        ) if d.profile.id in students]

        self.print_row(['Time', 'UID', 'Email', 'MID', 'Module', 'EID', 'Exercise'])
        for d in displays:
            module = d.learning_object.course_module
            self.print_row([
                str(d.timestamp),
                str(d.profile.id),
                d.profile.user.email,
                str(module.id),
                str(module),
                str(d.learning_object.id),
                str(d.learning_object),
            ])

    def print_row(self, fields, quote=False):
        if quote:
            fields = ['"{}"'.format(self.quote(f)) for f in fields]
        self.stdout.write(','.join(fields))

    def quote(self, value):
        for m,s in [('"','\''),('\n','\\n'),('\r','\\r'),('\t','\\t')]:
            value = value.replace(m, s)
        return value

    def strip_html_tags(self, value):
        return re.sub('<[^>+?]>', '', value)


ing-right: $padding;

    [dir='rtl'] & {
      padding-right: 0;
      padding-left: $padding;
    }
  }

  // Ensure that long labels don't collide with the select arrow.
  .mat-form-field-label-wrapper {
    max-width: calc(100% - #{$arrow-size * 2});
  }

  &.mat-form-field-appearance-outline .mat-form-field-infix::after {
    margin-top: -$arrow-size;
  }

  &.mat-form-field-appearance-fill .mat-form-field-infix::after {
    margin-top: -$arrow-size * 2;
  }
}
@use 'sass:math';

$blg-paginator-height: 56px;
$blg-paginator-padding: 0 8px;

$blg-paginator-page-size-margin-right: 0px;

$blg-paginator-items-per-page-label-margin: 0 0px;
$blg-paginator-selector-margin: 6px 4px 0 4px;
$blg-paginator-selector-trigger-width: 56px;
$blg-paginator-selector-trigger-outline-width: 64px;
$blg-paginator-selector-trigger-fill-width: 64px;

$blg-paginator-range-label-margin: 0 24px 0 24px;

$blg-paginator-button-margin: 8px;
$blg-paginator-button-icon-height: 8px;
$blg-paginator-button-icon-width: 8px;

$blg-paginator-button-increment-icon-margin: 12px;
$blg-paginator-button-decrement-icon-margin: 16px;

$blg-paginator-button-first-last-icon-width: 14px;

$blg-paginator-button-first-icon-margin: 3px;
$blg-paginator-button-last-icon-margin: 15px;

$blg-paginator-button-first-decrement-icon-margin: 21px;
$blg-paginator-button-last-increment-icon-margin: 9px;

// Icon Button standards
$blg-icon-button-size: 40px !default;
$blg-icon-button-border-radius: 50% !default;
$blg-icon-button-line-height: 24px !default;

.blg-paginator {
    display: block;
}

// Note: this wrapper element is only used to get the flexbox vertical centering to work
// with the `min-height` on IE11. It can be removed if we drop support for IE.
.blg-paginator-outer-container {
    display: flex;
}

.blg-paginator-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: $blg-paginator-height;
    padding: $blg-paginator-padding;
    flex-wrap: wrap-reverse;
    width: 100%;
    color: rgba(0,0,0,.54);
    font-size: .75rem;
}

.blg-paginator-page-size {
    display: flex;
    align-items: baseline;
    margin-right: $blg-paginator-page-size-margin-right;

    [dir='rtl'] & {
        margin-right: 0;
        margin-left: $blg-paginator-page-size-margin-right;
    }
}

.blg-paginator-page-size-label {
    margin: $blg-paginator-items-per-page-label-margin;
}

.blg-paginator-page-size-select {
    margin: $blg-paginator-selector-margin;
    width: $blg-paginator-selector-trigger-width;

    &.blg-form-field-appearance-outline {
        width: $blg-paginator-selector-trigger-outline-width;
    }

    &.blg-form-field-appearance-fill {
        width: $blg-paginator-selector-trigger-fill-width;
    }
}

.blg-paginator-range-label {
    margin: $blg-paginator-range-label-margin;
}

.blg-paginator-range-actions {
    display: flex;
    align-items: center;