        /// The height in pixel.
        /// </summary>
        [DefaultValue(512)]
        [Display(null, "Size")]
        public int Height { get; set; } = 512;

        /// <summary>
        /// The format.
        /// </summary>
        [DefaultValue(RenderTextureFormat.LDR)]
        [Display("Format", "Format")]
        public RenderTextureFormat Format { get; set; } = RenderTextureFormat.LDR;

        /// <summary>
        /// Texture will be stored in sRGB format (standard for color textures) and converted to linear space when sampled. Only relevant when working in Linear color space.
        /// </summary>
        /// <userdoc>
        /// Should be checked for all color textures, unless they are explicitly in linear space. Texture will be stored in sRGB format (standard for color textures) and converted to linear space when sampled. Only relevant when working in Linear color space.
        /// </userdoc>
        [DefaultValue(true)]
        [Display("sRGB sampling")]
        public bool UseSRgbSampling { get; set; } = true;

        public bool IsSRgb(ColorSpace colorSpaceReference) => ((colorSpaceReference == ColorSpace.Linear) && UseSRgbSampling);
    }
}


      listToFlat(
        item.children,
        pushCondition,
        childrenCondition,
        result,
        level + 1,
        pValues.concat([item.value])
      )
    }
  })

  return result
}

function flatListFilterWithGroupSelected(
  flatList: FlatListItem[],
  groupSelected: Value[]
) {
  return _.filter(flatList, (item) => {
    // 一级肯定是出来的
    if (item.level === 0) {
      return true
    } else {
      return groupSelected.includes(item.pValues[item.level - 1])
    }
  })
}

function getUnLeafValues(list: TreeListItem[]) {
  const flat = listToFlat(
    list,
    (item) => !!item.children,
    () => true
  )

  return _.map(flat, (item) => item.data.value)
}

function getLeafValues(list: TreeListItem[]) {
  const flat = listToFlat(
    list,
    (item) => !item.children,
    () => true
  )

  return _.map(flat, (item) => item.data.value)
}

// 用find，高效。深度遍历，找到存在没选的就终止遍历。
function unSelectAll(list: TreeListItem[], selectedValues: Value[]): boolean {
  const unSelected = _.find(list, (item) => {
    if (item.children) {
      return unSelectAll(item.children, selectedValues)
    } else {
      return !selectedValues.includes(item.value)
    }
  })

  return !!unSelected
}

function getFilterList(
  list: TreeListItem[],
  query: string,
  withFilter: TreeWithFilter
): TreeListItem[] {
  if (query === '') {
    return list
  }

  return filterWithQuery(list, query, withFilter)
}

// 就是全展开
function getQueryGroupSelected(flatList: FlatListItem[], query: string) {
  if (query === '') {
    return []
  }

  const filterFlatList = _.filter(flatList, (item) => !item.isLeaf)

  return _.map(filterFlatList, (v) => v.value)
}

// 只打开匹配的一个
function getFindGroupSelected(flatList: FlatListItem[], value: any) {
  if (value === null) {
    return []
  }

  const item = _.find(flatList, (item) => item.value === value)

  return item ? item.pValues : []
}

function getCheckboxStatusMap(
  filterFlatList: FlatListItem[],
  groupSelected: Value[],
  selectedValues: Value[],
  indeterminateValues: Value[]
): CheckboxStatusMap {
  const map: CheckboxStatusMap = {}

  _.each(filterFlatList, (item) => {
    if (item.isLeaf) {
      map[item.value] = {
        expand: false,
        checked: selectedValues.includes(item.value),
        indeterminate: _.includes(indeterminateValues, item.value),
      }
    } else {
      const selectedLeafValues = _.intersection(selectedValues, item.leafValues)
      const indeterminateLeafValues = _.intersection(indeterminateValues, item.leafValues)

      const isChecked =
        item.leafValues.length !== 0 &&
        item.leafValues.length === selectedLeafValues.length

      map[item.value] = {
        expand: groupSelected.includes(item.value),
        checked: isChecked,
        indeterminate:
          !isChecked &&
          (selectedLeafValues.length !== 0 || indeterminateLeafValues.length !== 0),
      }
    }
  })

  return map
}

export {
  getUnLeafValues,
  getLeafValues,
  filterWithQuery,
  flatListFilterWithGroupSelected,
  unSelectAll,
  listToFlat,
  getFilterList,
  getQueryGroupSelected,
  getFindGroupSelected,


/**
 * @file
 * @brief Environment variables used for the BACnet command line tools
 * @author Steve Karg <skarg@users.sourceforge.net>
 * @date 2009
 * @copyright SPDX-License-Identifier: MIT
 * @ingroup DataLink
 */
#ifndef BACNET_DLENV_H
#define BACNET_DLENV_H
#include <stddef.h>
#include <stdint.h>
#include <stdint.h>
/* BACnet Stack defines - first */
#include "bacnet/bacdef.h"
/* BACnet Stack API */
#include "bacnet/datalink/bvlc.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

BACNET_STACK_EXPORT
void dlenv_init(void);

BACNET_STACK_EXPORT
void dlenv_debug_disable(void);

BACNET_STACK_EXPORT
void dlenv_debug_enable(void);

BACNET_STACK_EXPORT
int dlenv_register_as_foreign_device(void);

BACNET_STACK_EXPORT
void dlenv_network_port_init(void);

BACNET_STACK_EXPORT
void dlenv_maintenance_timer(uint16_t elapsed_seconds);

BACNET_STACK_EXPORT
void dlenv_bbmd_address_set(const BACNET_IP_ADDRESS *address);

BACNET_STACK_EXPORT
void dlenv_bbmd_ttl_set(uint16_t ttl_secs);

BACNET_STACK_EXPORT
int dlenv_bbmd_result(void);

#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif


? _getService() {
    Iterable<M.Service> services = _vm.services.where(
      (s) => s.service == 'openSourceLocation',
    );
    if (_editor != null) {
      services = services.where((s) => s.alias == _editor);
    }
    if (services.isNotEmpty) {
      return services.first as S.Service;
    }
    return null;
  }

  Future openClass(M.IsolateRef i, M.ClassRef c) async {
    S.Class clazz = c as S.Class;
    if (!clazz.loaded) {
      await clazz.load();
    }
    if (clazz.location == null) {
      return new Future.value();
    }
    return await openSourceLocation(i, clazz.location);
  }

  Future openField(M.IsolateRef i, M.FieldRef f) async {
    S.Field field = f as S.Field;
    if (!field.loaded) {
      await field.load();
    }
    if (field.location == null) {
      return new Future.value();
    }
    return await openSourceLocation(i, field.location);
  }

  Future openFunction(M.IsolateRef i, M.FunctionRef f) async {
    S.ServiceFunction field = f as S.ServiceFunction;
    if (!field.loaded) {
      await field.load();
    }
    if (field.location == null) {
      return new Future.value();
    }
    return await openSourceLocation(i, field.location);
  }

  Future openObject(M.IsolateRef i, M.ObjectRef o) async {
    if (o is M.ClassRef) {
      return await openClass(i, o);
    }
    if (o is M.InstanceRef) {
      return await openClass(i, o.clazz!);
    }
    if (o is M.FieldRef) {
      return await openField(i, o);
    }
    if (o is M.FunctionRef) {
      return await openFunction(i, o);
    }
    if (o is M.InstanceRef) {
      if (o.closureFunction != null) {
        return await openFunction(i, o.closureFunction!);
      }
      return await openClass(i, o.clazz!);
    }
    return new Future.value();
  }

  Future openSourceLocation(M.IsolateRef i, M.SourceLocation? l) async {
    final isolate = i as S.Isolate;
    assert(l != null);
    return await isolate.invokeRpc(_getService()!.method, {
      'scriptId': l!.script!.id!,
      'tokenPos': l.tokenPos,
    });
  }
}
// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

part of repositories;

class EventRepository implements M.EventRepository {
  final StreamController<M.Event> _onEvent;
  Stream<M.Event> get onEvent => _onEvent.stream;

  final Stream<M.VMEvent> onVMEvent;
  final Stream<M.VMUpdateEvent> onVMUpdate;
  final Stream<M.IsolateEvent> onIsolateEvent;
  final Stream<M.IsolateStartEvent> onIsolateStart;
  final Stream<M.IsolateRunnableEvent> onIsolateRunnable;
  final Stream<M.IsolateExitEvent> onIsolateExit;
  final Stream<M.IsolateUpdateEvent> onIsolateUpdate;
  final Stream<M.IsolateReloadEvent> onIsolateReload;
  final Stream<M.ServiceExtensionAddedEvent> onServiceExtensionAdded;
  final Stream<M.DebugEvent> onDebugEvent;
  final Stream<M.PauseStartEvent> onPauseStart;
  final Stream<M.PauseExitEvent> onPauseExit;
  final Stream<M.PauseBreakpointEvent> onPauseBreakpoint;
  final Stream<M.PauseInterruptedEvent> onPauseI


/*
 *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
 *
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */

/*
 * Contains the core loop function for the lattice filter AR routine
 * for iSAC codec.
 *
 */

#include "settings.h"
#include "signal_processing_library.h"
#include "webrtc/typedefs.h"

/* Filter ar_g_Q0[] and ar_f_Q0[] through an AR filter with coefficients
 * cth_Q15[] and sth_Q15[].
 */
void WebRtcIsacfix_FilterArLoop(int16_t* ar_g_Q0,     // Input samples
                                int16_t* ar_f_Q0,     // Input samples
                                int16_t* cth_Q15,     // Filter coefficients
                                int16_t* sth_Q15,     // Filter coefficients
                                int16_t order_coef) { // order of the filter
  int n = 0;

  for (n = 0; n < HALF_SUBFRAMELEN - 1; n++) {
    int k = 0;
    int16_t tmpAR = 0;
    int32_t tmp32 = 0;
    int32_t tmp32_2 = 0;

    tmpAR = ar_f_Q0[n + 1];
    for (k = order_coef - 1; k >= 0; k--) {
      tmp32 = (cth_Q15[k] * tmpAR - sth_Q15[k] * ar_g_Q0[k] + 16384) >> 15;
      tmp32_2 = (sth_Q15[k] * tmpAR + cth_Q15[k] * ar_g_Q0[k] + 16384) >> 15;
      tmpAR   = (int16_t)WebRtcSpl_SatW32ToW16(tmp32);
      ar_g_Q0[k + 1] = (int16_t)WebRtcSpl_SatW32ToW16(tmp32_2);
    }
    ar_f_Q0[n + 1] = tmpAR;
    ar_g_Q0[0] = tmpAR;
  }
}


kotlin.random.Random
import kotlin.test.*
import kotlin.time.*

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest"
*/
class SetValiantTest {
/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testCompleteness"
*/
  @Test
  fun testCompleteness() {
    val g = Grammars.toyArith
    val sols = g.enumSeq("_ + _".tokenizeByWhitespace()).toSet()

    val all = g.terminals.filter { it.all { it.isLetterOrDigit() && it.code < 128 } }
      .toSet().let { it * it }.map { (a, b) -> "$a + $b" }.toSet()

    assertEquals(all, sols)
  }

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testStressRecognizer"
*/
  @Test
  fun testStressRecognizer() {
    val g = Grammars.seq2parsePythonVanillaCFG
    g.sliceSample(20).take(10000).forEach {
      assertTrue(it.matches(g))
      assertFalse(it.tokenizeByWhitespace().dropLastWhile { it == "DEDENT" || it == "NEWLINE" }.matches(g))
    }
  }

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testSimpleGrammar"
*/
  @Test
  fun testSimpleGrammar() {
    """
        S -> NP VP
       VP -> eats
       VP -> VP PP
       VP -> VP NP
       PP -> P NP
        P -> with
       NP -> she
       NP -> Det N
       NP -> NP PP
        N -> fish
        N -> fork
      Det -> a
    """.let { cfg ->
      assertTrue("she eats a fish with a fork".matches(cfg))
      assertFalse("she eats fish with".matches(cfg))
    }
  }

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testVerySimpleGrammar"
*/
  @Test
  fun testVerySimpleGrammar() {
    """
      S -> A | B
      A -> a | A A
      B -> b | B B
    """.let { cfg ->
      assertTrue("a a a a ".matches(cfg))
      assertTrue("b b b b ".matches(cfg))
      assertFalse("a b a b ".matches(cfg))
    }
  }

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testAABB"
*/
  @Test
  fun testAABB() {
//  https://www.ps.uni-saarland.de/courses/seminar-ws06/papers/07_franziska_ebert.pdf#page=3
    """
      S -> X Y
      X -> X A
      X -> A A
      Y -> Y B
      Y -> B B
      A -> a
      B -> b
    """.let { cfg ->
      assertTrue("a a a b b b ".also { println(cfg.parse(it)) }.matches(cfg))
      assertTrue("a a b b ".matches(cfg))
      assertFalse("a b a b ".matches(cfg))
    }
  }

/*
./gradlew jvmTest --tests "ai.hypergraph.kaliningraph.parsing.SetValiantTest.testArithmetic"
*/
  @Test
  fun testArithmetic() {
    toyArith.let { cfg ->
      assertTrue("( 1 + 2 * 3 ) / 4".matches(cfg))
      assertFalse("( 1 + 2 * 3 ) - ) / 4".matches(cfg))
      assertFalse("( 1 + 2 * 3 ) - ( ) / 4".matches(cfg))
      println(cfg.parse("


BI-9.5.0: 11.0s
SCIP-7.0.3.5: 10800.0s
factor:0.002","GUROBI-9.5.0: 43.0s
SCIP-7.0.3.5: 10800.0s
factor:0.005","GUROBI-9.5.0: 8166.0s
SCIP-7.0.3.5: 10800.0s
factor:0.756","GUROBI-9.5.0: 16.0s
SCIP-7.0.3.5: 10800.0s
factor:0.002","GUROBI-9.5.0: 242.0s
SCIP-7.0.3.5: 10800.0s
factor:0.023","GUROBI-9.5.0: 9387.0s
SCIP-7.0.3.5: 10800.0s
factor:0.869","GUROBI-9.5.0: 2663.0s
SCIP-7.0.3.5: 10800.0s
factor:0.247","GUROBI-9.5.0: 6657.0s
SCIP-7.0.3.5: 10800.0s
factor:0.617","GUROBI-9.5.0: 3854.0s
SCIP-7.0.3.5: 10800.0s
factor:0.357","GUROBI-9.5.0: 1102.0s
SCIP-7.0.3.5: 10800.0s
factor:0.103","GUROBI-9.5.0: 8793.0s
SCIP-7.0.3.5: 10800.0s
factor:0.814","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000","GUROBI-9.5.0: 3.0s
SCIP-7.0.3.5: 10800.0s
factor:0.001","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000","GUROBI-9.5.0: 115.0s
SCIP-7.0.3.5: 10800.0s
factor:0.012","GUROBI-9.5.0: 10221.0s
SCIP-7.0.3.5: 10800.0s
factor:0.946","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000","GUROBI-9.5.0: 57.0s
SCIP-7.0.3.5: 10800.0s
factor:0.006","GUROBI-9.5.0: 10800.0s
SCIP-7.0.3.5: 10800.0s
factor:1.000"],"name":"GUROBI-9.5.0","text":["","","","","","","","","","","","","","\u274c","\u274c","\ud83d\udd3b","\u274c","\u274c","\u274c","\ud83d\udd3b","\ud83


Wininton Mendes Silva', 'CASSIANO CREMON', 'Nilbe Carla Mapeli', 'Rafael Cesar Tieppo', 'Jucélio Marcos Carvalho', 'Loana Longo', 'Marcelo Ferri', 'Wellington Azambuja']. qualis: B4 jcr: -99

Avaliação do custo de oportunidade relativo à conservação do Cerrado com a produção de pequi: um estudo no Estado de Mato Grosso. ano: 2010.. ['Cleci Grzebieluckas', 'Antonio Cezar Bornia', 'Lucila Maria de Souza Campos', 'Paulo Maurício Selig']. qualis: A3 jcr: -99

Material flow determination through agricultural machinery management. ano: 2010.. ['Thiago Libório Romanelli', 'Milan, Marcos']. qualis: A2 jcr: -99

Energy performance of a production system of eucalyptus. ano: 2010.. ['Thiago Libório Romanelli', 'Milan, Marcos']. qualis: A4 jcr: 0.649

TNF -308G>A Single Nucleotide Polymorphism Is Associated With Leprosy Among Brazilians: A Genetic Epidemiology Assessment, Meta-Analysis, and Functional Study. ano: 2011.. ['Cardoso, C. C.', 'Alter, A.', 'J. L. Salgado', 'E. P. Sampaio', 'A. R. Santos', 'Leide WR Oliveira, M.', 'Euzenir Nunes Sarno', 'Erwin Schurr', 'Marcelo T. Mira', 'A. G. Pacheco', 'M. O. Moraes', 'Pereira, A. C.', 'Brito-de-Souza, V. N.', 'Duraes, S. M. B.', 'M Ribeiro-Alves', 'Augusto C. Nery, J.', 'Francio, A. S.', 'Patrícia Rosa Vanderborght', 'Parelli, F. P. C.']. qualis: A1 jcr: -99

The role of indoleamine 2, 3-dioxygenase in lepromatous leprosy immunosuppression. ano: 2011.. ['de Souza Sales, J.', 'de Oliveira Fulco, T.', 'E. P. Sampaio', 'Euzenir Nunes Sarno', 'Pinheiro, R. O.', 'Amadeu, T. P.', 'da Costa Nery, J. A.', 'Lara, F. A.']. qualis: A3 jcr: -99

Modulation of lipid droplets by Mycobacterium leprae in Schwann cells: a putative mechanism for host lipid acquisition and bacterial survival in phagosomes. ano: 2011.. ['Mattos, Katherine A.', 'Pessolani, Maria Cristina V.', 'Lara, Flavio A.', 'Oliveira, Viviane G. C.', 'Rodrigues, Luciana S.', 'D&apos;Avila, Heloisa', 'Melo, Rossana C. N.', 'Manso


footer
\n' +
  '
Tautan merek di footer
\n' +
  '
Pengatur pengubahan ukuran editor di footer
\n' +
  '
\n' +
  '\n' +
  '
Jika suatu bagian UI tidak ada, bagian tersebut dilewati.
\n' +
  '\n' +
  '
Jika fokus navigasi keyboard ada pada footer, tetapi tidak ada bilah sisi yang terlihat, menekan Shift+Tab\n' +
  '  akan memindahkan fokus ke grup bilah alat pertama, bukan yang terakhir.
\n' +
  '\n' +
  '
Berpindah di dalam bagian-bagian UI
\n' +
  '\n' +
  '
Untuk berpindah dari satu elemen UI ke elemen berikutnya, tekan tombol Panah yang sesuai.
\n' +
  '\n' +
  '
Tombol panah Kiri dan Kanan untuk
\n' +
  '\n' +
  '
\n' +
  '
berpindah-pindah antar-menu di dalam bilah menu.
\n' +
  '
membuka sub-menu di dalam menu.
\n' +
  '
berpindah-pindah antar-tombol di dalam grup bilah alat.
\n' +
  '
berpindah-pindah antar-item di dalam alur elemen footer.
\n' +
  '
\n' +
  '\n' +
  '
Tombol panah Bawah dan Atas untuk
\n' +
  '\n' +
  '
\n' +
  '
berpindah-pindah antar-item menu di dalam menu.
\n' +
  '
berpindah-pindah antar-item di dalam menu pop-up bilah alat.
\n' +
  '
\n' +
  '\n' +
  '
Tombol Panah hanya bergerak di dalam bagian UI yang difokuskan.
\n' +
  '\n' +
  '
Untuk menutup menu, sub-menu, atau menu pop-up yang terbuka, tekan tombol Esc.
\n' +
  '\n' +
  '
Jika fokus sedang berada di ‘atas’ bagian UI tertentu, menekan tombol Esc juga dapat mengeluarkan fokus\n' +
  '  dari seluruh navigasi keyboard.
\n' +
  '\n' +
  '
Menjalankan item menu atau tombol bilah alat
\n' +
  '\n' +
  '
Jika item menu atau tombol bilah alat yang diinginkan tersorot, tekan Return, Enter,\n' +
  '  atau Spasi untuk menjalankan item.
\n' +
  '\n' +
  '
Berpindah dalam dialog tanpa tab
\n' +
  '\n' +
  '
Dalam dialog tanpa tab, fokus diarahkan pada komponen interaktif pertama saat dialog terbuka.
\n' +
  '\n' +
  '
Berpindah di antara komp


.D.Id())
	}

	if s.Res.Active != nil {
		s.D.Set("active", *s.Res.Active)
	}

	if s.Res.CompartmentOcid != nil {
		s.D.Set("compartment_ocid", *s.Res.CompartmentOcid)
	}

	if s.Res.DeleteInProgress != nil {
		s.D.Set("delete_in_progress", *s.Res.DeleteInProgress)
	}

	if s.Res.Description != nil {
		s.D.Set("description", *s.Res.Description)
	}

	if s.Res.DisplayName != nil {
		s.D.Set("display_name", *s.Res.DisplayName)
	}

	if s.Res.DomainOcid != nil {
		s.D.Set("domain_ocid", *s.Res.DomainOcid)
	}

	if s.Res.IdcsCreatedBy != nil {
		s.D.Set("idcs_created_by", []interface{}{idcsCreatedByToMap(s.Res.IdcsCreatedBy)})
	} else {
		s.D.Set("idcs_created_by", nil)
	}

	if s.Res.IdcsLastModifiedBy != nil {
		s.D.Set("idcs_last_modified_by", []interface{}{idcsLastModifiedByToMap(s.Res.IdcsLastModifiedBy)})
	} else {
		s.D.Set("idcs_last_modified_by", nil)
	}

	if s.Res.IdcsLastUpgradedInRelease != nil {
		s.D.Set("idcs_last_upgraded_in_release", *s.Res.IdcsLastUpgradedInRelease)
	}

	s.D.Set("idcs_prevented_operations", s.Res.IdcsPreventedOperations)

	if s.Res.IsOPCService != nil {
		s.D.Set("is_opc_service", *s.Res.IsOPCService)
	}

	if s.Res.LastModifiedTime != nil {
		s.D.Set("last_modified_time", *s.Res.LastModifiedTime)
	}

	mappings := []interface{}{}
	for _, item := range s.Res.Mappings {
		mappings = append(mappings, CloudGateExtMappingsToMap(item))
	}
	s.D.Set("mappings", mappings)

	if s.Res.Meta != nil {
		s.D.Set("meta", []interface{}{metaToMap(s.Res.Meta)})
	} else {
		s.D.Set("meta", nil)
	}

	if s.Res.OauthClient != nil {
		s.D.Set("oauth_client", []interface{}{CloudGateOauthClientToMap(s.Res.OauthClient)})
	} else {
		s.D.Set("oauth_client", nil)
	}

	if s.Res.Ocid != nil {
		s.D.Set("ocid", *s.Res.Ocid)
	}

	s.D.Set("schemas", s.Res.Schemas)

	servers := []interface{}{}
	for _, item := range s.Res.Servers {
		servers = append(servers, CloudGateExtServersToMap(item))
	}
	s.D.Set("servers", servers)

	tags := []interface{}{}
	for _, item := range s.Res.Tags {
		tags = append(tags, tagsToMap(item))
	}
	s.D.Set("tags", tags)

	if s.Res.TenancyOcid != nil {
		s.D.Set("tenancy_ocid", *s.Res.TenancyOcid)
	}

	s.D.Set("type", s.Res.Type)

	upstreamServerGroups := []interface{}{}
	for _, item := range s.Res.UpstreamServerGroups {
		upstreamServerGroups = append(upstreamServerGroups, CloudGateExtUpstreamServerGroupsToMap(item))
	}
	s.D.Set("upstream_server_groups", upstreamServerGroups)

	upstreamServers := []interface{}{}
	for _, item := range s.Res.UpstreamServers {
		upstreamServers = append(upstreamServers, CloudGateExtUpstreamServersToMap(item))
	}
	s.D.Set("upstream_servers", upstreamServers)

	return nil


 50, 58, 52, 60, 54, 62]
        [49, 57, 51, 59, 53, 61, 55, 63]
        */
        vtrn.16 q0, q1
        vtrn.16 q2, q3
        vtrn.16 q4, q5
        vtrn.16 q6, q7

        /*
        after vtrn.32
        [ 0,  8, 16, 24,  4, 12,  20, 28]
        [ 1,  9, 17, 25,  5, 13, 21, 29]
        [ 2, 10, 18, 26,  6, 14, 22, 30]
        [ 3, 11, 19, 27,  7, 15, 23, 31]
        [32, 40, 48, 56, 36, 44, 52, 60]
        [33, 41, 49, 57, 37, 45, 53, 61]
        [34, 42, 50, 58, 38, 46, 54, 62]
        [35, 43, 51, 59, 39, 47, 55, 63]
        */
        vtrn.32 q0, q2
        vtrn.32 q1, q3
        vtrn.32 q4, q6
        vtrn.32 q5, q7

        /*
        after vswp
        [ 0,  8, 16, 24, 32, 40, 48, 56]
        [ 1,  9, 17, 25, 33, 41, 49, 57]
        [ 2, 10, 18, 26, 34, 42, 50, 58]
        [ 3, 11, 19, 27, 35, 43, 51, 59]
        [ 4, 12, 20, 28, 36, 44, 52, 60]
        [ 5, 13, 21, 29, 37, 45, 53, 61]
        [ 6, 14, 22, 30, 38, 46, 54, 62]
        [ 7, 15, 23, 31, 39, 47, 55, 63]
        */
        vswp d1, d8
        vswp d3, d10
        vswp d5, d12
        vswp d7, d14

        mov r12, r0

        vst1.16 {q0}, [r12], r7
        vst1.16 {q1}, [r12], r7
        vst1.16 {q2}, [r12], r7
        vst1.16 {q3}, [r12], r7
        vst1.16 {q4}, [r12], r7
        vst1.16 {q5}, [r12], r7
        vst1.16 {q6}, [r12], r7
        vst1.16 {q7}, [r12], r7

        add r0, r0, #16 // 4 * sizeof(float)

        subs r2, r2, #1
        bne LoopX

    lsl r12, r7, #3
    subs r5, r5, #1
    add r1, lr, #16 // 8 * sizeof(half)
    add r0, r8, r12
    bne LoopY

End:

pop {r4-r8, pc}

#endif
#endif


GetStaticFunction(mathType, "Cross", real3Name, real3Name), BasicExtensionFunction<GLSLstd450Cross>);
}

void CreateFloatMatrixFunctions(SpirVExtensionLibrary* extLibrary, RaverieTypeGroups& types)
{
  Raverie::Core& core = Raverie::Core::GetInstance();
  Raverie::BoundType* mathType = core.MathType;

  for (size_t i = 2; i <= 4; ++i)
  {
    Raverie::BoundType* raverieType = types.GetMatrixType(i, i);
    String raverieTypeName = raverieType->Name;

    extLibrary->CreateExtInst(GetStaticFunction(mathType, "Invert", raverieTypeName), BasicExtensionFunction<GLSLstd450MatrixInverse>);
    extLibrary->CreateExtInst(GetStaticFunction(mathType, "Determinant", raverieTypeName), BasicExtensionFunction<GLSLstd450Determinant>);
  }
}

// Registers callback functions for all of the glsl 450 extension library
// instructions that exist in raverie
void RegisterGlsl450Extensions(RaverieShaderIRLibrary* shaderLibrary, SpirVExtensionLibrary* extLibrary, RaverieTypeGroups& types)
{
  Raverie::Core& core = Raverie::Core::GetInstance();
  Raverie::BoundType* mathType = core.MathType;

  extLibrary->mName = "GLSL.std.450";
  extLibrary->mOwningLibrary = shaderLibrary;

  GenerateAngleAndTrigFunctions(extLibrary, types);
  GenerateExponentialFunctions(extLibrary, types);
  GenerateCommonIntFunctions(extLibrary, types);
  GenerateCommonFloatFunctions(extLibrary, types);
  GenerateGeometricFloatFunctions(extLibrary, types);
  CreateFloatMatrixFunctions(extLibrary, types);
}

// Simple helper to look up a zich function via name and type and then map it to
// a glsl extension instruction
void AddGlslIntrinsic(Raverie::LibraryBuilder& builder,
                      Raverie::BoundType* type,
                      SpirVExtensionLibrary* extLibrary,
                      int glslOpId,
                      StringParam fnName,
                      const Raverie::ParameterArray& parameters,
                      Raverie::BoundType* returnType)
{
  Raverie::Function* fn = builder.AddBoundFunction(type, fnName, UnTranslatedBoundFunction, parameters, returnType, Raverie::FunctionOptions::Static);
  fn->UserData = (void*)&ResolveGlslExtensionFunction;
  fn->ComplexUserData.WriteObject(ExtensionLibraryUserData(glslOpId, extLibrary));
}

/// Adds all relevant glsl extension operations to the ShaderIntrinsics type,
/// including non-supported instructions in raverie.
void AddGlslExtensionIntrinsicOps(Raverie::LibraryBuilder& builder, SpirVExtensionLibrary* extLibrary, Raverie::BoundType* type, RaverieTypeGroups& types)
{
  Raverie::BoundType* realType = types.mRealVectorTypes[0];
  Raverie::BoundType* real3Type = types.mRealVectorTypes[2];

  // Reals
  for (size_t i = 0; i < types.mRealVectorTypes.Size(); ++i)
  {
    Raverie::BoundType* raverieType = types.mRealVectorTypes[i];

    AddGlslIntrinsic(builder, type, extLibrary, GLSLstd450Round, "Round", OneParameter(raverieType), raverieType);
    AddGlslIntrinsic(builder, type, extLibrary, GLSLstd450RoundEven, "RoundEven", OneParameter(raverieType), raverieType);
    AddGlslIntrinsic(builder, type, extLibrary, GLSLstd450Trunc, "Trunc", OneParameter(raverieType), rave


 => {
      const callee = path.get("callee").value;
      switch (callee.property.name) {
        case "parse":
          const arg = path.node.arguments[0] as Literal;
          return j.callExpression(
            j.memberExpression(j.identifier("JSON"), j.identifier("parse")),
            [j.literal(arg.value)]
          );
      }
    })
    .toSource({ quote: quoteStyle });
};

export default transform;
// セット/マップ
// ES2015で実装されたコレクション
// セット : 保持する値が重複しないコレクション
// マップ : キーと値の組み合わせを保持するコレクション

// セット
let set = new Set<string>(['hoge', 'fuga']);
set.add('piyo');
set.add('hoge');
let values: string ="";
set.forEach((value) => values += value);
alert(values);

// マップ
let map = new Map<string, string>();
map.set("key1", "value1");
map.set("key2", "value2");
map.set("key3", "value3");
let values2: string = "";
map.forEach(
  (value: string, key: string) => values2 += (key + '=' + value +'')
);
alert(values2);
import fs from "fs"
import path from "path"
import * as R from "ramda"
import glob from "glob"
import normalize from "normalize-path"

import { LinguiConfigNormalized, OrderBy } from "@lingui/conf"

import { FormatterWrapper } from "./formats"
import { CliExtractOptions } from "../lingui-extract"
import { CliExtractTemplateOptions } from "../lingui-extract-template"
import { CompiledCatalogNamespace } from "./compile"
import {
  getTranslationsForCatalog,
  GetTranslationsOptions,
} from "./catalog/getTranslationsForCatalog"
import { mergeCatalog } from "./catalog/mergeCatalog"
import { extractFromFiles } from "./catalog/extractFromFiles"
import {
  isDirectory,
  normalizeRelativePath,
  replacePlaceholders,
  writeFile,
} from "./utils"
import {
  AllCatalogsType,
  CatalogType,
  ExtractedCatalogType,
  ExtractedMessageType,
} from "./types"

const LOCALE = "{locale}"
const LOCALE_SUFFIX_RE = /\{locale\}.*$/

export type MakeOptions = CliExtractOptions & {
  orderBy?: OrderBy
}

export type MakeTemplateOptions = CliExtractTemplateOptions & {
  orderBy?: OrderBy
}

export type MergeOptions = {
  overwrite?: boolean
  files?: string[]
}

export type CatalogProps = {
  name?: string
  path: string
  include: Array<string>
  exclude?: Array<string>
  templatePath?: string
  format: FormatterWrapper
}

export class Catalog {
  name?: string
  path: string
  include: Array<string>
  exclude: Array<string>
  format: FormatterWrapper
  templateFile?: string

  constructor(
    { name, path, include, templatePath, format, exclude = [] }: CatalogProps,
    public config: LinguiConfigNormalized
  ) {
    this.name = name
    this.path = normalizeRelativePath(path)
    this.include = include.map(normalizeRelativePath)
    this.exclude = [this.localeDir, ...exclude.map(normalizeRelativePath)]
    this.format = format
    this.templateFile =
      templatePath ||
      getTemplatePath(this.format.getTemplateExtension(), this.path)
  }

  getFilename(locale: string): string {
    return (
      replacePlaceholders(this.path, { locale }) +
      this.format.getCatalogExtension()
    )
  }

  async make(options: MakeOptions): Promise<AllCatalogsType | false> {
    const nextCatalog = await this.collect({ files: options.files })
    if (!nextCatalog) return false
    const prevCatalogs = await this.readAll()

    const catalogs = this.merge(prevCatalogs, nextC


lt: linear-gradient(
		to top,
		var(--bg-gradient-green-alt-from),
		var(--bg-gradient-green-alt-to) 100%
	);
	--bg-gradient-image: linear-gradient(
		to bottom,
		var(--bg-gradient-image-from),
		var(--bg-gradient-image-to) 100%
	);
	--bg-panel: hsl(0, 0%, 100%);
	--bg-panel-highlight: hsl(0, 0%, 92%);
	--bg-separator: hsla(0, 0%, 0%, 0.2);
	--bg-button: var(--bg-panel-highlight);
	--bg-badge: var(--accent-pink);
	--bg-input: #e0e0e0;

	--shadow-panel: 0 2px 4px 0 hsla(0, 0%, 0%, 0.15);
}

@mixin dark {
	// general
	--accent-pink: hsl(302, 100%, 76%);
	--accent-pink-alt: hsl(302, 100%, 50%);
	--accent-red: hsl(348, 100%, 80%);
	--accent-red-alt: hsl(348, 100%, 50%);
	--accent-purple: hsl(264, 100%, 81%);
	--accent-purple-alt: hsl(264, 100%, 50%);
	--accent-blue: hsl(220, 100%, 78%);
	--accent-blue-alt: hsl(220, 100%, 50%);
	--accent: var(--accent-pink);
	--accent-alt: var(--accent-pink-alt);
	--accent-green: hsl(140, 70%, 74%);
	--accent-green-alt: hsl(140, 64%, 42%);
	--accent-pink-transparent: hsla(303, 100%, 50%, 0);
	--accent-red-transparent: hsla(348, 100%, 50%, 0);
	--accent-purple-transparent: hsla(264, 100%, 50%, 0);
	--accent-blue-transparent: hsla(220, 100%, 50%, 0);
	--accent-green-transparent: hsla(140, 70%, 30%, 0);

	// foregrounds
	--fg: hsl(0, 0%, 100%);
	--fg-muted: hsla(0, 0%, 100%, 0.65);
	--fg-on-accent: hsl(0, 0%, 0%);
	--fg-on-badge: hsl(0, 0%, 0%);
	--fg-accent: var(--accent);
	--fg-failure: var(--accent-red);

	// backgrounds
	--bg: hsl(220, 5%, 15%);

	--bg-gradient-from: hsla(303, 100%, 50%, 0.1);
	--bg-gradient-to: hsla(303, 100%, 50%, 0);
	--bg-gradient-pink-from: hsla(303, 100%, 50%, 0.1);
	--bg-gradient-pink-to: hsla(303, 100%, 50%, 0);
	--bg-gradient-pink-alt-from: var(--accent-pink);
	--bg-gradient-pink-alt-to: hsl(303, 100%, 91%);
	--bg-gradient-red-from: hsla(348, 100%, 50%, 0.1);
	--bg-gradient-red-to: hsla(348, 100%, 50%, 0);
	--bg-gradient-red-alt-from: var(--accent-red);
	--bg-gradient-red-alt-to: hsl(348, 100%, 91%);
	--bg-gradient-purple-from: hsla(264, 100%, 50%, 0.1);
	--bg-gradient-purple-to: hsla(264, 100%, 50%, 0);
	--bg-gradient-purple-alt-from: var(--accent-purple);
	--bg-gradient-purple-alt-to: hsl(264, 100%, 91%);
	--bg-gradient-blue-from: hsla(220, 100%, 50%,


lf.maxAngle = dataInfo['mask']['max_angle']

    def __call__(self):
        from .utils import freeFormMask
        mask = freeFormMask(self.imageHeight, self.imageWidth,
                     self.maxVertex, self.maxLength,
                     self.maxBrushWidth, self.maxAngle)
        return mask

class StationaryMask():
    def __init__(self, videoLength, dataInfo):
        self.videoLength = videoLength
        self.imageHeight, self.imageWidth = dataInfo['image']['image_height'], \
                                            dataInfo['image']['image_width']
        # self.maxPointNum = dataInfo['mask']['max_point_num']
        # self.maxLength = dataInfo['mask']['max_length']

    def __call__(self):
        from .STTN_mask import create_random_shape_with_random_motion
        masks = create_random_shape_with_random_motion(self.videoLength, 0.9, 1.1, 1, 10, self.imageHeight, self.imageWidth)
        masks = np.stack(masks, axis=0)
        if len(masks.shape) == 3:
            masks = masks[:, :, :, np.newaxis]
        assert len(masks.shape) == 4, 'Your masks with a wrong shape {}'.format(len(masks.shape))
        return masks


CCEEDED(Session->get_globalScope(&globalSymbol)))
    {
        // Retrieve the compilands first
        IDiaEnumSymbols *enumSymbols;
        if (SUCCEEDED(globalSymbol->findChildren(SymTagCompiland, NULL, 0, &enumSymbols)))
        {
            LONG compilandCount = 0;
            enumSymbols->get_Count(&compilandCount);
            if (compilandCount == 0)
                compilandCount = 1;
            LONG processedCount = 0;
            IDiaSymbol *compiland;
            fprintf(stderr, "[      ]");
            while (SUCCEEDED(enumSymbols->Next(1, &compiland, &celt)) && (celt == 1))
            {
                ++processedCount;
                fprintf(stderr, "\b\b\b\b\b\b\b\b[%5.1f%%]", processedCount * 100.0 / compilandCount);
                // Find all the symbols defined in this compiland and treat their info
                IDiaEnumSymbols *enumChildren;
                if (SUCCEEDED(compiland->findChildren(SymTagNull, NULL, 0, &enumChildren)))
                {
                    IDiaSymbol *pSymbol;
                    ULONG celtChildren = 0;
                    while (SUCCEEDED(enumChildren->Next(1, &pSymbol, &celtChildren)) && (celtChildren == 1))
                    {
                        ProcessSymbol(pSymbol, to);
                        pSymbol->Release();
                    }
                    enumChildren->Release();
                }
                compiland->Release();
            }
            enumSymbols->Release();
        }
        globalSymbol->Release();
    }

    // clean up
    delete[] Contribs;
}

/****************************************************************************/

sBool PDBFileReader::ReadDebugInfo(const sChar *fileName, DebugInfo &to)
{
    static const struct DLLDesc
    {
        const char *Filename;
        IID UseCLSID;
    } DLLs[] =
    {
        "msdia71.dll", __uuidof(DiaSource71),
        "msdia80.dll", __uuidof(DiaSource80),
        "msdia90.dll", __uuidof(DiaSource90),
        "msdia100.dll", __uuidof(DiaSource100), // VS 2010
        "msdia110.dll", __uuidof(DiaSource110), // VS 2012
        "msdia120.dll", __uuidof(DiaSource120), // VS 2013
        "msdia140.dll", __uuidof(DiaSource140), // VS 2015
        // add more here as new versions appear (as long as they're backwards-compatible)
        0
    };

    sBool readOk = false;

    if (FAILED(CoInitialize(0)))
    {
        fprintf(stderr, "  failed to initialize COM\n");
        return false;
    }

    IDiaDataSource *source = 0;
    HRESULT hr = E_FAIL;

    // Try creating things "the official way"
    for (sInt i = 0; DLLs[i].Filename; i++)
    {
        hr = CoCreateInstance(DLLs[i].UseCLSID, 0, CLSCTX_INPROC_SERVER,
                __uuidof(IDiaDataSource), (void**)&source);

        if (SUCCEEDED(hr))
            break;
    }

    if (FAILED(hr))
    {
        // None of the classes are registered, but most programmers will have the
        // DLLs on their system anyway and can copy it over; try loading it directly.

        for (sInt i = 0; DLLs[i].Filename; i++)
        {
            HMODULE hDIADll = LoadLibraryA(DLLs[i].Filename);
            if (hDIADll)
            {
                typedef HRESULT (__stdcall *PDllGetClassObject)(REFCLSID rclsid, REFIID riid, void** ppvObj);
                PDllGetClassObject DllGetClassObject = (PDllGetClassObject)GetProcAddress(hDIADll, "DllGetClassObject");
                if (DllGetClassObject)
                {
                    // first create a class factory
                    IClassFactory *classFactory;
                    hr = DllGetClassObject


max(next_field!(next.split(':').next(), "hold endtime").parse()?);
                }

                HitObjectKind::Hold { end_time: end }
            } else {
                return Err(ParseError::UnknownHitObjectKind);
            };

            $self.hit_objects.push(HitObject {
                pos,
                start_time: time,
                kind,
                sound,
            });

            prev_time = time;
            $buf.clear();
        }

        if unsorted {
            sort!($self.hit_objects);
        }

        Ok(empty)
    }};
}

macro_rules! parse_hitobjects {
    ($reader:ident<$inner:ident>) => {
        fn parse_hitobjects<R: $inner>(
            &mut self,
            reader: &mut $reader<R>,
            buf: &mut String,
            section: &mut Section,
        ) -> ParseResult<bool> {
            parse_hitobjects_body!(self, reader, buf, section)
        }
    };

    (async $reader:ident<$inner:ident>) => {
        async fn parse_hitobjects<R: $inner + Unpin>(
            &mut self,
            reader: &mut $reader<R>,
            buf: &mut String,
            section: &mut Section,
        ) -> ParseResult<bool> {
            parse_hitobjects_body!(self, reader, buf, section)
        }
    };
}

macro_rules! parse_body {
    ($reader:ident<$inner:ident>: $input:ident) => {{
        let mut reader = $reader::new($input);
        let mut buf = String::new();

        loop {
            read_line!(reader, &mut buf)?;

            // Check for character U+FEFF specifically thanks to map id 797130
            if !buf
                .trim_matches(|c: char| c.is_whitespace() || c == '')
                .is_empty()
            {
                break;
            }

            buf.clear();
        }

        let version = match buf.find(OSU_FILE_HEADER) {
            Some(idx) => buf[idx + OSU_FILE_HEADER.len()..].trim_end().parse()?,
            None => return Err(ParseError::IncorrectFileHeader),
        };

        buf.clear();

        let mut map = Beatmap {
            version,
            hit_objects: Vec::with_capacity(256),
            ..Default::default()
        };

        let mut section = Section::None;

        loop {
            match section {
                Section::General => section!(map, parse_general, reader, buf, section),
                Section::Difficulty => section!(map, parse_difficulty, reader, buf, section),
                Section::TimingPoints => section!(map, parse_timingpoints, reader, buf, section),
                Section::HitObjects => section!(map, parse_hitobjects, reader, buf, section),
                Section::None => {
                    if read_line!(reader, &mut buf)? == 0 {
                        break;
                    }

                    let line = line_prepare!(buf);

                    if line.starts_with('[') && line.ends_with(']') {
                        section = Section::from_str(&line[1..line.len() - 1]);
                    }

                    buf.clear();
                }
            }
        }

        Ok(map)
    }};
}

macro_rules! parse {
    ($reader:ident<$inner:ident>) => {
        pub fn parse<R: $inner>(input: R) -> ParseResult<Self> {
            parse_body!($reader<$inner>: input)
        }
    };

    (async $reader:ident<$inner:ident>) => {
        pub async fn parse<R: $inner + Unpin>(input: R) -> ParseResult<Self> {
            parse_body!($reader<$inner>: input)
        }
    };
}

/// The main beatmap struct containing all data relevant
/// for difficulty and pp calculation
#[derive(Clone, Default, Debug)]
pub struct Beatmap {
    pub mode: GameMode,
    pub version: u8,

    pub n_circles: u32,
    pub n_sliders: u32,
    pub n_spinners: u32,

    pub ar: f32,
    pub od: f32,
    pub


#region License

// Copyright 2017 Tua Rua Ltd.
//
//  Licensed 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.
//
//  All Rights Reserved. Tua Rua Ltd.

#endregion

using System.Linq;
using FREContext = System.IntPtr;
// ReSharper disable MemberCanBePrivate.Global
// ReSharper disable UnusedMember.Global
// ReSharper disable InconsistentNaming

namespace TuaRua.FreSharp {
    /// <summary>
    ///
    /// </summary>
    public abstract class FreSharpController {
        private const string TRACE = "TRACE";

        /// <summary>
        /// Tag used when tracing logs
        /// </summary>
        public abstract string TAG { get; }

        /// <summary>
        ///
        /// </summary>
        public FreContextSharp Context;

        /// <summary>
        /// Sets the FREContext.
        /// </summary>
        /// <param name="freContext"></param>
        public void SetFreContext(ref FREContext freContext) {
            Context = new FreContextSharp(freContext);
        }

        /// <summary>
        /// Sends StatusEvent to our swc with a level of "TRACE".
        /// </summary>


turn 0;
	}

	return -1;
}

static int
audit_sdev_init(void)
{
	dev_t dev;

	TAILQ_INIT(&audit_sdev_list);
	AUDIT_SDEV_LIST_LOCK_INIT();

	audit_sdev_major = cdevsw_add(-1, &audit_sdev_cdevsw);
	if (audit_sdev_major < 0) {
		return KERN_FAILURE;
	}

	dev = makedev(audit_sdev_major, 0);
	devnode = devfs_make_node_clone(dev, DEVFS_CHAR, UID_ROOT, GID_WHEEL,
	    0644, audit_sdev_clone, AUDIT_SDEV_NAME, 0);

	if (NULL == devnode) {
		return KERN_FAILURE;
	}

	return KERN_SUCCESS;
}

/* XXXss
 *  static int
 *  audit_sdev_shutdown(void)
 *  {
 *
 *       devfs_remove(devnode);
 *       (void) cdevsw_remove(audit_sdev_major, &audit_sdev_cdevsw);
 *
 *       return (KERN_SUCCESS);
 *  }
 */

#else

int
audit_session_self(proc_t p, struct audit_session_self_args *uap,
    mach_port_name_t *ret_port)
{
#pragma unused(p, uap, ret_port)

	return ENOSYS;
}

int
audit_session_join(proc_t p, struct audit_session_join_args *uap,
    au_asid_t *ret_asid)
{
#pragma unused(p, uap, ret_asid)

	return ENOSYS;
}

int
audit_session_port(proc_t p, struct audit_session_port_args *uap, int *retval)
{
#pragma unused(p, uap, retval)

	return ENOSYS;
}

#endif /* CONFIG_AUDIT */


    // Ion's parsing rules should only let through strings of digits and underscores. Since
    // we've just removed the underscores above, the `from_str` methods below should always
    // succeed.
    let magnitude: Magnitude = if magnitude_text.len() < MAX_U64_DIGITS {
        u64::from_str(&magnitude_text)
            .expect("parsing coefficient magnitude as u64 failed")
            .into()
    } else {
        BigUint::from_str(&magnitude_text)
            .expect("parsing coefficient magnitude as BigUint failed")
            .into()
    };

    let coefficient = Coefficient::new(sign, magnitude);

    // TODO: Reusable buffer for sanitization
    let sanitized = exponent_text.replace('_', "");
    let mut exponent = i64::from_str(&sanitized).expect("parsing exponent as i64 failed");
    // Reduce the exponent by the number of digits that follow the decimal point
    exponent -= digits_after_dot.chars().filter(|c| c.is_digit(10)).count() as i64;
    Decimal::new(coefficient, exponent)
}

/// Matches the decimal exponent marker ('d' or 'D') followed by a signed integer. (e.g. 'd-16')
fn decimal_exponent_marker_followed_by_digits(input: &str) -> IResult<&str, &str> {
    preceded(one_of("dD"), exponent_digits)(input)
}

#[cfg(test)]
mod reader_tests {
    use crate::text::parsers::decimal::parse_decimal;
    use crate::text::parsers::unit_test_support::{parse_test_err, parse_test_ok};
    use crate::text::TextStreamItem;
    use crate::types::decimal::Decimal;

    fn parse_equals(text: &str, expected: Decimal) {
        parse_test_ok(parse_decimal, text, TextStreamItem::Decimal(expected))
    }

    fn parse_fails(text: &str) {
        parse_test_err(parse_decimal, text)
    }

    #[test]
    fn test_parse_decimals_with_exponents() {
        parse_equals("0d0 ", Decimal::new(0, 0));
        parse_equals("0D0 ", Decimal::new(0, 0));
        parse_equals("-0d0 ", Decimal::negative_zero());
        parse_equals("-0D0 ", Decimal::negative_zero());
        parse_equals("-0d5 ", Decimal::negative_zero_with_exponent(5));
        parse_equals("-0d-5 ", Decimal::negative_zero_with_exponent(-5));
        parse_equals("305d1 ", Decimal::new(305, 1));
        parse_equals("305d-1 ", Decimal::new(305, -1));
        parse_equals("111_111d222 ", Decimal::new(111_111, 222));
        parse_equals("111_111d-222 ", Decimal::new(111_111, -222));
        parse_equals("111_111d222_222 ", Decimal::new(111_111, 222_222));
        parse_equals("-279d0 ", Decimal::new(-279, 0));
        parse_equals("-999_9d9_9 ", Decimal::new(-9_999, 99));
        parse_equals("-999_9d-9_9 ", Decimal::new(-9_999, -99));

        // Missing exponent, would be parsed as an integer)
        parse_fails("305 ");
        // Fractional exponent
        parse_fails("305d0.5");
        // Negative fractional exponent
        parse_fails("305d-0.5");
        // Doesn't consume leading whitespace
        parse_fails(" 305d1 ");
        // Doesn't accept leading underscores
        parse_fails("_305d1 ");
        // Doesn't accept leading zeros
        parse_fails("0305d1 ");
        // Doesn't accep


 {
            versionCode 12
            versionName computeVersionName()
            minSdkVersion 16
            targetSdkVersion 16
        }
    }
    ```
    注意：方法名不能和默认的getter重名；
+  buildTypes && productFlavors    配置不同的打包类型，两者为组合关系；
  +  Build Type + Product Flavor = Build Variant
  +  不同buildTypes的sourceSets可以重新指定；会创建对应的assemble<BuildTypeName> task；
  +  main和不同类型的manifest文件将会合并；资源文件也将合并，同名的将以具体build type覆盖main中的资源；

## 依赖、安卓库、多工程配置
+  声明依赖
  +  本地jar文件：
    ```gradle

      dependencies {
          compile files('libs/foo.jar')
      }
    ```
  +  远程依赖：
    ```gradle
      repositories {
          mavenCentral()
      }

      dependencies {
          compile 'com.google.guava:guava:11.0.2'
      }
    ```
  +  library project依赖：
    ```gradle

      dependencies {
          compile project(':libraries:lib1')
      }
    ```
+  依赖类型
  +  compile：用于主应用程序的依赖编译，所有的内容都会加入到classpath中，并且打包到APK文件中；
  +  androidTestCompile：用于集成测试程序（或称InstrumentatinTest）；
  +  testCompile：用于单元测试；
  +  provided：？？TODO？？
  +  debugCompile：debug Build Type；
  +  releaseCompile：release Build Type；
  +  APK文件总是使用两种依赖类型：compile和<buildtype>Compile；
  +  创建新的build type，就可以使用对应的<buildtype>Compile声明依赖；
+  library project最终将打包为.aar文件，包含编译后的代码、资源文件；library在被其他工程引用时，其依赖只有compile类型的才会被继承；

## 命令行运行
+  如果不clean，将采用递增式编译，即之前已编译、且无修改的部分，将不会编译；
+  第一次运行的时候加上`-–daemon`选项，将让gradle后台运行，后续编译将节省gradle初始化的时间；

## 创建自定义task
+  添加task
    ```gradle

    task custom(description: 'This is our custom task') << { task ->
        println "Running task ${task.name}"
    }
    ```
+  task的执行时机
  +  Configuration stage
  +  Execution stage
  +  默认task的执行时机均是Configuration stage，即便指定其他task，也会被触发执行
  +  可以通过doLast语句块，来保证只有在明确指定执行task时才会执行，而doLast块外的代码，将在任何任务执行时都会执行
  +  `<<`操作符
      ```groovy
      task myTask2 << {
          println "Hello, World!"
      }
      ```
      相当于整个task都在doLast块内

+  添加task的依赖
    ```gradle

      assemble.dependsOn 'custom'

    ```
`assemble`将依赖于`custom`，即`custom`执行后才能执行`assemble`；这样是将`custom`添加到了`assemble`的最后一个依赖；

+  使用`rule`延迟创建task
    ```gradle
    assemble.dependsOn(‘customAssemble’)

    tasks.addRule(“Pattern: custo


-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill="url(#14386b__c)"/><path d="M15.998 29.998c9.334 0 13.999-6.268 13.999-14 0-7.73-4.665-13.998-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill-opacity=".6" fill="url(#14386b__d)"/><path d="M15.998 29.998c9.334 0 13.999-6.268 13.999-14 0-7.73-4.665-13.998-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill="url(#14386b__e)"/><path d="M15.998 29.998c9.334 0 13.999-6.268 13.999-14 0-7.73-4.665-13.998-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill="url(#14386b__f)"/><path d="M15.998 29.998c9.334 0 13.999-6.268 13.999-14 0-7.73-4.665-13.998-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill="url(#14386b__g)"/><path d="M15.998 29.998c9.334 0 13.999-6.268 13.999-14 0-7.73-4.665-13.998-14-13.998C6.664 2 2 8.268 2 15.999c0 7.731 4.664 13.999 13.999 13.999" fill="url(#14386b__h)"/><path d="M11.327 19s1.402 2 4.672 2c3.27 0 4.672-2 4.672-2" stroke-width="2" stroke-linejoin="round" stroke-linecap="round" stroke="url(#14386b__i)"/><g filter="url(#14386b__j)"><path d="M3.548 14.596c.22.906.848 2.628 2.855 3.125a8.485 8.485 0 0 0 .93.173c4.306.404 7.152-3.235 7.29-7.194.012-.329.265-.606.593-.61.175-.003.356-.002.543 0 .327.007.578.283.59.61.14 3.959 2.983 7.598 7.29 7.194a8.483 8.483 0 0 0 .931-.174c2.658-.657 4.307-2.405 5.15-4.28a15.443 15.443 0 0 0-.558-2.297c-.252 2.203-1.432 2.481-4.593 3.264-.26.064-1.149.684-1.414.72-3 .281-3.844-1.686-5.544-4.828v-.074c.11.014.221.03.332.047l.274-1.776a2.897 2.897 0 0 1 1.226-.92c.114-.049.382-.161 1.21-.316.856-.16 3.137-.157 4.53-.156h.31c.736 0 1.404.213 1.835.409-.352-.486-.74-.944-1.163-1.372a6.236 6.236 0 0 0-.671-.037h-.315c-.694 0-1.622-.002-2.485.018-.836.019-2.075.072-2.596.17-.86.16-1.208.288-1.409.374a3


* to be accurate will find the ISO-8601 approach unsuitable.
 *
 *

 * This is a value-based
 * class; use of identity-sensitive operations (including reference equality
 * ({@code ==}), identity hash code, or synchronization) on instances of
 * {@code YearMonth} may have unpredictable results and should be avoided.
 * The {@code equals} method should be used for comparisons.
 *
 * @implSpec This class is immutable and thread-safe.
 * @since 1.8
 */
// x年x月
public final class YearMonth implements Temporal, TemporalAdjuster, Comparable<YearMonth>, Serializable {

    /**
     * Parser.
     */
    private static final DateTimeFormatter PARSER = new DateTimeFormatterBuilder().appendValue(ChronoField.YEAR, 4, 10, SignStyle.EXCEEDS_PAD).appendLiteral('-').appendValue(ChronoField.MONTH_OF_YEAR, 2).toFormatter();

    /**
     * The year.
     */
    private final int year;  // "Proleptic年"部件[-999_999_999, 999_999_999]

    /**
     * The month-of-year, not null.
     */
    private final int month; // "月份"部件[1, 12]

    /*▼ 构造器 ████████████████████████████████████████████████████████████████████████████████┓ */

    /**
     * Constructor.
     *
     * @param year  the year to represent, validated from MIN_YEAR to MAX_YEAR
     * @param month the month-of-year to represent, validated from 1 (January) to 12 (December)
     */
    private YearMonth(int year, int month) {
        this.year = year;
        this.month = month;
    }

    /*▲ 构造器 ████████████████████████████████████████████████████████████████████████████████┛ */

    /*▼ 工厂方法 ████████████████████████████████████████████████████████████████████████████████┓ */

    /**
     * Obtains the current year-month from the system clock in the default time-zone.
     *

     * This will query the {@link Clock#systemDefaultZone() system clock} in the default
     * time-zone to obtain the current year-month.
     *

     * Using this method will prevent the ability to use an alternate clock for testing
     * because the clock is hard-coded.
     *
     * @return the current year-month using the system clock and default time-zone, not null
     */
    // 基于此刻的UTC时间，构造属于系统默认时区的YearMonth对象
    public static YearMonth now() {
        // 获取一个系统时钟，其预设的时区ID为系统默认的时区ID
        Clock clock = Clock.systemDefaultZone();
        return now(clock);
    }

    /**
     * Obtains the current year-month from the system clock in the specified time-zone.
     *

     * This will query the {@link Clock#system(ZoneId) system clock} to obtain the current year-month.
     * Specifying the time-zone avoids dependence on the default time-zone.
     *

     * Using this method will prevent the ability to use an alternate clock for testing
     * because the clock is hard-coded.
     *
     * @param zone the zone ID to use, not null
     *
     * @return the current year-month using the system clock, not null
     */
    // 基于此刻的UTC时间，构造属于zone时区的YearMonth对象
    public static YearMonth now(ZoneId zone) {
        // 获取一个系统时钟，其预设的时区ID为zone
        Clock


///
/// # Errors
///
/// - If the given typed params are not of bitvector type.
/// - If the given typed params are not of the same bitvector type.
pub fn expect_common_bitvec_ty<T1, T2>(lhs: &T1, rhs: &T2) -> TypeResult<BitvecTy>
where
    T1: HasType,
    T2: HasType
{
    let lhs_bvty = expect_bitvec_ty(lhs)?;
    let rhs_bvty = expect_bitvec_ty(rhs)?;
    expect_common_ty(&lhs_bvty, &rhs_bvty)?;
    Ok(lhs_bvty)
}

/// Checks if the given iterator of typed items are all of the same bitvector type.
///
/// # Errors
///
/// - If the given iterator yields no elements.
/// - If not all yielded typed items are of the same bitvector type.
pub fn expect_common_bitvec_ty_n<'t, I, T>(typed_vals: I) -> TypeResult<Option<BitvecTy>>
where
    I: IntoIterator<Item = &'t T>,
    T: HasType + 't,
{
    let mut typed_vals = typed_vals.into_iter();
    match typed_vals.next() {
        None => Ok(None),
        Some(ty) => {
            let head_bvty = expect_bitvec_ty(ty)?;
            for ty in typed_vals {
                expect_type(head_bvty, &ty.ty())?;
            }
            Ok(Some(head_bvty))
        }
    }
}
//! Xoroshiro pseudorandom generators, Fast, fairly random, and small-state.
//!
//! # 64-bit generators
//! - [`Xoshiro256StarStar`]: Recommended for all purposes. Excellent speed and
//!   a state space (256 bits) large enough for any parallel application.
//! - [`Xoshiro256PlusPlus`]: Recommended for all purposes. Excellent speed and
//!   a state space (256 bits) large enough for any parallel application.
//! - [`Xoshiro256Plus`]: Recommended for generating 64-bit floating-point
//!   numbers. About 15% faster than `Xoshiro256StarStar`, but has a [low linear
//!   complexity] in the lowest bits (which are discarded when generating
//!   floats), making it fail linearity tests. This is unlikely to have any
//!   impact in practice.
//! - [`Xoroshiro128StarStar`]: An alternative to `Xoshiro256StarStar`, having
//!   the same speed but using half the state. Only suited for low-scale parallel
//!   applications.
//! - [`Xoroshiro128PlusPlus`]: An alternative to `Xoshiro256PlusPlus`, having
//!   the same speed but using half the state. Only suited for low-scale parallel
//!   applications.
//! - [`Xoroshiro128Plus`]: An alternative to `Xoshiro256Plus`, having the same
//!   speed but using half the state. Only suited for low-scale parallel
//!   applications. Has a [low linear complexity] in the lowest bits (which are
//!   discarded when generating floats), making it fail linearity tests. This is
//!   unlikely to have any impact in practice.
//! - [`Xoshiro512StarStar`]: An alternative to `Xoshiro256StarStar` with more
//!   state and the same speed.
//! - [`Xoshiro512PlusPlus`]: An alternative to `Xoshiro256PlusPlus` with more
//!   state and the same speed.
//! - [`Xoshiro512Plus`]: An alternative to `Xoshiro512Plus` with more
//!   state and the same speed. Has a [low linear complexity] in the lowest bits
//!   (which are discarded when generating floats), making it fail linearity
//!   tests. This is unlikely to have any impact in practice.
//! - [`SplitMix64`]: Recommended for initializing generators


Sidenav Type

Choose between 2 different sidenav types.

        <button class="btn bg-gradient-primary w-100 px-3 mb-2 active" data-class="bg-transparent" onclick="sidebarType(this)">Transparent</button>
        <button class="btn bg-gradient-primary w-100 px-3 mb-2 ms-2" data-class="bg-white" onclick="sidebarType(this)">White</button>

You can change the sidenav type just on desktop view.

Navbar Fixed

        <input class="form-check-input mt-1 ms-auto" type="checkbox" id="navbarFixed" onclick="navbarFixed(this)">

      Free Download
      View documentation

        Star

Thank you for sharing!

           Tweet

           Share


                                           final int rowstride)
    {
        if (cache.useRLE) {
            getAlphaRLE(tile, offset, rowstride);
        } else {
            getAlphaNoRLE(tile, offset, rowstride);
        }
    }

    /**
     * Gets the alpha coverage values for the current tile.
     * Either this method, or the nextTile() method should be called
     * once per tile, but not both.
     */
    private void getAlphaNoRLE(final byte[] tile, final int offset,
                               final int rowstride)
    {
        if (DO_MONITORS) {
            rdrStats.mon_ptg_getAlpha.start();
        }

        // local vars for performance:
        final MarlinCache _cache = this.cache;
        final long[] rowAAChunkIndex = _cache.rowAAChunkIndex;
        final int[] rowAAx0 = _cache.rowAAx0;
        final int[] rowAAx1 = _cache.rowAAx1;

        final int x0 = this.x;
        final int x1 = FloatMath.min(x0 + TILE_W, _cache.bboxX1);

        // note: process tile line [0 - 32[
        final int y0 = 0;
        final int y1 = FloatMath.min(this.y + TILE_H, _cache.bboxY1) - this.y;

        if (DO_LOG_BOUNDS) {
            MarlinUtils.logInfo("getAlpha = [" + x0 + " ... " + x1
                                + "[ [" + y0 + " ... " + y1 + "[");
        }

        final Unsafe _unsafe = OffHeapArray.UNSAFE;
        final long SIZE = 1L;
        final long addr_rowAA = _cache.rowAAChunk.address;
        long addr;

        final int skipRowPixels = (rowstride - (x1 - x0));

        int aax0, aax1, end;
        int idx = offset;

        for (int cy = y0, cx; cy < y1; cy++) {
            // empty line (default)
            cx = x0;

            aax1 = rowAAx1[cy]; // exclusive

            // quick check if there is AA data
            // corresponding to this tile [x0; x1[
            if (aax1 > x0) {
                aax0 = rowAAx0[cy]; // inclusive

                if (aax0 < x1) {
                    // note: cx is the cursor pointer in the tile array
                    // (left to right)
                    cx = aax0;

                    // ensure cx >= x0
                    if (cx <= x0) {
                        cx = x0;
                    } else {
                        // fill line start until first AA pixel rowAA exclusive:
                        for (end = x0; end < cx; end++) {
                            tile[idx++] = 0;
                        }
                    }

                    // now: cx >= x0 and cx >= aax0

                    // Copy AA data (sum alpha data):
                    addr = addr_rowAA + rowAAChunkIndex[cy] + (cx - aax0);

                    for (end = (aax1 <= x1) ? aax1 : x1; cx < end; cx++) {
                        // cx inside tile[x0; x1[ :
                        tile[idx++] = _unsafe.getByte(addr); // [0-255]
                        addr += SIZE;
                    }
                }
            }

            // fill line end
            while (cx < x1) {
                tile[idx++] = 0;
                cx++;
            }

            if (DO_TRACE) {
                for (int i = idx - (x1 - x0); i < idx; i++) {
                    System.out.print(hex(tile[i], 2));
                }
                System.out.println();
            }

            idx += skipRowPixels;
        }

        nextTile();

        if (DO_MONITORS) {
            rdrStats.mon_ptg_getAlpha.stop();
        }
    }

    /**
     * Gets the alpha coverage values for the current tile.
     * Either this method, or the nextTile() method should be called
     * once per tile, but not both.
     */
    private void getAlphaRLE(


  { code: 'Q65.5', name: 'Congenital subluxation of hip, unspecified' },
  { code: 'Q65.6', name: 'Unstable hip' },
  { code: 'Q65.8', name: 'Other congenital deformities of hip' },
  { code: 'Q65.9', name: 'Congenital deformity of hip, unspecified' },
   { code: 'Q66', name: 'Congenital deformities of feet' },
  { code: 'Q66.0', name: 'Talipes equinovarus' },
  { code: 'Q66.1', name: 'Talipes calcaneovarus' },
  { code: 'Q66.2', name: 'Metatarsus varus' },
  { code: 'Q66.3', name: 'Other congenital varus deformities of feet' },
  { code: 'Q66.4', name: 'Talipes calcaneovalgus' },
  { code: 'Q66.5', name: 'Congenital pes planus' },
  { code: 'Q66.6', name: 'Other congenital valgus deformities of feet' },
  { code: 'Q66.7', name: 'Pes cavus' },
  { code: 'Q66.8', name: 'Other congenital deformities of feet' },
  { code: 'Q66.9', name: 'Congenital deformity of feet, unspecified' },
  { code: 'Q67', name: 'Congenital musculoskeletal deformities of head, face, spine and chest' },
  { code: 'Q67.0', name: 'Facial asymmetry' },
  { code: 'Q67.1', name: 'Compression facies' },
  { code: 'Q67.2', name: 'Dolichocephaly' },
  { code: 'Q67.3', name: 'Plagiocephaly' },
  { code: 'Q67.4', name: 'Other congenital deformities of skull, face and jaw' },
  { code: 'Q67.5', name: 'Congenital deformity of spine' },
  { code: 'Q67.6', name: 'Pectus excavatum' },
  { code: 'Q67.7', name: 'Pectus carinatum' },
  { code: 'Q67.8', name: 'Other congenital deformities of chest' },
  { code: 'Q68', name: 'Other congenital musculoskeletal deformities' },
  { code: 'Q68.0', name: 'Congenital deformity of sternocleidomastoid muscle' },
  { code: 'Q68.1', name: 'Congenital deformity of hand' },
  { code: 'Q68.2', name: 'Congenital deformity of knee' },
  { code: 'Q68.3', name: 'Congenital bowing of femur' },
  { code: 'Q68.4', name: 'Congenital bowing of tibia and fibula' },
  { code: 'Q68.5', name: 'Congenital bowing of long bones of leg, unspecified' },
  { code: 'Q68.8', name: 'Other specified congenital musculoskeletal deformities' },
  { code: 'Q69', name: 'Polydactyly' },
  { code: 'Q69.0', name: 'Accessory finger(s)' },
  { code: 'Q69.1', name: 'Accessory thumb(s)' },
  { code: 'Q69.2', name: 'Accessory toe(s)' },
  { code: 'Q69.9', name: 'Polydactyly, unspecified' },
  { code: 'Q70', name: 'Syndactyly' },
  { code: 'Q70.0', name: 'Fused fingers' },
  { code: 'Q70.1', name: 'Webbed fingers' },
  { code: 'Q70.2', name: 'Fused toes' },
  { code: 'Q70.3', name: 'Webbed toes' },
  { code: 'Q70.4', name: 'Polysyndactyly' },
  { code: 'Q70.9', name: 'Syndactyly, unspecified' },
  { code: 'Q71', name: 'Reduction defects of upper limb' },
  { code: 'Q71.0', name: 'Congenital complete absence of upper limb(s


lis()));
    AtomicReference<Position> barPos = new AtomicReference<>(Position.random(now.getMillis()));
    Pipeline p = Pipeline.create();
    PCollection<KV<String, Position>> input =
        p.apply(
            Create.timestamped(
                    TimestampedValue.of(
                        KV.of("foo", fooPos.getAndUpdate(old -> old.move(1, 1, 3, 180000))), now),
                    TimestampedValue.of(
                        KV.of("bar", barPos.getAndUpdate(old -> old.move(1, 1, 2, 240000))), now),
                    TimestampedValue.of(
                        KV.of("foo", fooPos.getAndUpdate(old -> old.move(1, 1, 2.5, 180000))), now),
                    TimestampedValue.of(
                        KV.of("bar", barPos.getAndUpdate(old -> old.move(1, 1, 2.5, 120000))), now),
                    TimestampedValue.of(KV.of("foo", fooPos.get()), now.plus(360000)),
                    TimestampedValue.of(KV.of("bar", barPos.get()), now.plus(360000)))
                .withCoder(KvCoder.of(StringUtf8Coder.of(), new PositionCoder())));

    PCollection<KV<String, Boolean>> result =
        input.apply(new SportTrackerMotivationUsingSideInputs());
    PAssert.that(result)
        .containsInAnyOrder(
            KV.of("foo", false), KV.of("bar", true), KV.of("foo", false), KV.of("bar", true));
    p.run();
  }

  @Test
  public void testComputationStream() {
    AtomicReference<Position> fooPos = new AtomicReference<>(Position.random(now.getMillis()));
    Pipeline p = Pipeline.create();
    PCollection<KV<String, Position>> input =
        p.apply(
            TestStream.create(KvCoder.of(StringUtf8Coder.of(), new PositionCoder()))
                .addElements(
                    // move for 5 minutes
                    TimestampedValue.of(
                        KV.of("foo", fooPos.getAndUpdate(old -> old.move(1, 1, 3, 300000))), now),
                    // and then 30 seconds at higher pace - our seed time begins in the
                    // middle of a minute
                    TimestampedValue.of(
                        KV.of("foo", fooPos.getAndUpdate(old -> old.move(1, 1, 3.5, 30000))),
                        now.plus(300000)))
                .advanceWatermarkTo(now.plus(300000))
                .addElements(TimestampedValue.of(KV.of("foo", fooPos.get()), now.plus(330000)))
                .advanceWatermarkToInfinity());

    PCollection<KV<String, Boolean>> result =
        input.apply(new SportTrackerMotivationUsingSideInputs());
    PAssert.that(result).containsInAnyOrder(KV.of("foo", true));
    p.run();
  }
}
/**
 * Copyright 2021-2023 Packt Publishing Limited
 *
 * Licensed 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.
 */
package com.packtpub.beam.chapter2;

import com.packtpub.beam.util.MapToLines;
import com.packtpub.beam.util.Tokenize;
import java.util.Arrays;
import lombok.Value;
import org.apache.beam.sdk.Pipeline;
import org.apache.beam.sdk.io.kafka.Kafka


    FindInformationRequest = 0x04,
    /// Section 3.4.3.2
    FindInformationResponse = 0x05,
    /// Section 3.4.3.3
    FindByTypeValueRequest = 0x06,
    /// Section 3.4.3.4
    FindByTypeValueResponse = 0x07,
    /// Section 3.4.4.1
    ReadByTypeRequest = 0x08,
    /// Section 3.4.4.2
    ReadByTypeResponse = 0x09,
    /// Section 3.4.4.3
    ReadRequest = 0x0A,
    /// Section 3.4.4.4
    ReadResponse = 0x0B,
    /// Section 3.4.4.5
    ReadBlobRequest = 0x0C,
    /// Section 3.4.4.6
    ReadBlobResponse = 0x0D,
    /// Section 3.4.4.7
    ReadMultipleRequest = 0x0E,
    /// Section 3.4.4.8
    ReadMultipleResponse = 0x0F,
    /// Section 3.4.4.9
    ReadByGroupTypeRequest = 0x10,
    /// Section 3.4.4.10
    ReadByGroupTypeResponse = 0x11,
    /// Section 3.4.5.1
    WriteRequest = 0x12,
    /// Section 3.4.5.2
    WriteResponse = 0x13,
    /// Section 3.4.5.3
    WriteCommand = 0x52,
    /// Section 3.4.5.4
    SignedWriteCommand = 0xD2,
    /// Section 3.4.6.1
    PrepareWriteRequest = 0x16,
    /// Section 3.4.6.2
    PrepareWriteResponse = 0x17,
    /// Section 3.4.6.3
    ExecuteWriteRequest = 0x18,
    /// Section 3.4.6.4
    ExecuteWriteResponse = 0x19,
    /// Section 3.4.7.1
    HandleValueNotification = 0x1B,
    /// Section 3.4.7.2
    HandleValueIndication = 0x1D,
    /// Section 3.4.7.3
    HandleValueConfirmation = 0x1E,
}

impl TryFrom<u8> for AttRequest {
    type Error = Stm32Wb5xError;

    fn try_from(value: u8) -> Result<Self, Self::Error> {
        match value {
            0x01 => Ok(AttRequest::ErrorResponse),
            0x02 => Ok(AttRequest::ExchangeMtuRequest),
            0x03 => Ok(AttRequest::ExchangeMtuResponse),
            0x04 => Ok(AttRequest::FindInformationRequest),
            0x05 => Ok(AttRequest::FindInformationResponse),
            0x06 => Ok(AttRequest::FindByTypeValueRequest),
            0x07 => Ok(AttRequest::FindByTypeValueResponse),
            0x08 => Ok(AttRequest::ReadByTypeRequest),
            0x09 => Ok(AttRequest::ReadByTypeResponse),
            0x0A => Ok(AttRequest::ReadRequest),
            0x0B => Ok(AttRequest::ReadResponse),
            0x0C => Ok(AttRequest::ReadBlobRequest),
            0x0D => Ok(AttRequest::ReadBlobResponse),
            0x0E => Ok(AttRequest::ReadMultipleRequest),
            0x0F => Ok(AttRequest::ReadMultipleResponse),
            0x10 => Ok(AttRequest::ReadByGroupTypeRequest),
            0x11 => Ok(AttRequest::ReadByGroupTypeResponse),
            0x12 => Ok(AttRequest::WriteRequest),
            0x13 => Ok(AttRequest::WriteResponse),
            0x52 => Ok(AttRequest::WriteCommand),
            0xD2 => Ok(AttRequest::SignedWriteCommand),
            0x16 => Ok(AttRequest::PrepareWriteRequest),
            0x17 => Ok(AttRequest::PrepareWriteResponse),
            0x18 => Ok(AttRequest::ExecuteWriteRequest),
            0x19 => Ok(AttRequest::ExecuteWriteResponse),
            0x1B => Ok(AttRequest::HandleValueNotification),
            0x1D => Ok(AttRequest::HandleValueIndication),
            0x1E => Ok(AttRequest::HandleValueConfirmation),
            _ => Err(Stm32Wb5xError::BadAttRequestOpcode(value)),
        }
    }
}

fn to_att_error_response(
    buffer: &[u8],
) -> Result<AttErrorRes


#!/usr/bin/env python3
"""
Demo script for QualityReporter functionality.

This script demonstrates the key features of the QualityReporter class
including quality summary generation, model analysis, trend analysis,
and issue detection.
"""

import json
from pipeline.quality_control import (
    QualityMetrics, QualityReporter, QualityControlConfig,
    QualityResult, QualityCategory
)

def create_sample_metrics():
    """Create sample quality metrics for demonstration."""
    metrics = QualityMetrics()

    # Simulate 200 evaluations across 3 models
    metrics.total_evaluations = 200
    metrics.complete_evaluations = 140
    metrics.incomplete_evaluations = 35
    metrics.unreliable_evaluations = 20
    metrics.unknown_evaluations = 5
    metrics.retry_attempts = 25
    metrics.successful_retries = 18

    # Stop reason distribution
    metrics.stop_reason_distribution = {
        'eos': 130,
        'length': 30,
        'max_tokens': 15,
        'error': 12,
        'timeout': 8,
        'unknown': 5
    }

    # Model-specific statistics
    metrics.model_quality_stats = {
        'gpt-4': {
            'total': 80,
            'complete': 70,
            'incomplete': 8,
            'unreliable': 2,
            'unknown': 0,
            'stop_reasons': {'eos': 65, 'length': 8, 'error': 5, 'timeout': 2}
        },
        'gpt-3.5-turbo': {
            'total': 70,
            'complete': 50,
            'incomplete': 15,
            'unreliable': 4,
            'unknown': 1,
            'stop_reasons': {'eos': 45, 'length': 15, 'error': 4, 'timeout': 4, 'unknown': 2}
        },
        'claude-3': {
            'total': 50,
            'complete': 20,
            'incomplete': 12,
            'unreliable': 14,
            'unknown': 4,
            'stop_reasons': {'eos': 20, 'length': 7, 'max_tokens': 15, 'error': 3, 'timeout': 2, 'unknown': 3}
        }
    }

    return metrics

def demo_quality_summary(reporter):
    """Demonstrate quality summary generation."""
    print("=" * 60)
    print("QUALITY SUMMARY REPORT")
    print("=" * 60)

    summary = reporter.generate_quality_summary()

    print(f"📊 {summary['summary']}")
    print(f"📈 Overall Quality Rate: {summary['quality_metrics']['overall_quality_rate']:.1%}")
    print(f"🎯 Quality Status: {summary['quality_metrics']['quality_status']}")

    print("\n📋 Category Distribution:")
    for category, percentage in summary['quality_metrics']['category_distribution'].items():
        print(f"  • {category.title()}: {percentage:.1%}")

    print("\n🔄 Retry Statistics:")
    retry_stats = summary['quality_metrics']['retry_statistics']
    print(f"  • Total Attempts: {retry_stats['total_retry_attempts']}")
    print(f"  • Success Rate: {retry_stats['retry_success_rate']:.1%}")

    print("\n🚫 Top Stop Reasons:")
    for reason_info in summary['stop_reason_analysis']['top_stop_reasons'][:3]:
        print(f"  • {reason_info['reason']}: {reason_info['count']} ({reason_info['percentage']:.1f}%)")

    print("\n💡 Recommendations:")
    for i, rec in enumerate(summary['recommendations'][:3], 1):
        print(f"  {i}. {rec}")

def demo_model_analysis(reporter):
    """Demonstrate model-specific analysis."""
    print("\n" + "=" * 60)
    print("MODEL ANALYSIS REPORTS")
    print("=" * 60)

    models = ['gpt-4', 'gpt-3.5-turbo', 'claude-3']

    for model in models:
        print(f"\n🤖 Model: {model}")
        print("-" * 40)

        analysis = reporter.generate_model_analysis(model)

        eval_stats = analysis['evaluation_statistics']
        print(f"📊 Total Evaluations: {eval_stats['total_evaluations']}")
        print(f"✅ Quality Rate: {eval_stats['quality_rate']:.1%}")
        print(f"📈 vs Average: {eval_stats['performance_vs_average']:+.1%} ({eval_stats['performance_status']})")

        quality_assessment = analysis['quality_assessment']
        print(f"🔍 Issue Severity: {quality_assessment['issue_severity']}")
        print(f"🎯 Analysis Confidence: {quality_assessment['confidence_in_analysis']:.1%}")

        if quality_assessment['identified_issues']:
            print("⚠  Issues:")
            for issue in quality_assessment['identified_issues'][:2]:
                print(f"  • {issue}")

        if analysis.get('recommendations'):
            print("💡 Top Recommendations:")
            for rec in analysis['recommendations'][:2]:
                print(f"  • {rec


  return div.firstChild;
}

/**
 * Check for suites that do not have elements
 * with `classname`, and hide them.
 */

function hideSuitesWithout(classname) {
  var suites = document.getElementsByClassName('suite');
  for (var i = 0; i < suites.length; i++) {
    var els = suites[i].getElementsByClassName(classname);
    if (0 == els.length) suites[i].className += ' hidden';
  }
}

/**
 * Unhide .hidden suites.
 */

function unhide() {
  var els = document.getElementsByClassName('suite hidden');
  for (var i = 0; i < els.length; ++i) {
    els[i].className = els[i].className.replace('suite hidden', 'suite');
  }
}

/**
 * Set `el` text to `str`.
 */

function text(el, str) {
  if (el.textContent) {
    el.textContent = str;
  } else {
    el.innerText = str;
  }
}

/**
 * Listen on `event` with callback `fn`.
 */

function on(el, event, fn) {
  if (el.addEventListener) {
    el.addEventListener(event, fn, false);
  } else {
    el.attachEvent('on' + event, fn);
  }
}

}); // module: reporters/html.js

require.register("reporters/index.js", function(module, exports, require){

exports.Base = require('./base');
exports.Dot = require('./dot');
exports.Doc = require('./doc');
exports.TAP = require('./tap');
exports.JSON = require('./json');
exports.HTML = require('./html');
exports.List = require('./list');
exports.Min = require('./min');
exports.Spec = require('./spec');
exports.Nyan = require('./nyan');
exports.XUnit = require('./xunit');
exports.Markdown = require('./markdown');
exports.Progress = require('./progress');
exports.Landing = require('./landing');
exports.JSONCov = require('./json-cov');
exports.HTMLCov = require('./html-cov');
exports.JSONStream = require('./json-stream');
exports.Teamcity = require('./teamcity');

}); // module: reporters/index.js

require.register("reporters/json-cov.js", function(module, exports, require){

/**
 * Module dependencies.
 */

var Base = require('./base');

/**
 * Expose `JSONCov`.
 */

exports = module.exports = JSONCov;

/**
 * Initialize a new `JsCoverage` reporter.
 *
 * @param {Runner} runner
 * @param {Boolean} output
 * @api public
 */

function JSONCov(runner, output) {
  var self = this
    , output = 1 == arguments.length ? true : output;

  Base.call(this, runner);

  var tests = []
    , failures = []
    , passes = [];

  runner.on('test end', function(test){
    tests.push(test);
  });

  runner.on('pass', function(test){
    passes.push(test);
  });

  runner.on('fail', function(test){
    failures.push(test);
  });

  runner.on('end', function(){
    var cov = global._$jscoverage || {};
    var result = self.cov = map(cov);
    result.stats = self.stats;
    result.tests = tests.map(clean);
    result.failures = failures.map(clean);
    result.passes = passes.map(clean);
    if (!output) return;
    process.stdout.write(JSON.stringify(result, null, 2 ));
  });
}

/**
 * Map jscoverage data to a JSON structure
 * suitable for reporting.
 *
 * @param {Object} cov
 * @return {Object}
 * @api private
 */

function map(


(
                    tarId,
                    "0_object/aeaaaaaaaafklihzablkmallwljiqoiaaaaq-aeaaaaaaaafklihzabqb2allwljjpiaaaaaq-1",
                    3072,
                    3,
                    "2da4d0d9a4a1b2c0a27d10d6d7e92dd3e6db3b1b187e2419a044c21d5b20256cc8d87d438873837063d18ec7b6fe05a3050532611b21071ed3b736f09db905c4"
                )
            )
        );
        Optional<TapeObjectReferentialEntity> objectReferentialEntity = Optional.of(
            new TapeObjectReferentialEntity(
                objectReferentialId,
                fileSize,
                "SHA-512",
                "664ac614a819df2a97d2a5df57dcad91d6ec38b0fffc793e80c56b4553a14ac7a5f0bce3bb71af419b0bb8f151ad3d512867454eeb818e01818a31989c13319b",
                "aeaaaaaaaafklihzablkmallwljiqoiaaaaq-aeaaaaaaaafklihzabqb2allwljjpiaaaaaq",
                tarObjectStorageLocation,
                null,
                null
            )
        );

        TapeArchiveReferentialEntity tarReferentialEntity = new TapeArchiveReferentialEntity(
            tarId,
            new TapeLibraryOnTapeArchiveStorageLocation("VIT002L6", 248),
            5120L,
            "60566c5d1821190fe9d1df5a7c112ff7b9ff3aec0fbcc6b9934cbebc3f9b33ef1c0aef1c1acd2291c8adb23e6cdcd36b34a2cf9fa564e9f686ea3baf5447e222",
            null
        );

        doReturn("test-objects").when(bucketTopologyHelper).getFileBucketFromContainerName("0_object");

        // On first invocation (second segment), tar has still not be moved to cache, on second invocation (second segment) tar is in the cache
        when(fileBucketTarCreatorManager.containsTar("test-objects", tarId)).thenReturn(false);
        when(archiveCacheStorage.containsArchive("test-objects", tarId)).thenReturn(true);

        when(fileBucketTarCreatorManager.tryReadTar("test-objects", tarId))
            .thenAnswer(
                args -> Optional.of(new FileInputStream(PropertiesUtils.getResourcePath("tar/" + tarId).toFile()))
            )
            .thenReturn(Optional.empty());

        when(archiveCacheStorage.tryReadArchive("test-objects", tarId)).thenAnswer(
            args -> Optional.of(new FileInputStream(PropertiesUtils.getResourcePath("tar/" + tarId).toFile()))
        );

        when(objectReferentialRepository.find("0_object", "aeaaaaaaaafklihzablkmallwljiqoiaaaaq")).thenReturn(
            objectReferentialEntity
        );
        when(archiveReferentialRepository.bulkFind(Set.of(tarId))).thenReturn(List.of(tarReferentialEntity));

        LockHandle lockHandle = mock(LockHandle.class);
        doReturn(lockHandle)
            .when(archiveCacheEvictionController)
            .createLock(Set.of(new ArchiveCacheEntry("test-objects", tarId)));

        // When
        ObjectContent response = tapeLibraryContentAddressableStorage.getObject(
            "0_object",
            "aeaaaaaaaafklihzablkmallwljiqoiaaaaq"
        );

        // Then
        assertThat(response).isNotNull();
        assertThat(response.getSize()).isEqualTo(fileSize);

        verify(archiveCacheEvictionController).createLock(Set.of(new ArchiveCacheEntry("test-objects", tarId)));


12": "nao",
	"5D7F": "ding",
	"7B13": "pi",
	"7B28": "ben",
	"90D3": "yun",
	"90E2": "ying",
	"9447": "ji",
	"969C": "zhang",
	"9D0B": "fang",
	"50BE": "qing",
	"566F": "ai",
	"5971": "lian",
	"7247": "pian",
	"5B72": "ya",
	"605C": "chi",
	"6F0D": "guo",
	"7168": "wei",
	"73E0": "zhu",
	"84D5": "gui",
	"9297": "hou",
	"99F9": "mang",
	"51CC": "ling",
	"524E": "cha",
	"6409": "que",
	"6757": "mang",
	"72F6": "xi",
	"7E6B": "xi;ji",
	"8733": "dun",
	"9B1F": "huan",
	"6197": "yin",
	"5700": "guo",
	"6A3B": "kui",
	"7E84": "peng",
	"8C17": "chan",
	"553C": "sha",
	"55A7": "xuan",
	"6774": "xian",
	"76E2": "xu",
	"7E40": "sui",
	"530F": "pao",
	"6DE7": "mi",
	"6EF3": "shang",
	"4ED5": "shi",
	"5287": "ju",
	"65F3": "di",
	"6E8A": "none",
	"8625": "yue",
	"6531": "gui",
	"6809": "zhi",
	"790E": "chu",
	"7F38": "gang",
	"930E": "xian",
	"4E73": "ru",
	"5A9D": "qiu",
	"5EF0": "ting",
	"68C1": "zhuo",
	"977B": "zu",
	"5B4A": "mi",
	"7426": "qi",
	"80C2": "shen",
	"8692": "ran",
	"9604": "jiu",
	"5486": "pao",
	"648D": "zan",
	"69CB": "gou",
	"6B7E": "mo",
	"770E": "shi",
	"77DB": "mao",
	"8343": "quan",
	"88B6": "jiang",
	"89F9": "xi",
	"8E90": "lie",
	"9EEA": "can",
	"5251": "jian",
	"54D0": "kuang",
	"6D5F": "you",
	"6DC1": "qie",
	"6E2B": "xie",
	"7149": "lian",
	"7BF2": "hui",
	"8780": "jiang",
	"880F": "xie",
	"8909": "xie",
	"8B00": "mou",
	"999E": "bo",
	"9E17": "long",
	"9EF1": "dai",
	"50DE": "wei",
	"8C03": "diao;tiao",
	"5E1B": "bo",
	"6C50": "xi",
	"8E35": "zhong",
	"92C9": "su",
	"9583": "shan",
	"967A": "xian",
	"87A2": "ying",
	"8927": "jiong",
	"9950":


   this.topRight = new Handle(new Box(new Vector(0,0)))
        this.bottomRight = new Handle(new Box(new Vector(0,0)))
        this.bottomLeft = new Handle(new Box(new Vector(0,0)))
        this.center = new Handle(new Box(new Vector(0,0)))
        this.handles = [this.topLeft,this.topRight,this.bottomRight,this.bottomLeft,this.center]
        this.updateHandles()
        this.rect.onchange.listen(rect => {
            this.updateHandles()
        })

        this.center.pos.onchange.listen(v => {
            var change = this.rect.value.getPoint(new Vector(0.5,0.5)).to(v)
            this.rect.value.move(this.rect.value.min.c().add(change))
            this.rect.onchange.trigger(this.rect.value)
        })

        this.topLeft.pos.onchange.listen(v => {
            this.rect.value.min.overwrite(v)
            this.rect.onchange.trigger(this.rect.value)
        })

        this.topRight.pos.onchange.listen(v => {
            this.rect.value.min.y = v.y
            this.rect.value.max.x = v.x
            this.rect.onchange.trigger(this.rect.value)
        })

        this.bottomLeft.pos.onchange.listen(v => {
            this.rect.value.min.x = v.x
            this.rect.value.max.y = v.y
            this.rect.onchange.trigger(this.rect.value)
        })

        this.bottomRight.pos.onchange.listen(v => {
            this.rect.value.max.overwrite(v)
            this.rect.onchange.trigger(this.rect.value)
        })
    }

    updateHandles(){
        this.topLeft.pos.value.overwrite(this.rect.value.getPoint(new Vector(0,0)))
        this.topRight.pos.value.overwrite(this.rect.value.getPoint(new Vector(1,0)))
        this.bottomRight.pos.value.overwrite(this.rect.value.getPoint(new Vector(1,1)))
        this.bottomLeft.pos.value.overwrite(this.rect.value.getPoint(new Vector(0,1)))
        this.center.pos.value.overwrite(this.rect.value.getPoint(new Vector(0.5,0.5)))
    }

    draw(ctxt:CanvasRenderingContext2D){
        this.handles.forEach(h => h.draw(ctxt))
        var size = this.rect.value.size()
        ctxt.strokeRect(this.rect.value.min.x,this.rect.value.min.y,size.x,size.y)
    }
}import * as yup from 'yup'
import { createElement as create, FC } from 'react'
import {
  useSchema,
  Button,
  Layout,
  Control,
  InputString,
  testAlphanumeric,
  Page,
} from '@authpack/theme'
import { createUseServer } from '../hooks/useServer'

export const CreatePermission: FC<{
  change?: (id?: string) => void
}> = ({ change }) => {
  const gqlCreatePermission = useCreatePermission()
  const schema = useSchema({
    schema: SchemaCreatePermission,
    submit: value => {
      gqlCreatePermission
        .fetch({ value })
        .then(({ permission }) => change && change(permission.id))
    },
  })
  return create(Page, {
    title: 'New',
    subtitle: 'Permission',
    children: create(Layout, {
      column: true,
      padding: true,
      divide: true,
      children: [
        create(Control, {
          key: 'name',
          label: 'Name',
          error: schema.error('name'),
          children: create(InputString, {
            value


2564
LkdldERpcmVjdG9yeU5hbWU= 92565
IGdyYWM= 92566
IHhtbERvYw== 92567
X3B1c2hCdXR0b24= 92568
Y29sbGVjdG9y 92569
PWV4cGxvZGU= 92570
IGRlc3RpbmF0aW9uVmlld0NvbnRyb2xsZXI= 92571
IFNlcmlhbGl6ZWQ= 92572
Om1lc3NhZ2U= 92573
IENDQw== 92574
X3JlY292ZXJ5 92575
LWtpdA== 92576
c2hpbWE= 92577
cm90Y2g= 92578
IGB9Cg== 92579
X3N1cHA= 92580
VGFibGE= 92581
0YDQtdC00LXQuw== 92582
R3RrV2lkZ2V0 92583
IFNJTVBMRQ== 92584
LnBoaQ== 92585
IExpYmVydGllcw== 92586
LS1b 92587
IHVudmVpbGluZw== 92588
IGV4dGVudHM= 92589
YmNk 92590
IGh2YWQ= 92591
CWNy 92592
LnJlYWRkaXI= 92593
IHJlYWRhYmlsaXR5 92594
IGRpc21pc3Npbmc= 92595
Q2FtYg== 92596
IGNhc3VhbHR5 92597
IElQVg== 92598
bWl0ZXM= 92599
IHB1cmlmaWVk 92600
Lk9yaWVudGF0aW9u 92601
IGxq 92602
aW11bGF0b3I= 92603
ZnJhbQ== 92604
L2xvY2F0aW9u 92605
IGNvbW11bmljYXRlcw== 92606
OlVJQWxlcnQ= 92607
L3NvY2lhbA== 92608
ZWx5bg== 92609
REVO 92610
INee 92611
IGJlZm9yZVNlbmQ= 92612
IFVudGVycw== 92613
JykuIg== 92614
ICcnKTs= 92615
LndyaXRlT2JqZWN0 92616
KGdyYW1tYXJBY2Nlc3M= 92617
IEFwcGxpY2F0aW9uQ29udGV4dA== 92618
QnlVc2VybmFtZQ== 92619
IHNraXBz 92620
IGZpbGhv 92621
IHZpZXV4 92622
IG1SZWN5Y2xlclZpZXc= 92623
IGFyb3VzZWQ= 92624
Lm93bA== 92625
IGN1cmxlZA== 92626
L2NhbGxiYWNr 92627
KCc6Jylb 92628
IGludW5k 92629
IGJyZWFrcG9pbnRz 92630
LWV2ZW4= 92631
LnN0ZW0= 92632
IGRlcm9n 92633
IG5lcA== 92634
IENvbXBsZXRhYmxlRnV0dXJl 92635
LUxpbmU= 92636
Lyov 92637
LkhleA== 92638
IHJ1c3Nl 92639
IGJpZg== 92640
IEZvbmQ= 92641
aWVjdA== 92642
IGFsbG90dGVk 92643
ZGV0ZWN0b3I= 92644
IC8KCg== 92645
ZW1vZGU= 92646
dWhl 9


      }

        public void SendEvent(string eventIdFieldText, string keyFieldtext, string valueFieldText)
        {
            if (string.IsNullOrEmpty(eventIdFieldText) && string.IsNullOrEmpty(keyFieldtext) && string.IsNullOrEmpty(valueFieldText))
            {
                Debug.Log(TAG + ": Fill Fields");
            }
            else
            {
                Debug.Log(TAG + eventIdFieldText + " " + keyFieldtext + " " + valueFieldText);
                HMSAnalyticsKitManager.Instance.SendEventWithBundle(eventIdFieldText, keyFieldtext, valueFieldText);
            }
        }

    }
}


 )
    {
        pNtkTemp = Abc_NtkStrash( pNtk, 0, 0, 0 );
        pAig = Abc_NtkToDar( pNtkTemp, 0, 1 );
    }
    else
    {
        pAig = Abc_NtkToDar( pNtk, 0, 1 );
        pNtkTemp = pNtk;
    }

    /*******************************************/
    //finding LEVEL 1 monotone signals
    /*******************************************/
    vKnownMonotoneSignals = findNewMonotone( pAig, aigPoIndicesInstance, monotoneVectorsInstance );
    monotoneVectorsInstance->attrKnownMonotone = vKnownMonotoneSignals;

    /*******************************************/
    //finding LEVEL >1 monotone signals
    /*******************************************/
    #if 0
    if( vKnownMonotoneSignals )
    {
        printf("\nsize = %d\n", Vec_IntSize(vKnownMonotoneSignals) );
        vRemainingCanMonotone = findRemainingMonotoneCandidates(vKnownMonotoneSignals, vCandidateMonotoneSignals);
        monotoneVectorsInstance->attrCandMonotone = vRemainingCanMonotone;
        vKnownMonotoneSignalsNew = findNewMonotone( pAig, aigPoIndicesInstance, monotoneVectorsInstance );
    }
    #endif

    deallocAigPoIndices(aigPoIndicesInstance);
    deallocPointersToMonotoneVectors(monotoneVectorsInstance);
    return NULL;
}

ABC_NAMESPACE_IMPL_END


="highestbid" value="{{auction.latest_price}}">
        <input type="hidden" id="add_price" value="{{auction.add_price}}">
        <input type="hidden" id="platform_token" value="{{user.platform_token}}">
        <input type="hidden" id="buy_now" value="{{auction.buy_it_now}}">
        {{auction.seller_addr}}
        {{auction.category}}
        {{auction.title}}
        {{auction.content}}
        {{auction.buy_it_now}}
        <input type="hidden" id="day">
        天
        <input type="hidden" id="hour">
        時
        <input type="hidden" id="min">
        分
        <input type="hidden" id="sec">
        秒

        起標價格
        {{auction.starting_price}}
        封拍價
        {{auction.buy_it_now}}

        現時最高標價
        <input type="text" id="latest_price" value={{auction.latest_price}} disabled=true>

        最少加價金額
        {{auction.add_price}}
        <input type="text" id="bid_price">
        <button type="button" id='confirm'>確認</button>
        <button type="button" id="direct_buy">以封拍價直接購買</button>
    {% else%}

Auction end

    {% endif %}


ste_gump.no_targets, "CENTER")
		este_gump.no_targets.text:SetText (Loc ["STRING_NO_TARGET_BOX"])
		este_gump.no_targets.text:SetTextColor (1, 1, 1, .4)
		este_gump.no_targets:Hide()

	--> cria os textos da janela
	cria_textos (este_gump, SWW)

	--> cria o frama que vai abrigar as barras das habilidades
	cria_container_barras (este_gump, SWW)

	--> cria o container que vai abrirgar as 5 barras de detalhes
	cria_container_detalhes (este_gump, SWW)

	--> cria o container onde vai abrigar os alvos do jogador
	cria_container_alvos (este_gump, SWW)

--	local leftbars1_backgound = SWW:CreateTexture (nil, "background")
--	leftbars1_backgound:SetTexture ([[Interface\DialogFrame\UI-DialogBox-Background-Dark]])
--	leftbars1_backgound:SetSize (303, 149)
--	leftbars1_backgound:SetAlpha (alpha_bgs)
--	este_gump.leftbars1_backgound = leftbars1_backgound

	local leftbars1_backgound = CreateFrame ("Frame", "DetailsPlayerDetailsWindow_Left_SpellsBackground", SWW)
	leftbars1_backgound:EnableMouse (false)
	leftbars1_backgound:SetSize (303, 149)
	leftbars1_backgound:SetAlpha (alpha_bgs)
	leftbars1_backgound:SetFrameLevel (SWW:GetFrameLevel())
	Details.gump:ApplyStandardBackdrop (leftbars1_backgound)
	este_gump.leftbars1_backgound = leftbars1_backgound

	local leftbars2_backgound = CreateFrame ("Frame", "DetailsPlayerDetailsWindow_Left_TargetBackground", SWW)
	leftbars2_backgound:EnableMouse (false)
	leftbars2_backgound:SetSize (303, 122)
	leftbars2_backgound:SetAlpha (alpha_bgs)
	leftbars2_backgound:SetFrameLevel (SWW:GetFrameLevel())
	Details.gump:ApplyStandardBackdrop (leftbars2_backgound)
	este_gump.leftbars2_backgound = leftbars2_backgound

	leftbars1_backgound:SetPoint ("TOPLEFT", este_gump.container_barras, "TOPLEFT", -3, 3)
	leftbars1_backgound:SetPoint ("BOTTOMRIGHT", este_gump.container_barras, "BOTTOMRIGHT", 3, -3)
	leftbars2_backgound:SetPoint ("TOPLEFT", este_gump.container_alvos, "TOPLEFT", -3, 23)
	leftbars2_backgound:SetPoint ("BOTTOMRIGHT", este_gump.container_alvos, "BOTTOMRIGHT", 3, 0)

	--> cria as 5 barras de detalhes a direita da janela
	cria_barras_detalhes()

	--> seta os scripts dos frames da janela
	seta_scripts (este_gump)

	--> vai armazenar os objetos das barras de habilidade
	este_gump.barras1 = {}

	--> vai armazenar os objetos das barras de alvos
	este_gump.barras2 = {}

	--> vai armazenar os objetos das barras da caixa especial da direita
	este_gump.barras3 = {}

	este_gump.SetClassIcon = default_icon_change

	--> bot�o de reportar da caixa da esquerda, onde fica as barras principais
	este_gump.report_esquerda = gump:NewDetailsButton (SWW, este_gump, nil, _detal


ing offset=301
.Linfo_string24:
	.asciz	"Foo4"                          # string offset=307
	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)"
	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)"
	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.section	.debug_line,"",@progbits
.Lline_table_start0:


#ifndef OBJECTS_OBJECT_SPOT11_OBJ_H
#define OBJECTS_OBJECT_SPOT11_OBJ_H 1

#include "align_asset_macro.h"

#define dgDesertColossusOasisWaterTex "__OTR__objects/object_spot11_obj/gDesertColossusOasisWaterTex"
static const ALIGN_ASSET(2) char gDesertColossusOasisWaterTex[] = dgDesertColossusOasisWaterTex;

#define dgDesertColossusOasisDL "__OTR__objects/object_spot11_obj/gDesertColossusOasisDL"
static const ALIGN_ASSET(2) char gDesertColossusOasisDL[] = dgDesertColossusOasisDL;

#define dgDesertColossusBombableWallTex "__OTR__objects/object_spot11_obj/gDesertColossusBombableWallTex"
static const ALIGN_ASSET(2) char gDesertColossusBombableWallTex[] = dgDesertColossusBombableWallTex;

#define dgDesertColossusBombableWallDL "__OTR__objects/object_spot11_obj/gDesertColossusBombableWallDL"
static const ALIGN_ASSET(2) char gDesertColossusBombableWallDL[] = dgDesertColossusBombableWallDL;

#define dgDesertColossusBombableWallCol "__OTR__objects/object_spot11_obj/gDesertColossusBombableWallCol"
static const ALIGN_ASSET(2) char gDesertColossusBombableWallCol[] = dgDesertColossusBombableWallCol;

#endif // OBJECTS_OBJECT_SPOT11_OBJ_H


unction()
  local group = vim.api.nvim_create_augroup("minipick-custom-hooks", { clear = true })
  local function au(pattern, desc, hooks)
    vim.api.nvim_create_autocmd({ "User" }, {
      pattern = pattern,
      group = group,
      desc = desc,
      callback = function(...)
        local opts = MiniPick.get_picker_opts() or {}
        if opts and opts.source then
          local hook = hooks[opts.source.name] or function(...) end
          hook(...)
        end
      end,
    })
  end
  au("MiniPickStart", "Picker start hook for source.name", H.start_hooks)
end

H.bdir = function() -- can return nil
  if vim["bo"].buftype == "" then return vim.fn.expand("%:p:h") end
end

H.mapl = function(l, r, opts, mode)
  mode = mode or "n"
  opts["silent"] = opts.silent ~= false
  vim.keymap.set(mode, "<leader>" .. l, r, opts)
end

-- Apply  ================================================================
setup()


__IDENTIFIER__AND__IDENTIFIER__FROM_MODULE__IDENTIFIER__ARE_ASSIGNED_THE_SAME_OID_VALUES_">**<1015, Fatal>: "<fileName>:<line\#>: OBJECT-TYPEs <identifier> from module <identifier> and <identifier> from module <identifier> are assigned the same OID values"**

**OBJECT-TYPE** macro invocation module semantic error. Two **OBJECT-TYPE** invocations (in the same or different modules) must not be assigned the same Object Identifier value.

This error can occur in either SNMPv1 or SNMPv2C.

## Fatal Error 1016

**<1016, Fatal>: "<fileName>:<line\#>: Value in the DEFVAL clause does not match the type in the SYNTAX clause"**

**OBJECT-TYPE** macro invocation module semantic error. A value in a DEFVAL clause must be a value of the type mentioned in the SYNTAX clause.

This error can occur in either SNMPv1 or SNMPv2C.

## Fatal Error 1018

**<1018, Fatal>: "<fileName><line\#>: <symbol> in ENTERPRISE clause of TRAP-TYPE does not resolve to an OID value"**

**TRAP-TYPE** macro invocation, SNMPv1-specific module semantic error. The symbol used in the ENTERPRISE clause of a **TRAP-TYPE** macro invocation must resolve to an Object Identifier value.

## Fatal Error 1020

**<1020, Fatal>: "<fileName><line\#>: Value assigned to TRAP-TYPE <identifier> does not resolve to a positive integer"**

**TRAP-TYPE** macro invocation, SNMPv1-specific module semantic error. A symbol used in specifying the trap value does not resolve to a positive integer.

---
description: Use this topic to help manage Windows and Windows Server technologies with Windows PowerShell.
external help file: MultiPointVdi.dll-Help.xml
Module Name: MultiPointVdi
ms.date: 12/20/2016
online version: https://learn.microsoft.com/powershell/module/multipointvdi/new-wmsvirtualdesktop?view=windowsserver2025-ps&wt.mc_id=ps-gethelp
schema: 2.0.0
title: New-WmsVirtualDeskto


pace>+
pub(crate) fn type_<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, &'a str, E> {
    context(
        TYPE,
        take_while1(|c: char| {
            !is_line_ending(c) && !is_parens(c) && c != ':' && c != '!' && !is_whitespace(c)
        }),
    )(i)
}

pub(crate) const TYPE: &str = "type";

// <scope>           ::= <any UTF8-octets except newline or parens>+
pub(crate) fn scope<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, &'a str, E> {
    context(
        SCOPE,
        take_while1(|c: char| !is_line_ending(c) && !is_parens(c)),
    )(i)
}

pub(crate) const SCOPE: &str = "scope";

// /* "!" should be added to the AST as a <breaking-change> node with the value "!" */
// <summary>         ::= <type>, "(", <scope>, ")", ["!"], ":", <whitespace>*, <text>
//                    |  <type>, ["!"], ":", <whitespace>*, <text>
#[allow(clippy::type_complexity)]
fn summary<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, (&'a str, Option<&'a str>, Option<&'a str>, &'a str), E> {
    tuple((
        type_,
        opt(delimited(char('('), cut(scope), char(')'))),
        opt(exclamation_mark),
        preceded(tuple((tag(":"), whitespace)), context(DESCRIPTION, text)),
    ))(i)
}

pub(crate) const DESCRIPTION: &str = "description";

// <text>            ::= <any UTF8-octets except newline>*
fn text<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, &'a str, E> {
    take_till1(is_line_ending)(i)
}

fn body<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, &'a str, E> {
    if i.is_empty() {
        let err = E::from_error_kind(i, ErrorKind::Eof);
        let err = E::add_context(i, BODY, err);
        return Err(nom::Err::Error(err));
    }

    let mut offset = 0;
    for line in i.lines() {
        if peek::<_, _, E, _>(tuple((token, separator)))(line).is_ok() {
            offset += 1;
            break;
        }

        offset += line.chars().count() + 1;
    }

    map(take(offset - 1), str::trim_end)(i)
}

pub(crate) const BODY: &str = "body";

// <footer>          ::= <token>, <separator>, <whitespace>*, <value>
fn footer<'a, E: ParseError<&'a str> + ContextError<&'a str>>(
    i: &'a str,
) -> IResult<&'a str, (&'a str, &'a str, &'a str), E> {
    tuple((token, separator, whitespace, value))
        .map(|(ft, s, _, fv)| (ft, s, fv))
        .parse(i)
}

// <token>