 CoderResultInternal.UNDERFLOW
        } finally {
            src.position(mark)
        }
    }

    override fun implReset() {
        currentByteOrder = expectedByteOrder
    }

    companion object {
        val BYTE_ORDER_MARK: Char = 0xfeff.toChar()
        val REVERSED_MARK: Char = 0xfffe.toChar()

        const val NONE: Int = 0
        const val BIG: Int = 1
        const val LITTLE: Int = 2
    }
}/*
 * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.fleeksoft.charset.cs

import com.fleeksoft.io.ByteBuffer
import com.fleeksoft.io.CharBuffer
import com.fleeksoft.charset.CoderResult

interface DelegatableDecoder {
    fun decodeLoop(src: ByteBuffer, dst: CharBuffer): CoderResult
    fun implReset()
    fun implFlush(out: CharBuffer): CoderResult
}/*
 * Copyright (c) 2009, 2021, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package com.fleeksoft.charset.cs

import com.fleeksoft.charset.Charset
import com.fleeksoft.charset.CharsetDecoder
import com.fleeksoft.charset.CharsetEncoder
import com.fleeksoft.charset.CoderResult
import com.fleeksoft.charset.internal.CoderResultInternal
import com.fleeksoft.charset.internal.JLA
import com.fleeksoft.io.ByteBuffer
import com.fleeksoft.io.Cha


- q.y) / (6.0 * c + czm_epsilon7) + q.z);\nreturn vec3(h, c, q.x);\n}\nvec3 czm_RGBToHSL(vec3 rgb)\n{\nvec3 hcv = RGBtoHCV(rgb);\nfloat l = hcv.z - hcv.y * 0.5;\nfloat s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7);\nreturn vec3(hcv.x, s, l);\n}\n",czm_RGBToXYZ="vec3 czm_RGBToXYZ(vec3 rgb)\n{\nconst mat3 RGB2XYZ = mat3(0.4124, 0.2126, 0.0193,\n0.3576, 0.7152, 0.1192,\n0.1805, 0.0722, 0.9505);\nvec3 xyz = RGB2XYZ * rgb;\nvec3 Yxy;\nYxy.r = xyz.g;\nfloat temp = dot(vec3(1.0), xyz);\nYxy.gb = xyz.rg / temp;\nreturn Yxy;\n}\n",czm_sampleOctahedralProjection="vec3 czm_sampleOctahedralProjectionWithFiltering(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod)\n{\ndirection /= dot(vec3(1.0), abs(direction));\nvec2 rev = abs(direction.zx) - vec2(1.0);\nvec2 neg = vec2(direction.x < 0.0 ? rev.x : -rev.x,\ndirection.z < 0.0 ? rev.y : -rev.y);\nvec2 uv = direction.y < 0.0 ? neg : direction.xz;\nvec2 coord = 0.5 * uv + vec2(0.5);\nvec2 pixel = 1.0 / textureSize;\nif (lod > 0.0)\n{\nfloat scale = 1.0 / pow(2.0, lod);\nfloat offset = ((textureSize.y + 1.0) / textureSize.x);\ncoord.x *= offset;\ncoord *= scale;\ncoord.x += offset + pixel.x;\ncoord.y += (1.0 - (1.0 / pow(2.0, lod - 1.0))) + pixel.y * (lod - 1.0) * 2.0;\n}\nelse\n{\ncoord.x *= (textureSize.y / textureSize.x);\n}\n#ifndef OES_texture_float_linear\nvec3 color1 = texture2D(projectedMap, coord + vec2(0.0, pixel.y)).rgb;\nvec3 color2 = texture2D(projectedMap, coord + vec2(pixel.x, 0.0)).rgb;\nvec3 color3 = texture2D(projectedMap, coord + pixel).rgb;\nvec3 color4 = texture2D(projectedMap, coord).rgb;\nvec2 texturePosition = coord * textureSize;\nfloat fu = fract(texturePosition.x);\nfloat fv = fract(texturePosition.y);\nvec3 average1 = mix(color4, color2, fu);\nvec3 average2 = mix(color1, color3, fu);\nvec3 color = mix(average1, average2, fv);\n#else\nvec3 color = texture2D(projectedMap, coord).rgb;\n#endif\nreturn color;\n}\nvec3 czm_sampleOctahedralProjection(sampler2D projectedMap, vec2 textureSize, vec3 direction, float lod, float maxLod) {\nfloat currentLod = floor(lod + 0.5);\nfloat nextLod = min(currentLod + 1.0, maxLod);\nvec3 colorCurrentLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, currentLod);\nvec3 colorNextLod = czm_sampleOctahedralProjectionWithFiltering(projectedMap, textureSize, direction, nextLod);\nreturn mix(colorNextLod, colorCurrentLod, nextLod - lod);\n}\n",czm_saturation="vec3 czm_saturation(vec3 rgb, float adjustment)\n{\nconst vec3 W = vec3(0.2125, 0.7154, 0.0721);\nvec3 intensity = vec3(dot(rgb, W));\nreturn mix(intensity, rgb, adjustment);\n}\n",czm_shadowDepthCompare="float czm_sampleShadowMap(samplerCube shadowMap, vec3 d)\n{\nreturn czm_u


}

const (
	// helper trie type constants
	htCanonical = iota // Canonical hash trie
	htBloomBits        // BloomBits trie

	// helper trie auxiliary types
	// htAuxNone = 1 ; deprecated number, used in les2/3 previously.
	htAuxHeader = 2 // applicable for htCanonical, requests for relevant headers
)

type HelperTrieReq struct {
	Type              uint
	TrieIdx           uint64
	Key               []byte
	FromLevel, AuxReq uint
}

type HelperTrieResps struct { // describes all responses, not just a single one
	Proofs  light.NodeList
	AuxData [][]byte
}

// ODR request type for requesting headers by Canonical Hash Trie, see LesOdrRequest interface
type ChtRequest light.ChtRequest

// GetCost returns the cost of the given ODR request according to the serving
// peer's cost table (implementation of LesOdrRequest)
func (r *ChtRequest) GetCost(peer *serverPeer) uint64 {
	return peer.getRequestCost(GetHelperTrieProofsMsg, 1)
}

// CanSend tells if a certain peer is suitable for serving the given request
func (r *ChtRequest) CanSend(peer *serverPeer) bool {
	peer.lock.RLock()
	defer peer.lock.RUnlock()

	return peer.headInfo.Number >= r.Config.ChtConfirms && r.ChtNum <= (peer.headInfo.Number-r.Config.ChtConfirms)/r.Config.ChtSize
}

// Request sends an ODR request to the LES network (implementation of LesOdrRequest)
func (r *ChtRequest) Request(reqID uint64, peer *serverPeer) error {
	peer.Log().Debug("Requesting CHT", "cht", r.ChtNum, "block", r.BlockNum)
	var encNum [8]byte
	binary.BigEndian.PutUint64(encNum[:], r.BlockNum)
	req := HelperTrieReq{
		Type:    htCanonical,
		TrieIdx: r.ChtNum,
		Key:     encNum[:],
		AuxReq:  htAuxHeader,
	}
	return peer.requestHelperTrieProofs(reqID, []HelperTrieReq{req})
}

// Valid processes an ODR request reply message from the LES network
// returns true and stores results in memory if the message was a valid reply
// to the request (implementation of LesOdrRequest)
func (r *ChtRequest) Validate(db ethdb.Database, msg *Msg) error {
	log.Debug("Validating CHT", "cht", r.ChtNum, "block", r.BlockNum)

	if msg.MsgType != MsgHelperTrieProofs {
		return errInvalidMessageType
	}
	resp := msg.Obj.(HelperTrieResps)
	if len(resp.AuxData) != 1 {
		return errInvalidEntryCount
	}
	nodeSet := resp.Proofs.NodeSet()
	headerEnc := resp.AuxData[0]
	if len(headerEnc) == 0 {
		return errHeaderUnavailable
	}
	header := new(types.Header)
	if err := rlp.DecodeBytes(headerEnc, header); err != nil {
		return errHeaderUnavailable
	}
	// Verify the CHT
	var (
		node      light.ChtNode
		encNumber [8]byte
	)
	binary.BigEndian.PutUint64(encNumber[:], r.BlockNum)

	reads := &readTraceDB{db: nodeSet}
	value, err := trie.VerifyProof(r.ChtRoot, encNumber[:], reads)
	if err != nil {
		return fmt.Errorf("merkle proof verification failed: %v", err)
	}
	if len(reads.reads) != nodeSet.KeyCount() {
		return errUselessNodes
	}
	if err := rlp.DecodeBytes(value, &node); err != nil {
		return err
	}
	if node.Hash != header.Hash() {
		return errCHTHashMismatch
	}


e.", MessageType.Warning);

          if (GUILayout.Button(new GUIContent("Select Rigid Hands",
                "Select RigidHand objects in the current scene."),
                GUILayout.ExpandHeight(true), GUILayout.MaxHeight(40F))) {
            Selection.objects = rigidHandObjects;
          }

          if (GUILayout.Button("Ignore")) {
            LeapProjectChecks.SetIgnoredKey(IGNORE_RIGID_HANDS_CHECK_KEY, ignore: true);
          }
        }
      }

      return rigidHandsOK;
    }

    #endregion

  }
}


;
        k_INNER_RADIUS_CORNER_SQ = k_INNER_RADIUS_CORNER * k_INNER_RADIUS_CORNER;
        k_INNER_RADIUS_SIDE = table.k_INNER_RADIUS_SIDE;
        k_INNER_RADIUS_SIDE_SQ = k_INNER_RADIUS_SIDE * k_INNER_RADIUS_SIDE;
        k_CUSHION_RADIUS = table.k_CUSHION_RADIUS;
        k_FACING_ANGLE_CORNER = table.k_FACING_ANGLE_CORNER;
        k_FACING_ANGLE_SIDE = table.k_FACING_ANGLE_SIDE;
        k_BALL_DIAMETRE = table.k_BALL_DIAMETRE;
        k_BALL_RADIUS = table.k_BALL_RADIUS;
        float epsilon = 0.000002f; // ??
        k_BALL_DIAMETRESQ = k_BALL_DIAMETRE * k_BALL_DIAMETRE;
        k_BALL_DSQRPE = k_BALL_DIAMETRESQ - epsilon;
        k_BALL_1OR = 1 / k_BALL_RADIUS;
        k_BALL_DSQR = k_BALL_DIAMETRE * k_BALL_DIAMETRE;
        k_BALL_RSQR = k_BALL_RADIUS * k_BALL_RADIUS;
        k_BALL_MASS = table.k_BALL_MASS;
        k_vE = table.k_vE; //cornerPocket
        k_vF = table.k_vF; //sidePocket

        // Advanced only
        k_RAIL_HEIGHT_UPPER = table.k_RAIL_HEIGHT_UPPER;
        k_RAIL_HEIGHT_LOWER_CACHED = table.k_RAIL_HEIGHT_LOWER;
        k_RAIL_DEPTH_WIDTH = table.k_RAIL_DEPTH_WIDTH;
        k_RAIL_DEPTH_HEIGHT = table.k_RAIL_DEPTH_HEIGHT;
        useRailLower = table.useRailLower;
        k_F_SLIDE = table.k_F_SLIDE;
        k_F_ROLL = table.k_F_ROLL;
        k_F_SPIN = table.k_F_SPIN;
        k_F_SPIN_RATE = table.k_F_SPIN_RATE;
        isDRate = table.isDRate;
        K_BOUNCE_FACTOR = table.K_BOUNCE_FACTOR;
        isHanModel = table.isHanModel;
        k_E_C = table.k_E_C;
        isDynamicRestitution = table.isDynamicRestitution;
        isCushionFrictionConstant = table.isCushionFrictionConstant;
        k_Cushion_MU = table.k_Cushion_MU;
        k_BALL_E = table.k_BALL_E;
        muFactor = table.muFactor;
        k_POCKET_RESTITUTION = table.k_POCKET_RESTITUTION;
        //

        Vector3 k_CONTACT_POINT = new Vector3(0.0f, -k_BALL_RADIUS, 0.0f);

        r_k_CUSHION_RADIUS = k_CUSHION_RADIUS + k_BALL_RADIUS;
        vertRadiusSQRPE = r_k_CUSHION_RADIUS * r_k_CUSHION_RADIUS - 0.000002f;
        k_BALL_RADIUS_SQRPE = k_BALL_RADIUS * k_BALL_RADIUS - 0.000002f;

        Collider[] collider = table.GetComponentsInChildren<Collider>();


Route method pre-release

## 0.13.5

### Patch Changes

- bfb059f: types Route -> RouteDescription

## 0.13.4

### Patch Changes

- 00e37fd: Export all types used in public API
- 2e90de5: Fix `HashRouter` state reset with `replace: false`
- 75472d2: Fix useCurrentMatches a getter function

## 0.13.3

### Patch Changes

- 884b8be: fix #374, fix #399 - suppress cache errors in load function
- 4a76e7d: Fix state updates detection on history back/forward
- 5af3da8: fix #407 single flight without explicit keys
- 1068f1b: fix #408 - accessing route information
- 0c698ed: Allow rewriting url

## 0.13.2

### Patch Changes

- 0a34883: preserve original path on optional segments
- 94797e1: Fix types for cache functions with all optional arguments
- 8a547a8: don't submit form when submit event is defaultPrevented

## 0.13.1

### Patch Changes

- 8b766a9: restore params into root

## 0.13.0

### Minor Changes

- 7b1597b: Add errors to actions

### Patch Changes

- 83e827d: minimum types for submission flash
- 6df4a7a: push root/rootLoad outside of route matching

## 0.12.5

### Patch Changes

- fdefceb: fix #388 reference to element prop
- ffbd35a: fix #389 update router context error message
- bceb358: fix backcache storing invalidated values

## 0.12.4

### Patch Changes

- 533b7a0: fix unintended early return in cache during server render

## 0.12.3

### Patch Changes

- 02c6e7a: action to return fully processed response

## 0.12.2

### Patch Changes

- 5e8cbdb: apply the right owner (who's aware of the router)

## 0.12.1

### Patch Changes

- 6d0be9e: fix cache serialization to match returned value
- 052d385: Run load functions with owner & context of `Router` component.

## 0.12.0

### Minor Changes

- 17ea145: add createAsyncStorage, prev argument, remove store from cache

## 0.11.5

### Patch Changes

- 0413594: fix memory router no native events
- 97d387b: add `rootLoad`
- 5a94e7d: fix Router types, make singleFlight optional

## 0.11.4

### Patch Changes

- d67ccbb: single flight mutations
- 76724af: pass revalidate through `json` helper

## 0.11.3

### Patch Changes

- 9cc1a85: update response types to be always present

## 0.11.2

### Patch Changes

- fab3cc0: fix renderToString for cache fns

## 0.11.1

### Patch Changes

- 20663d5: metadata -> info

## 0.11.0

### Minor Changes

- 6e661eb: add changesets
## Usage

Those templates dependencies are maintained via [pnpm](https://pnpm.io) via `pnpm up -Lri`.

This is the reason you see a `pnpm-lock.yaml`. That being said, any package manager will work. This file can be safely be removed once you clone a template.

```bash
$ npm install # or pnpm install or yarn install
```

### Learn more on the [Solid Website](https://solidjs.com) and come chat with us on our [Discord](https://discord.com/invite/solidjs)

## Available Scripts

In the project directory, you can run:

### `npm run dev` or `npm start`

Runs the app in the development mode.<br>
Open [http


err := exe.Close()
	require.NoError(t, err)

	require.True(t, checkTopNCorrectness(schema, exe, dataSource, resultChunks, offset, count))
}

// Case2 means that we will trigger spill in stage 2
func topNSpillCase2(t *testing.T, exe *sortexec.TopNExec, sortCase *testutil.SortCase, schema *expression.Schema, dataSource *testutil.MockDataSource, offset uint64, count uint64) {
	if exe == nil {
		exe = buildTopNExec(sortCase, dataSource, offset, count)
	}
	dataSource.PrepareChunks()
	resultChunks := executeTopNExecutor(t, exe)

	require.True(t, exe.IsSpillTriggeredForTest())
	require.False(t, exe.GetIsSpillTriggeredInStage1ForTest())
	require.True(t, exe.GetIsSpillTriggeredInStage2ForTest())
	require.False(t, exe.GetInMemoryThenSpillFlagForTest())

	err := exe.Close()
	require.NoError(t, err)

	require.True(t, checkTopNCorrectness(schema, exe, dataSource, resultChunks, offset, count))
}

// After all sorted rows are in memory, then the spill will be triggered after some chunks have been fetched
func topNInMemoryThenSpillCase(t *testing.T, ctx *mock.Context, exe *sortexec.TopNExec, sortCase *testutil.SortCase, schema *expression.Schema, dataSource *testutil.MockDataSource, offset uint64, count uint64) {
	if exe == nil {
		exe = buildTopNExec(sortCase, dataSource, offset, count)
	}
	dataSource.PrepareChunks()
	resultChunks := executeTopNAndManuallyTriggerSpill(t, exe, hardLimit1*2, ctx.GetSessionVars().StmtCtx.MemTracker)

	require.True(t, exe.IsSpillTriggeredForTest())
	require.False(t, exe.GetIsSpillTriggeredInStage1ForTest())
	require.False(t, exe.GetIsSpillTriggeredInStage2ForTest())
	require.True(t, exe.GetInMemoryThenSpillFlagForTest())

	err := exe.Close()
	require.NoError(t, err)

	require.True(t, checkTopNCorrectness(schema, exe, dataSource, resultChunks, offset, count))
}

func topNFailPointTest(t *testing.T, exe *sortexec.TopNExec, sortCase *testutil.SortCase, dataSource *testutil.MockDataSource, offset uint64, count uint64, hardLimit int64, tracker *memory.Tracker) {
	if exe == nil {
		exe = buildTopNExec(sortCase, dataSource, offset, count)
	}
	dataSource.PrepareChunks()
	executeTopNInFailpoint(t, exe, hardLimit, tracker)
}

const spilledChunkMaxSize = 32

func createAndInitDataInDiskByChunks(spilledRowNum uint64, fileNamePrefixForTest string) *chunk.DataInDiskByChunks {
	fieldType := types.FieldType{}
	fieldType.SetType(mysql.TypeLonglong)
	inDisk := chunk.NewDataInDiskByChunks([]*types.FieldType{&fieldType}, fileNamePrefixForTest)
	var spilledChunk *chunk.Chunk
	for i := uint64(0); i < spilledRowNum; i++ {
		if i%spilledChunkMaxSize == 0 {
			if spilledChunk != nil {
				inDisk.Add(spilledChunk)
			}
			spilledChunk = chunk.NewChunkWithCapacity([]*types.FieldType{&fieldType}, spilledChunkMaxSize)
		}
		spilledChunk.AppendInt64(0, int64(i))
	}
	inDisk.Add(spilledChunk)
	return inDisk
}


" title="Max<Ur>">Max<Ur>

Min<Ur>

Mul<B0>

Mul<B1>

Mul<UInt<Ur, B>>

Mul<UInt<Ur, B>>

Mul<UTerm>

NonZero

Ord

PartialDiv<UInt<Ur, Br>>

PartialDiv<UInt<Ur, Br>>

PartialEq

PartialOrd

Pow<UInt<U, B>>

Pow<UInt<U, B>>

Pow<UInt<U, B>>

Pow<UInt<U, B>>

<a href="#impl-Pow%3CUInt%3CU,+B%3E%3E-for-i64" title="Pow


...dirs, ...files]
        : [...dirs.reversed.toList(), ...files.reversed.toList()];
  } else if (sortType == SortBy.size) {
    // create list of path and size
    Map<String, int> sizeMap = {};
    for (Entry e in list) {
      sizeMap[e.name] = e.size;
    }

    // making list of only folders.
    final dirs = list.where((element) => element.isDirectory).toList();
    // sorting folder list by name.
    dirs.sort((a, b) => a.name.toLowerCase().compareTo(b.name.toLowerCase()));

    // making list of only flies.
    final files = list.where((element) => element.isFile).toList();

    // creating sorted list of [_sizeMapList] by size.
    final List<MapEntry<String, int>> sizeMapList = sizeMap.entries.toList();
    sizeMapList.sort((b, a) => a.value.compareTo(b.value));

    // sort [list] according to [_sizeMapList]
    files.sort((a, b) => sizeMapList
        .indexWhere((element) => element.key == a.name)
        .compareTo(sizeMapList.indexWhere((element) => element.key == b.name)));
    return ascending
        ? [...dirs, ...files]
        : [...dirs.reversed.toList(), ...files.reversed.toList()];
  }
  return [];
}

/// Define a general queue which can accepts different dialog type.
///
/// [Visibility]
/// The `_FileDialogType` and `_DialogEvent` are invisible for other models.
enum FileDialogType { overwrite, unknown }

class _FileDialogEvent extends BaseEvent<FileDialogType, Map<String, dynamic>> {
  WeakReference<FileModel> fileModel;
  bool? _overrideConfirm;
  bool _skip = false;

  _FileDialogEvent(this.fileModel, super.type, super.data);

  void setOverrideConfirm(bool? confirm) {
    _overrideConfirm = confirm;
  }

  void setSkip(bool skip) {
    _skip = skip;
  }

  @override
  EventCallback<Map<String, dynamic>>? findCallback(FileDialogType type) {
    final model = fileModel.target;
    if (model == null) {
      return null;
    }
    switch (type) {
      case FileDialogType.overwrite:
        return (data) async {
          return await model.overrideFileConfirm(data,
              overrideConfirm: _overrideConfirm, skip: _skip);
        };
      default:
        debugPrint("Unknown event type: $type with $data");
        return null;
    }
  }
}

class FileDialogEventLoop
    extends BaseEventLoop<FileDialogType, Map<String, dynamic>> {
  bool? _overrideConfirm;
  bool _skip = false;

  @override
  Future<void> onPreConsume(
      BaseEvent<FileDialogType, Map<String, dynamic>> evt) async {
    var event = evt as _FileDialogEvent;
    event.setOverrideConfirm(_overrideConfirm);
    event.setSkip(_skip);
    debugPrint(
        "FileDialogEventLoop: consuming<jobId: ${evt.data['id']} overrideConfirm: $_overrideConfirm, skip: $_skip>");
  }

  @override
  Future<void> onEventsClear() {
    _overrideConfirm = null;
    _skip = false;
    return super.onEventsClear();
  }

  void setOverrideConfirm(bool? confirm) {
    _overrideConfirm = confirm;
  }

  void setSkip(bool skip) {
    _skip = skip;
  }
}
import 'package:flutter/material.dart';

class DraggableDivider extends StatefulWidget {
  final Axis axis;
  final double thickness;
  final Color color;
  final Function(double)? onPointerMove;
  final VoidCallback? onHover;
  final EdgeInsets padding;
  const DraggableDivider({
    super.key,
    this.axis = Axis.horizontal,
    this.thic


6AddressCount: jsii.Number(123),
//   						Ipv6Addresses: []interface{}{
//   							&InstanceIpv6AddressProperty{
//   								Ipv6Address: jsii.String("ipv6Address"),
//   							},
//   						},
//   						NetworkInterfaceId: jsii.String("networkInterfaceId"),
//   						PrivateIpAddresses: []interface{}{
//   							&PrivateIpAddressSpecificationProperty{
//   								PrivateIpAddress: jsii.String("privateIpAddress"),
//
//   								// the properties below are optional
//   								Primary: jsii.Boolean(false),
//   							},
//   						},
//   						SecondaryPrivateIpAddressCount: jsii.Number(123),
//   						SubnetId: jsii.String("subnetId"),
//   					},
//   				},
//   				Placement: &SpotPlacementProperty{
//   					AvailabilityZone: jsii.String("availabilityZone"),
//   					GroupName: jsii.String("groupName"),
//   					Tenancy: jsii.String("tenancy"),
//   				},
//   				RamdiskId: jsii.String("ramdiskId"),
//   				SecurityGroups: []interface{}{
//   					&GroupIdentifierProperty{
//   						GroupId: jsii.String("groupId"),
//   					},
//   				},
//   				SpotPrice: jsii.String("spotPrice"),
//   				SubnetId: jsii.String("subnetId"),
//   				TagSpecifications: []interface{}{
//   					&SpotFleetTagSpecificationProperty{
//   						ResourceType: jsii.String("resourceType"),
//   						Tags: []cfnTag{
//   							&cfnTag{
//   								Key: jsii.String("key"),
//   								Value: jsii.String("value"),
//   							},
//   						},
//   					},
//   				},
//   				UserData: jsii.String("userData"),
//   				WeightedCapacity: jsii.Number(123),
//   			},
//   		},
//   		LaunchTemplateConfigs: []interface{}{
//   			&LaunchTemplateConfigProperty{
//   				LaunchTemplateSpecification: &FleetLaunchTemplateSpecificationProperty{
//   					Version: jsii.String("version"),
//
//   					// the properties below are optional
//   					LaunchTemplateId: jsii.String("launchTemplateId"),
//   					LaunchTemplateName: jsii.String("launchTemplateName"),
//   				},
//   				Overrides: []interface{}{
//   					&LaunchTemplateOverridesProperty{
//   						AvailabilityZone: jsii.String("availabilityZone"),
//   						InstanceRequirements: &InstanceRequirementsRequestProperty{
//   							AcceleratorCount: &AcceleratorCountRequestProperty{
//   								Max: jsii.Number(123),
//   								Min: jsii.Number(123),
//   							},
//   							AcceleratorManufacturers: []*string{
//   								jsii.String("acceleratorManufacturers"),
//   							},
//   							AcceleratorNames: []*string{
//   								jsii.String("acceleratorNames"),
//   							},
//   							AcceleratorTotalMemoryMiB: &AcceleratorTotalMemoryMiBRequestProperty{
//   								Max: jsii.Number(123),
//   								Min: jsii.Number(123),
//   							},
//   							AcceleratorTypes: []*string{
//   								jsii.String("acceleratorTypes"),
//   							},
//   							AllowedInstanceTypes: []*string{
//   								jsii.String("allowedInstanceTypes"),
//   							},
//   							BareMetal: jsii.String("


yearBox),
    ];
  core.shuffle(rows);
  rows.forEach(function (row) { row.appendTo('#area'); });
  var submit = $('<button type=button>').text('Search')
    .appendTo($('
').appendTo('#area'))
    .click(function () {
      checker(genreBox.val(), nameBox.val(), yearBox.val());
    });
  $('#area').append(layout2Style);
}

var layout2Style = ``;

var layout3 = function (checker) {
  var genreBox = $('<input type=text>');
  var nameBox = $('<input type=text>');
  var yearBox = $('<input type=text>');
  var rows = [
    $('
').append('Genre	').append($('').append(genreBox)),
    $('
').append('Director	').append($('').append(nameBox)),
    $('
').append('Year	').append($('').append(yearBox)),
    ];
  core.shuffle(rows);
  $('
Movie Search
').appendTo('#area');
  var table = $('
').appendTo('#area');
  rows.forEach(function (row) { row.appendTo(table); });
  var submit = $('
').text('Submit').appendTo('#area')
    .click(function () {
      checker(genreBox.val(), nameBox.val(), yearBox.val());
    });
  $('#area').append(layout3Style);
}

var layout3Style = ``;

var layout4 = function (checker) {
  var genreBox = $('<input type=text>');
  var nameBox = $('<input type=text>');
  var yearBox = $('<input type=text>');
  var rows = [
    $('
').append('
Movie Genre
').append($('
').append(genreBox)),
    $('
').append('
Director Name
').append($('
').append(nameBox)),
    $('
').append('
Released Date
').append($('
').append(yearBox)),
    ];
  core.shuffle(rows);
  rows.forEach(function (row) { row.appendTo('#area'); });
  var submit = $('<button type=button>').text('Go!')
    .appendTo($('
').appendTo('#area'))
    .click(function () {
      checker(genreBox.val(), nameBox.val(), yearBox.val());
    });
  $('#area').append(layout4Style);
}

var layout4Style = `


e 0, 0
// CHECK: ^

	.inst 0xdefe

// CHECK: error: unknown directive
// CHECK: .inst 0xdefe
// CHECK: ^

	.inst.n 0xdefe

// CHECK: error: unknown directive
// CHECK: .inst.n 0xdefe
// CHECK: ^

	.inst.w 0xdefe

// CHECK: error: unknown directive
// CHECK: .inst.w 0xdefe
// CHECK: ^

	.object_arch armv7

// CHECK: error: unknown directive
// CHECK: .object_arch armv7
// CHECK: ^

	.tlsdescseq undefined

// CHECK: error: unknown directive
// CHECK: .tlsdescseq undefined
// CHECK: ^

	.fnstart

// CHECK: error: unknown directive
// CHECK: .fnstart
// CHECK: ^


        pickBlock = CommonMethods::pickDefaultBlock
            onDrop = { listOf(ItemStack.EMPTY) }
        }.build()

        storageBlocks = builder.withName("storage_blocks").copy {
            states = OreType.values().toList()
        }.build()

        ores.setHarvestLevel("pickaxe", 1, OreType.COPPER.getBlockState(ores))
        ores.setHarvestLevel("pickaxe", 1, OreType.LEAD.getBlockState(ores))
        ores.setHarvestLevel("pickaxe", 2, OreType.COBALT.getBlockState(ores))
        ores.setHarvestLevel("pickaxe", 2, OreType.TUNGSTEN.getBlockState(ores))
        ores.setHarvestLevel("pickaxe", 1, OreType.PYRITE.getBlockState(ores))

        return itemBlockListOf(ores, oilSource, storageBlocks)
    }

    enum class OilAmount(override val stateName: String,
                         override val isVisible: Boolean,
                         val amount: Int) : IStatesEnum, IStringSerializable {

        FULL_100("full_100", true, 10),
        FULL_90("full_90", false, 9),
        FULL_80("full_80", false, 8),
        FULL_70("full_70", false, 7),
        FULL_60("full_60", false, 6),
        FULL_50("full_50", false, 5),
        FULL_40("full_40", false, 4),
        FULL_30("full_30", false, 3),
        FULL_20("full_20", false, 2),
        FULL_10("full_10", false, 1),
        EMPTY("empty", true, 0);

        override fun getName() = name.toLowerCase()
        override val properties: List<IProperty<*>> get() = listOf(PROPERTY_OIL_AMOUNT)

        override fun getBlockState(block: Block): IBlockState {
            return block.defaultState.withProperty(PROPERTY_OIL_AMOUNT, this)
        }

        companion object {
            fun fromAmount(amount: Int) = values().find { it.amount == amount }
        }
    }

    enum class OreType(override val stateName: String,
                       override val isVisible: Boolean) : IStatesEnum, IStringSerializable {

        COPPER("copper", true),
        LEAD("lead", true),
        COBALT("cobalt", true),
        TUNGSTEN("tungsten", true),
        PYRITE("pyrite", true);

        fun stack(amount: Int = 1) = ItemStack(ores, amount, ordinal)

        override fun getName() = name.toLowerCase()
        override val properties: List<IProperty<*>> get() = listOf(PROPERTY_ORE_TYPE)

        override fun getBlockState(block: Block): IBlockState {
            return block.defaultState.withProperty(PROPERTY_ORE_TYPE, this)
        }
    }
}package com.cout970.magneticraft.features.multiblocks.structures

import com.cout970.magneticraft.misc.vector.plus
import com.cout970.magneticraft.misc.vector.rotateBox
import com.cout970.magneticraft.misc.vector.times
import com.cout970.magneticraft.misc.vector.vec3Of
import com.cout970.magneticraft.systems.multiblocks.*
import com.cout970.magneticraft.systems.tilerenderers.PIXEL
import net.minecraft.util.EnumFacing
import net.minecraft.util.math.AxisAlignedBB
import net.minecraft.util.math.BlockPos
import net.minecraft.util.math.Vec3d
import net.minecraft.util.text.ITextComponent
import com.cout970.magneticraft.features.multiblocks.Blocks as Multiblocks

object MultiblockSieve : Multiblock() {

    override val name: String = "sieve"
    override val size: BlockPos = BlockPos(3, 2, 5)
    override val scheme: List<MultiblockLayer>
    override val center: BlockPos get() = BlockPos(1, 0, 0)

    init {

        val G = grateBlock()
        val B = baseBlock()
        val S = strippedBlock()
        val C = corrugatedIronBlock()
        val P = columnBlock(EnumFacing.UP)
        val M = mainBlockOf(controllerBlock)

        scheme = yLayers(
            zLayers(listOf(B, B, B), // y


p=48;case 48:BCb(a,b,n,e,h,j,h,d);if(C()){break _;}e=A.AHc.a;j=0;n
=7;$p=49;case 49:BCb(a,b,e,j,h,n,k,d);if(C()){break _;}e=A.AHc.a;j=0;n=7;$p=50;case 50:BCb(a,b,e,j,f,n,h,d);if(C()){break _;}e=A.AHc.a;j=0;n=7;$p=51;case 51:BCb(a,b,e,j,f,n,k,d);if(C()){break _;}e=A.AGQ.a;j=0;n=8;$p=52;case 52:BCb(a,b,e,j,i,n,g,d);if(C()){break _;}e=A.AGQ.a;j=0;i=8;$p=53;case 53:BCb(a,b,e,j,k,i,g,d);if(C()){break _;}e=A.AGQ.a;j=0;g=8;$p=54;case 54:BCb(a,b,e,j,h,g,h,d);if(C()){break _;}e=A.AGQ.a;j=0;g=8;$p=55;case 55:BCb(a,b,e,j,h,g,k,d);if(C()){break _;}e=A.AGQ.a;j=0;g=8;$p=56;case 56:BCb(a,
b,e,j,f,g,h,d);if(C()){break _;}e=A.AGQ.a;j=0;g=8;$p=57;case 57:BCb(a,b,e,j,f,g,k,d);if(C()){break _;}f=3;g=3;h=5;p=A.AW2;q=N(D2,1);r=q.data;Ba();r[0]=LO(A.AEZ,c,1,5,2);p=Hm(p,q);e=1+G(c,4)|0;$p=18;continue _;case 58:BCb(a,b,e,j,f,g,h,d);if(C()){break _;}e=12;j=8;f=1;p=A.AW2;q=N(D2,1);q.data[0]=LO(A.AEZ,c,1,5,2);p=Hm(p,q);g=1+G(c,4)|0;$p=59;case 59:BQh(a,b,d,c,e,j,f,p,g);if(C()){break _;}return 1;default:M9();}}G8().s(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$p);}
A.Qq=function(){var b,c,d;b=N(D2,4);c=b.data;d=new D2;Ba();J8(d,A.AAw.o,0,1,3,20);c[0]=d;c[1]=Dd(A.AEb.o,0,2,7,20);c[2]=Dd(A.AES.o,0,1,1,1);c[3]=Dd(A.AEf.o,0,1,1,1);A.AW2=b;};
function AIo(){Pg.call(this);}
A.Kc=function(a,b){return AKk(a,b)&&b>5?1:0;};
function Xy(){FV.call(this);this.a8Q=0;}
A.


Id, lv)
            end
        end
    end

    -- LogTable(equipIds, "GEquipCalculator equipIds:")
    -- 查看技能
    for baseId, sumLv in pairs(equipIds) do

        local baseCfg = CfgEquipSkill[baseId]
        if baseCfg then
            if sumLv > baseCfg.maxLv then
                sumLv = baseCfg.maxLv
            end

            local skillId = baseId + sumLv - 1

            -- 保存所有装备技能
            table.insert(ret.eskills, skillId)
            -- LogDebug("skillId:%s = baseId:%s + sumLv:%s -1, maxLv:%s", skillId, baseId, sumLv, baseCfg.maxLv)
            -- 得到最大等级的技能
            local useEquipSkillCfg = CfgEquipSkill[skillId]

            if useEquipSkillCfg then
                if useEquipSkillCfg.nType == EquipSkillType.Property then -- 属性技能
                    ret.upSkills[useEquipSkillCfg.id] = 1
                    table.insert(ret.propertySkills, useEquipSkillCfg.id)-- propertySkills, 外边暂时没有用到，属性在下边 177 行直接加了
                elseif useEquipSkillCfg.nType == EquipSkillType.Fight then -- 战斗技能
                    if useEquipSkillCfg.nGetSkillId then
                        ret.upSkills[useEquipSkillCfg.id] = 1
                        table.insert(ret.fightSkills, useEquipSkillCfg.id)
                    end
                elseif useEquipSkillCfg.nType == EquipSkillType.LifeBuf then -- 生活buf
                    local buffId = useEquipSkillCfg.nGetSkillId
                    if buffId then
                        local buffCfg = CfgLifeBuffer[buffId]
                        if buffCfg then
                            if buffCfg.jValiTime or buffCfg.jOpenDups then
                                ret.upSkills[useEquipSkillCfg.id] = 1
                                table.insert(ret.passivBufIds, buffCfg.id)
                            else
                                if buffCfg.jVal then
                                    ret.upSkills[useEquipSkillCfg.id] = 1
                                    local propertyName = CfgCardPropertyEnum[buffCfg.nType].sFieldName
                                    GCalHelp:Add(ret.baseVal, propertyName, buffCfg.jVal[1])
                                end
                            end
                        else
                            LogWarning("buff skill id %d not find in CfgLifeBuffer", useEquipSkillCfg.nGetSkillId)
                        end
                    end
                else
                    LogError("GEquipCalculator:CalPropertys equip cfg %d nType unknow.", useEquipSkillCfg.id)
                end

                -- 获取技能添加的属性点
                if useEquipSkillCfg.nGetBaseType and useEquipSkillCfg.fGetBaseVal then
                    local propertyName = CfgCardPropertyEnum[useEquipSkillCfg.nGetBaseType].sFieldName
                    GCalHelp:Add(ret.baseVal, propertyName, useEquipSkillCfg.fGetBaseVal)
                end
            end
        end
    end
    -- LogTable(equips, "CalEquipPropertys equips:")
    -- LogTable(ret, "CalEquipPropertys ret:")
    return ret


 2);
    g.addEdge(0, 5);
    g.addEdge(1, 2);
    g.addEdge(2, 3);
    g.addEdge(2, 2);
    g.addEdge(2, 4);
    g.addEdge(3, 5);
    g.addEdge(4, 5);
    g.addEdge(5, 5);
    g.addEdge(5, 6);
    g.addEdge(5, 7);
    g.addEdge(7, 7);

    DegreeCentrality dc(g, false, true, false);
    dc.run();
    EXPECT_EQ(dc.maximum(), 8);

    if (isDirected()) {
        std::array<int, 8> expectedResults{{2, 1, 3, 1, 1, 3, 0, 1}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    } else {
        std::array<int, 8> expectedResults{{2, 1, 5, 2, 2, 6, 1, 2}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    }
}

TEST_P(CentralityGTest, testInDegreeCentrality) {
    Graph g(8, false, isDirected());

    g.addEdge(0, 2);
    g.addEdge(0, 5);
    g.addEdge(1, 2);
    g.addEdge(2, 3);
    g.addEdge(2, 2);
    g.addEdge(2, 4);
    g.addEdge(3, 5);
    g.addEdge(4, 5);
    g.addEdge(5, 5);
    g.addEdge(5, 6);
    g.addEdge(5, 7);
    g.addEdge(7, 7);

    DegreeCentrality dc(g, false, false, false);
    dc.run();

    if (isDirected()) {
        std::array<int, 8> expectedResults{{0, 0, 3, 1, 1, 4, 1, 2}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    } else {
        std::array<int, 8> expectedResults{{2, 1, 5, 2, 2, 6, 1, 2}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    }
}

TEST_P(CentralityGTest, testDegreeCentralityIgnoreSelfLoops) {
    Graph g(8, false, isDirected());

    g.addEdge(0, 2);
    g.addEdge(0, 5);
    g.addEdge(1, 2);
    g.addEdge(2, 3);
    g.addEdge(2, 2);
    g.addEdge(2, 4);
    g.addEdge(3, 5);
    g.addEdge(4, 5);
    g.addEdge(5, 5);
    g.addEdge(5, 6);
    g.addEdge(5, 7);
    g.addEdge(7, 7);

    DegreeCentrality dc(g, false, true, true);
    dc.run();

    if (isDirected()) {
        std::array<int, 8> expectedResults{{2, 1, 2, 1, 1, 2, 0, 0}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    } else {
        std::array<int, 8> expectedResults{{2, 1, 4, 2, 2, 5, 1, 1}};
        for (long unsigned int i = 0; i < expectedResults.size(); i++)
            EXPECT_EQ(expectedResults[i], dc.score(i));
    }
}

TEST_P(CentralityGTest, testGroupClosenessLocalSwaps) {
    if (isDirected()) { // directed graphs are not supported
        Graph G(10, isWeighted(), true);
        std::array<node, 1> group = {{0}};
        EXPECT_THROW(GroupClosenessLocalSwaps(G, group.begin(), group.end()), std::runtime_error);
        return;
    }

    { // Empty input groups are not


t port
const CMD_RESET_CPU: u8 = 0xFE; // Reset CPU

/// i8042 status register bits
const SB_OUT_DATA_AVAIL: u8 = 0x0001; // Data available at port 0x60
const SB_I8042_CMD_DATA: u8 = 0x0008; // i8042 expecting command parameter at port 0x60
const SB_KBD_ENABLED: u8 = 0x0010; // 1 = kbd enabled, 0 = kbd locked

/// i8042 control register bits
const CB_KBD_INT: u8 = 0x0001; // kbd interrupt enabled
const CB_POST_OK: u8 = 0x0004; // POST ok (should always be 1)

/// Key scan codes
const KEY_CTRL: u16 = 0x0014;
const KEY_ALT: u16 = 0x0011;
const KEY_DEL: u16 = 0xE071;

/// Internal i8042 buffer size, in bytes
const BUF_SIZE: usize = 16;

/// A i8042 PS/2 controller that emulates just enough to shutdown the machine.
pub struct I8042Device {
    /// CPU reset eventfd. We will set this event when the guest issues CMD_RESET_CPU.
    reset_evt: EventFd,

    /// Keyboard interrupt event (IRQ 1).
    kbd_interrupt_evt: EventFd,

    /// The i8042 status register.
    status: u8,

    /// The i8042 control register.
    control: u8,

    /// The i8042 output port.
    outp: u8,

    /// The last command sent to port 0x64.
    cmd: u8,

    /// The internal i8042 data buffer.
    buf: [u8; BUF_SIZE],
    bhead: Wrapping<usize>,
    btail: Wrapping<usize>,
}

impl I8042Device {
    /// Constructs an i8042 device that will signal the given event when the guest requests it.
    pub fn new(reset_evt: EventFd, kbd_interrupt_evt: EventFd) -> I8042Device {
        I8042Device {
            reset_evt,
            kbd_interrupt_evt,
            control: CB_POST_OK | CB_KBD_INT,
            cmd: 0,
            outp: 0,
            status: SB_KBD_ENABLED,
            buf: [0; BUF_SIZE],
            bhead: Wrapping(0),
            btail: Wrapping(0),
        }
    }

    /// Returns a clone of the CPU reset event fd
    pub fn get_reset_evt_clone(&self) -> Result<EventFd> {
        self.reset_evt.try_clone().map_err(Error::CloneCpuResetEvt)
    }

    pub fn trigger_kbd_interrupt(&self) -> Result<()> {
        if (self.control & CB_KBD_INT) == 0 {
            warn!("Failed to trigger i8042 kbd interrupt (disabled by guest OS)");
            return Err(Error::KbdInterruptDisabled);
        }
        self.kbd_interrupt_evt
            .write(1)
            .map_err(Error::KbdInterruptFailure)
    }

    pub fn trigger_key(&mut self, key: u16) -> Result<()> {
        if key & 0xff00 != 0 {
            // Check if there is enough room in the buffer, before pushing an extended (2-byte) key.
            if BUF_SIZE - self.buf_len() < 2 {
                return Err(Error::InternalBufferFull);
            }
            self.push_byte((key >> 8) as u8)?;
        }
        self.push_byte((key & 0xff) as u8)?;

        match self.trigger_kbd_interrupt() {
            Ok(_) | Err(Error::KbdInterruptDisabled) => Ok(()),
            Err(e) => Err(e),
        }
    }

    #[inline]
    pub fn trigger_ctrl_alt_del(&mut self) -> Result<()> {
        // The CTRL+ALT+DEL sequence is 4 bytes in total (1 extended key + 2 normal keys).
        //


     strcsb      r4, [r0], #1
        strcsb      r12,[r0], #1

.Lsrc_aligned:

        /* see if src and dst are aligned together (congruent) */
        eor         r12, r0, r1
        tst         r12, #3
        bne         .Lnon_congruent

        /* Use post-incriment mode for stm to spill r5-r11 to reserved stack
         * frame. Don't update sp.
         */
        stmea       sp, {r5-r11}

        /* align the destination to a cache-line */
        rsb         r3, r0, #0
        ands        r3, r3, #0x1C
        beq         .Lcongruent_aligned32
        cmp         r3, r2
        andhi       r3, r2, #0x1C

        /* conditionally copies 0 to 7 words (length in r3) */
        movs        r12, r3, lsl #28
        ldmcsia     r1!, {r4, r5, r6, r7}   /* 16 bytes */
        ldmmiia     r1!, {r8, r9}           /*  8 bytes */
        stmcsia     r0!, {r4, r5, r6, r7}
        stmmiia     r0!, {r8, r9}
        tst         r3, #0x4
        ldrne       r10,[r1], #4            /*  4 bytes */
        strne       r10,[r0], #4
        sub         r2, r2, r3

.Lcongruent_aligned32:
        /*
         * here source is aligned to 32 bytes.
         */

.Lcached_aligned32:
        subs        r2, r2, #32
        blo         .Lless_than_32_left

        /*
         * We preload a cache-line up to 64 bytes ahead. On the 926, this will
         * stall only until the requested world is fetched, but the linefill
         * continues in the the background.
         * While the linefill is going, we write our previous cache-line
         * into the write-buffer (which should have some free space).
         * When the linefill is done, the writebuffer will
         * start dumping its content into memory
         *
         * While all this is going, we then load a full cache line into
         * 8 registers, this cache line should be in the cache by now
         * (or partly in the cache).
         *
         * This code should work well regardless of the source/dest alignment.
         *
         */

        // Align the preload register to a cache-line because the cpu does
        // "critical word first" (the first word requested is loaded first).
        bic         r12, r1, #0x1F
        add         r12, r12, #64

1:      ldmia       r1!, { r4-r11 }
        pld         [r12, #64]
        subs        r2, r2, #32

        // NOTE: if r12 is more than 64 ahead of r1, the following ldrhi
        // for ARM9 preload will not be safely guarded by the preceding subs.
        // When it is safely guarded the only possibility to have SIGSEGV here
        // is because the caller overstates the length.
        ldrhi       r3, [r12], #32      /* cheap ARM9 preload */
        stmia       r0!, { r4-r11 }
        bhs         1b

        add         r2, r2, #32

.Lless_than_32_left:
        /*
         * less than 32 bytes left at this point (length in r2)
         */

        /* skip all this if there is nothing to do, which should
         * be a common case (if not executed the code below takes
         * about 16 cycles)
         */
        tst         r2, #0x1F
        beq         1f

        /* conditionnaly copies 0 to 31 bytes */
        movs        r12, r2, lsl #28
        ldmcsia     r1!, {r4, r5, r6, r7}   /* 16 bytes */
        ldmmiia     r1!, {r8, r9}           /*  8 bytes */
        stmcsia     r0!, {r4, r5, r6,


 = trackSprite;
            edgeExtraR.SpriteRenderer.sprite = trackSprite;

            if (extraL != null && extraR != null)
            {
                extraL.SpriteRenderer.sprite = extraLaneSprite;
                extraR.SpriteRenderer.sprite = extraLaneSprite;
            }

            CustomSkin = name;
        }

        [MoonSharpHidden]
        public void ApplySkin(string name)
        {
            if (IsPersistent || string.IsNullOrEmpty(name))
            {
                return;
            }

            SetTrackSprite(name);
        }

        private void Awake()
        {
            divideLine01.SerializedType = "divline01";
            divideLine12.SerializedType = "divline12";
            divideLine23.SerializedType = "divline23";
            divideLine34.SerializedType = "divline34";
            divideLine45.SerializedType = "divline45";
            criticalLine0.SerializedType = "critline0";
            criticalLine1.SerializedType = "critline1";
            criticalLine2.SerializedType = "critline2";
            criticalLine3.SerializedType = "critline3";
            criticalLine4.SerializedType = "critline4";
            criticalLine5.SerializedType = "critline5";
            edgeExtraL.SerializedType = "edgeextraL";
            edgeExtraR.SerializedType = "edgeextraR";
            extraL.SerializedType = "extraL";
            extraR.SerializedType = "extraR";
        }
    }
}


    notifyListeners();
  }

  // 添加单个状态消息的方法
  void _addStatusMessage(String message) {
    _statusMessages.add(message);
    notifyListeners();
  }

  // 清除所有状态消息的方法
  void _clearStatusMessages() {
    _statusMessages.clear();
    notifyListeners();
  }

  Future<void> _recognizeVideo(String videoPath) async {
    if (videoPath.isEmpty) return;

    try {
      _setStatus(PlayerStatus.recognizing, message: '正在识别视频...');

      // 使用超时处理网络请求
      try {
        //debugPrint('尝试获取视频信息...');
        final videoInfo = await DandanplayService.getVideoInfo(videoPath)
            .timeout(const Duration(seconds: 15), onTimeout: () {
          //debugPrint('获取视频信息超时');
          throw TimeoutException('连接服务器超时');
        });

        if (videoInfo['isMatched'] == true) {
          //debugPrint('视频匹配成功，开始加载弹幕...');
          _setStatus(PlayerStatus.recognizing, message: '视频识别成功，正在加载弹幕...');

          // 更新观看记录的动画和集数信息
          await _updateWatchHistoryWithVideoInfo(videoPath, videoInfo);

          if (videoInfo['matches'] != null && videoInfo['matches'].isNotEmpty) {
            final match = videoInfo['matches'][0];
            if (match['episodeId'] != null && match['animeId'] != null) {
              try {
                //debugPrint('尝试加载弹幕...');
                _setStatus(PlayerStatus.recognizing, message: '正在加载弹幕...');
                final episodeId = match['episodeId'].toString();
                final animeId = match['animeId'] as int;

                // 从缓存加载弹幕
                //debugPrint('检查弹幕缓存...');
                final cachedDanmakuRaw =
                    await DanmakuCacheManager.getDanmakuFromCache(episodeId);
                if (cachedDanmakuRaw != null) {
                  //debugPrint('从缓存加载弹幕...');
                  _setStatus(PlayerStatus.recognizing, message: '正在从缓存解析弹幕...');

                  // 设置最终加载阶段标志，减少动画性能消耗
                  _isInFinalLoadingPhase = true;
                  notifyListeners();

                  _danmakuList = await compute(parseDanmakuListInBackground,
                      cachedDanmakuRaw as List<dynamic>?);

                  // Sort the list immediately after parsing
                  _danmakuList.sort((a, b) {
                    final timeA = (a['time'] as double?) ?? 0.0;
                    final timeB = (b['time'] as double?) ?? 0.0;
                    return timeA.compareTo(timeB);
                  });
                  //debugPrint('缓存弹幕解析并排序完成');

                  notifyListeners();
                  _setStatus(PlayerStatus.recognizing,
                      message: '从缓存加载弹幕完成 (${_danmakuList.length}条)');
                  return; // Return early after loading from cache
                }

                //debugPrint('从网络加载弹幕...');
                // 从网络加载弹幕
                final danmakuData =
                    await DandanplayService.getDanmaku(episodeId, animeId)
                        .timeout(const Duration(seconds: 15), onTimeout: () {
                  //debugPrint('


ic final String providerUseSsl = EnvConfig.get(UNIT_TEST_CONFIG_FILE, "brocade.smis.usessl");
    private static final String namespace = EnvConfig.get(UNIT_TEST_CONFIG_FILE, "brocade.smis.namespace");
    private static boolean isProviderSslEnabled = Boolean.parseBoolean(providerUseSsl);

    public static void main(String[] args) throws Exception {

        DCNMDialog dialog = new DCNMDialog();
        dialog.getClient(ipaddress, username, password, smisport);
        dialog.getZoneService("3180");
        List<String> vsanIds = dialog.getFabricIds();
        for (String vsan : vsanIds) {
            System.out.println("vsan: " + vsan);
        }
        // List<FCPortConnection> connections = dialog.getPortConnection();
        // for (FCPortConnection conn: connections) {
        // String x = MessageFormat.format("{0} {1} {2} {3} {4} {5}",
        // conn.getFabricId(), conn.getRemotePortName(),
        // conn.getRemoteNodeName(),
        // conn.getSwitchInterface(), conn.getSwitchName());
        // System.out.println(x);
        // }
        List<Zoneset> zonesets = dialog.getZonesets(3181);
        for (Zoneset zs : zonesets) {
            System.out.println("Zoneset: " + zs.getName());
            zs.print();
        }
        zonesets = dialog.getZonesets(3180);
        for (Zoneset zs : zonesets) {
            System.out.println("Zoneset: " + zs.getName());
            zs.print();
        }

        CIMInstance fabricIns = dialog.getFabricInstance("3180");

        Zone zn = new Zone("test_zone");
        List<Zone> zones = new ArrayList<Zone>();
        zones.add(zn);

        dialog.addZonesStrategy(zones, new Integer("3181"));
    }

}
/*
 * Copyright 2015 EMC Corporation
 * All Rights Reserved
 */

package com.emc.storageos.volumecontroller;

import java.net.URI;

import com.emc.storageos.db.client.model.Bucket;
import com.emc.storageos.db.client.model.ObjectUserSecretKey;
import com.emc.storageos.db.client.model.StorageSystem;
import com.emc.storageos.model.object.BucketACLUpdateParams;
import com.emc.storageos.svcs.errorhandling.resources.InternalException;
import com.emc.storageos.volumecontroller.impl.BiosCommandResult;

public interface ObjectStorageDevice {

    /**
     *
     * @param storageObj storage system
     * @param bucket Bucket instance
     * @param ob Device specific paras
     * @param taskId Task ID
     * @return Result of command
     * @throws ControllerException if create fails
     */

    BiosCommandResult doCreateBucket(StorageSystem storageObj, Bucket bucket, ObjectDeviceInputOutput ob, String taskId)
            throws ControllerException;

    /**
     * Update Bucket information to the Object Storage (Storage System)
     *
     * @param storageObj Storage system instance
     * @param bucket Bucket instance
     * @param softQuota Soft Quota for a bucket
     * @param hardQuota Hard Quota for a bucket
     * @param retention Retention period on a bucket
     * @param taskId Task ID
     * @return Result of operation
     * @throws ControllerException if Update fails
     */
    BiosCommandResult doUpdateBucket(StorageSystem storageObj, Bucket bucket, Long softQuota, Long hardQuota,
            Integer retention, String taskId) throws ControllerException;

    /**
     *
     * @param storageObj Storage system instance
     * @param bucket Bucket instance
     * @param taskId Task ID
     * @return Result of operation
     * @throws ControllerException if Delete fails
     */
    BiosCommandResult doDeleteBucket(


hange<T>) => {
			callbacks.forEach(f => f(change));
		};
		this.changed.on(allCallbacks);
		return this;
	}
}

ReflectHelper.mixin(RexScalar, RexScalarExtensions);/// <reference path="../utils/ExpirableSet.ts"/>

class ProjectileSet extends ExpirableSet<Projectile> {

    render(ctx: CanvasRenderingContext2D): void {
        for (const p of this.items) {
            p.render(ctx)
        }
    }
}
class BREAKXD extends NodoAbstracto{

    BREAKXD(val : string){
        this.Nombre = val;
        this.id=0;
        this.linea=0;
        this.columna=0;
        this.Hijos = new Array();
        this.TipoDato = "";
    }
    Ejecutar(entorno: Casa):NodoAbstracto{

        var nuevo = new Nodo("BREAKXD");
        //nuevo.Hijos[0] = this.Hijos[0].Hijos[0];
        nuevo.NumeroDeNodo = this.NumeroDeNodo;
        nuevo.MiCadena = "break;"
        nuevo.CadenaDe3D = "break";
        return nuevo;

    }
}import {SET_NAME} from '../action/setName';

export default (state, action) => {
  switch (action.type) {
    case SET_NAME:
      return {
        name: action.name,
        id: action.id,
      };
    default:
      return state || null;
  }
};
import { HTMLProps, WithStyle } from '@medly-components/utils';
import type { Context, Dispatch, FC, SetStateAction } from 'react';

export type StaticProps = {
    Header: FC<HeaderProps> & WithStyle;
    Content: FC<ContentProps> & WithStyle;
    Context: Context<AccordionContextType>;
};

export type AccordionContextType = [
    boolean /** Current active state */,
    Dispatch<SetStateAction<boolean>> /** Function to be called to toggle the active state */
];

export type AccordionProps = {
    /** Use to render any component as Button */
    as?: keyof JSX.IntrinsicElements | React.ComponentType<any>;
    /** Set it true to open the accordion by default */
    defaultActive?: boolean;
    /** If you want to handle the active state then pass it along with onChange */
    active?: boolean;
    /** If you want to handle the active state then pass it along with active */
    onChange?: Dispatch<SetStateAction<boolean>>;
    /** Set it to change the color of the icon */
    iconColor?: string;
};

export type HeaderProps = {
    iconColor?: string;
};

export type ContentProps = HTMLProps<HTMLDivElement> & {
    /** Use to render any component as Accordion content */
    as?: keyof JSX.IntrinsicElements | React.ComponentType<any>;
};
import { Builder, By, until, Capabilities, WebDriver } from "selenium-webdriver";
const chromedriver = require('chromedriver')

const driver = new Builder().withCapabilities(Capabilities.chrome()).build()

// We need to make a normal class
class MyPage {
    // You should have a WebDriver in each of your page objects.
    driver: WebDriver
    // A url can be very helpful to store in your page object
    url: string
    // Constructor is just a key word, we'll have a method that is used when we create a new
    // MyPage instance.
    // The arguments we give will replace those certain parameters inside of our page object.
    comingSoon: By = By.xpath('//[@id="__next"]/main/div[2]/div[3]/div[7]/section[3]/div/a/h3')
    results: By = By.xpath('//[@id="main"]/div/


;A String", # Required. Event type.
}

API hub API . projects . locations . hostProjectRegistrations

Instance Methods

  close()

Close httplib2 connections.

  create(parent, body=None, hostProjectRegistrationId=None, x__xgafv=None)

Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.

  get(name, x__xgafv=None)

Get a host project registration.

  list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)

Lists host project registrations.

  list_next()

Retrieves the next page of results.

Method Details

    close()

Close httplib2 connections.

    create(parent, body=None, hostProjectRegistrationId=None, x__xgafv=None)

Create a host project registration. A Google cloud project can be registered as a host project if it is not attached as a runtime project to another host project. A project can be registered as a host project only once. Subsequent register calls for the same project will fail.

Args:
  parent: string, Required. The parent resource for the host project. Format: `projects/{project}/locations/{location}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Host project registration refers to the registration of a Google cloud project with Api Hub as a host project. This is the project where Api Hub is provisioned.


0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z"/><path d="M5.5 7a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1H6a.5.5 0 0 1-.5-.5z"/>'),VV=ll("ShieldPlus",'<path d="M5.338 1.59a61.44 61.44 0 0 0-2.837.856.481.481 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.725 10.725 0 0 0 2.287 2.233c.346.244.652.42.893.533.12.057.218.095.293.118a.55.55 0 0 0 .101.025.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.775 11.775 0 0 1-2.517 2.453 7.159 7.159 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7.158 7.158 0 0 1-1.048-.625 11.777 11.777 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43 62.456 62.456 0 0 1 5.072.56z"/><path d="M8 4.5a.5.5 0 0 1 .5.5v1.5H10a.5.5 0 0 1 0 1H8.5V9a.5.5 0 0 1-1 0V7.5H6a.5.5 0 0 1 0-1h1.5V5a.5.5 0 0 1 .5-.5z"/>'),CV=ll("ShieldShaded",'<path fill-rule="evenodd" d="M8 14.933a.615.615 0 0 0 .1-.025c.076-.023.174-.061.294-.118.24-.113.547-.29.893-.533a10.726 10.726 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9


#ifndef PERVASIVE_H
#define PERVASIVE_H

#include <stdint.h>

uint32_t pervasive_get_soc_revision(void);

void pervasive_clock_enable_uart(int bus);
void pervasive_reset_exit_uart(int bus);

void pervasive_clock_enable_gpio(void);
void pervasive_reset_exit_gpio(void);

void pervasive_clock_enable_i2c(int bus);
void pervasive_reset_exit_i2c(int bus);

void pervasive_clock_enable_spi(int bus);
void pervasive_clock_disable_spi(int bus);
void pervasive_reset_exit_spi(int bus);

void pervasive_clock_enable_dsi(int bus, int value);
void pervasive_reset_exit_dsi(int bus, int value);

void pervasive_clock_enable_msif(void);
void pervasive_clock_disable_msif(void);
void pervasive_reset_exit_msif(void);
void pervasive_reset_enter_msif(void);

void pervasive_clock_enable_sdif(int bus);
void pervasive_clock_disable_sdif(int bus);
void pervasive_reset_exit_sdif(int bus);
void pervasive_reset_enter_sdif(int bus);

void pervasive_dsi_set_pixelclock(int bus, int pixelclock);
void pervasive_dsi_misc_unk_enable(int bus);
void pervasive_dsi_misc_unk_disable(int bus);

void pervasive_hdmi_clock_set_enabled(int enable);

int pervasive_msif_get_card_insert_state(void);
uint32_t pervasive_msif_unk(void);
void pervasive_msif_set_clock(uint32_t clock);

void pervasive_sdif_misc_0x110_0x11C(int bus, uint32_t value);
void pervasive_sdif_misc_0x124(int bus, uint32_t value);
void pervasive_sdif_misc_0x310(int bus, uint32_t value);

#endif


rdBoolean("Vision Has Target", false, row = 2, col = 1, DashboardTab.COMPETITION)

    init {
        io = when (State.mode) {
            REAL, REPLAY -> VisionIOPhotonvision()
            SIM -> object: VisionIO {}
        }
    }

    override fun periodic() {
        io.updateInputs(inputs)
        dashboardVisionConnected = inputs.connected
        dashboardVisionHasTarget = inputs.trackedTags.isNotEmpty()
        Logger.processInputs("Vision", inputs)
    }

    fun hasVisionTarget() = inputs.trackedTags.isNotEmpty()

    val connected get() = inputs.connected

    fun forwardPorts() {
        PortForwarder.add(5800, "10.93.32.11", 5800)
        PortForwarder.add(5800, "10.93.32.12", 5800)
    }
}package org.team9432.robot.sensors.beambreaks

import edu.wpi.first.wpilibj.DigitalInput
import org.team9432.DashboardTab
import org.team9432.dashboard.lib.widgets.ReadableDashboardBooleanList
import org.team9432.dashboard.shared.WidgetPosition
import org.team9432.robot.Devices

class BeambreakIOReal: BeambreakIO {
    private val list = ReadableDashboardBooleanList(
        "Beambreaks",
        mapOf(
            "Amp Intake" to false,
            "Speaker Intake" to false,
            "Amp Hopper" to false,
            "Speaker Hopper" to false,
            "Center" to false,
        ), WidgetPosition(0, 0, DashboardTab.COMPETITION, rowsSpanned = 2, colsSpanned = 2)
    )
    private val intakeAmpSide = DigitalInput(Devices.INTAKE_AMP_SIDE_BEAMBREAK_PORT)
    private val intakeSpeakerSide = DigitalInput(Devices.INTAKE_SPEAKER_SIDE_BEAMBREAK_PORT)
    private val hopperAmpSide = DigitalInput(Devices.HOPPER_AMP_SIDE_BEAMBREAK_PORT)
    private val hopperSpeakerSide = DigitalInput(Devices.HOPPER_SPEAKER_SIDE_BEAMBREAK_PORT)
    private val center = DigitalInput(Devices.CENTER_BEAMBREAK_PORT)

    override fun updateInputs(inputs: BeambreakIO.BeambreakIOInputs) {
        inputs.intakeAmpSideActive = intakeAmpSide.get()
        inputs.intakeSpeakerSideActive = intakeSpeakerSide.get()
        inputs.hopperAmpSideActive = hopperAmpSide.get()
        inputs.hopperSpeakerSideActive = hopperSpeakerSide.get()
        inputs.centerActive = center.get()

        list["Amp Intake"] = inputs.intakeAmpSideActive
        list["Speaker Intake"] = inputs.intakeSpeakerSideActive
        list["Amp Hopper"] = inputs.hopperAmpSideActive
        list["Speaker Hopper"] = inputs.hopperSpeakerSideActive
        list["Center"] = inputs.centerActive
    }
}package team.aliens.dms.android.network.studyroom.datasource

import team.aliens.dms.android.network.studyroom.model.FetchAppliedStudyRoomResponse
import team.aliens.dms.android.network.studyroom.model.FetchAvailableStudyRoomTimesResponse
import team.aliens.dms.android.network.studyroom.model.FetchSeatTypesResponse
import team.aliens.dms.android.network.studyroom.model.FetchStudyRoomApplicationTimeResponse
import team.aliens.dms.android.network.studyroom.model.FetchStudyRoomDetailsResponse
import team.aliens.dms.android.network.studyroom.model.FetchStudyRoomsResponse
import java.util.UUID

abstract class NetworkStudyRoomDataSource {

    abstract suspend fun fetchStudyRoomApplicationTime(): FetchStudyRoomApplicationTimeResponse

    abstract suspend fun applySeat(
        seatId: UUID,


only the onTrack(...) functionality is applied.
 * @param kernel The MOCKernel dictating the functionality to apply to
 *        segments
 */
void TraverseSegments::loopOverTracksByTrackOTF(MOCKernel* kernel) {

  int num_2D_tracks = _track_generator_3D->getNum2DTracks();
  Track** tracks_2D = _track_generator_3D->get2DTracksArray();
  int*** tracks_per_stack = _track_generator_3D->getTracksPerStack();
  int num_azim = _track_generator->getNumAzim();
  int num_polar = _track_generator_3D->getNumPolar();
  int tid = omp_get_thread_num();

  /* Loop over flattened 2D tracks */
#pragma omp for schedule(dynamic)
  for (int ext_id=0; ext_id < num_2D_tracks; ext_id++) {

    /* Extract indices of 3D tracks associated with the flattened track */
    Track* flattened_track = tracks_2D[ext_id];
    TrackStackIndexes tsi;
    tsi._azim = flattened_track->getAzimIndex();
    tsi._xy = flattened_track->getXYIndex();

    /* Loop over polar angles */
    for (int p=0; p < num_polar; p++) {

      /* Loop over tracks in the z-stack */
      for (int z=0; z < tracks_per_stack[tsi._azim][tsi._xy][p]; z++) {

        /* Extract 3D track and retrieve its information */
        Track3D track_3D;
        tsi._polar = p;
        tsi._z = z;
        _track_generator_3D->getTrackOTF(&track_3D, &tsi);

        /* Operate on segments if necessary */
        if (kernel != NULL) {

          /* Reset kernel for a new Track */
          kernel->newTrack(&track_3D);
          double theta = track_3D.getTheta();
          Point* start = track_3D.getStart();

          /* Trace the segments on the track */
          traceSegmentsOTF(flattened_track, start, theta, kernel);
          track_3D.setNumSegments(kernel->getCount());
        }

        /* Operate on the Track */
        segment* segments = _track_generator_3D->getTemporarySegments(tid);
        onTrack(&track_3D, segments);
      }
    }
  }
}

/**
 * @brief Loops over all 3D Tracks using axial on-the-fly ray tracing by
 *        z-stack.
 * @details The onTrack(...) function is applied to all 3D Tracks and the
 *          specified kernel is applied to all segments. If NULL is provided
 *          for the kernel, only the onTrack(...) functionality is applied.
 * @param kernel The MOCKernel dictating the functionality to apply to
 *        segments
 */
void TraverseSegments::loopOverTracksByStackOTF(MOCKernel* kernel) {

  int num_2D_tracks = _track_generator_3D->getNum2DTracks();
  Track** flattened_tracks = _track_generator_3D->get2DTracksArray();
  int*** tracks_per_stack = _track_generator_3D->getTracksPerStack();
  int num_polar = _track_generator_3D->getNumPolar();
  int tid = omp_get_thread_num();

  /* Allocate array of current Tracks */
  Track3D* current_stack = _track_generator_3D->getTemporary3DTracks(tid);

  /* Loop over flattened 2D tracks */
#pragma omp for schedule(dynamic)
  for (int ext_id=0; ext_id < num_2D_tracks; ext_id++) {

    /* Extract indices of 3D tracks associated with the flattened track */
    TrackStackIndexes tsi;
    Track* flattened_track = flattened_tracks[ext_id];
    tsi._azim = flattened_track->getAzimIndex();
    tsi._xy = flattened_track->getXYIndex();

    /* Loop over polar angles */


.66v-2.438h.995v-.51h-2.644v.51h.989zm-3.826 0h1.927v-.511H15.36v-2.438h-.661zm-3.282-2.438h1.416v-.51h-2.077v2.948h2.121v-.511h-1.46v-.766h1.25v-.511h-1.25zm-4.981 2.438h1.038c1.072 0 1.71-.555 1.71-1.472 0-.916-.638-1.471-1.71-1.471H6.436zm.655-2.438h.383c.694 0 1.044.344 1.044.96 0 .617-.344.961-1.044.961h-.383zm-2.277 2.155a.15.15 0 01.15.15.15.15 0 01-.15.15.15.15 0 01-.15-.15.15.15 0 01.15-.15m0 .277a.13.13 0 00.134-.127c0-.073-.056-.128-.134-.128a.126.126 0 00-.127.128c0 .072.055.127.127.127m-.033-.039H4.76v-.177h.067c.038 0 .055.016.055.05 0 .033-.022.044-.044.05l.055.077h-.028l-.05-.077h-.033zm0-.1h.028c.022 0 .05 0 .05-.027 0-.022-.022-.028-.039-.028h-.039zM0 13.85h4.626l-2.31-.978zm.172-.395 2.144-1.033 2.143 1.033-2.143-3.304Z"/></svg>';
  static const String deno =
      '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"><path fill="currentColor" d="M12 0c6.627 0 12 5.373 12 12s-5.373 12-12 12S0 18.627 0 12 5.373 0 12 0Zm-.469 6.793c-3.49 0-6.204 2.196-6.204 4.928 0 2.58 2.498 4.228 6.37 4.145l.118-.003.425-.012-.109.279.013.029c.031.072.06.145.084.22l.01.028.015.045.021.065.014.045.014.047.015.049.021.075.022.079.015.054.023.084.022.088.023.091.023.095.015.065.024.1.023.103.032.143.017.074.024.114.024.117.025.12.035.174.029.142.037.195.02.1.028.155.03.158.039.217.04.225.04.231.041.24.042.246.042.254.042.26.032.201.055.344.022.14.055.36.045.295.034.227.046.308.023.156a10.758 10.758 0 006.529-3.412l.05-.055-.238-.891-.633-2.37-.395-1.47-.348-1.296-.213-.787-.136-.498-.081-.297-.073-.264-.032-.11-.018-.064-.01-.034-.008-.026a6.042 6.042 0 00-2.038-2.97c-1.134-.887-2.573-1.351-4.252-1.351ZM8.467 19.3a.586.586 0 00-.714.4l-.004.013-.527 1.953c.328.163.665.309 1.008.437l.08.03.57-2.114.004-.015a.586.586 0 00-.417-.704Zm3.264-1.43a.586.586 0 00-.715.4l-.004.014-.796 2.953-.004.014a.586.586 0 001


consectetur adipisicing elit. Veniam doloremque architecto et commodi quod quas, voluptates nesciunt, delectus cum error repellendus est ducimus neque aut illum quam alias tenetur eaque deleniti! Explicabo porro quos illo rerum, fugit vero optio expedita magnam nisi reprehenderit provident obcaecati adipisci laudantium! Soluta tempora vitae in repudiandae sapiente quasi, tempore delectus, et quae nesciunt architecto nisi fugiat officiis veritatis omnis sequi aperiam aliquid. Odio quisquam doloremque cum molestias itaque fugiat neque ullam dolorum, beatae reprehenderit iste repellendus, aperiam dolor obcaecati reiciendis veritatis maiores cupiditate. Praesentium ut quae dolorem recusandae porro nam accusantium, atque voluptatem neque!
 -->

 <!doctype html>

    <meta charset="utf-8"/>
    <title>Insurance P&C Claims Database</title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/wingcss/0.1.8/wing.min.css"/>


;
  }
  .jstree-default-dark-responsive .jstree-themeicon-custom {
    background-color: transparent;
    background-image: none;
    background-position: 0 0;
  }
  .jstree-default-dark-responsive .jstree-file {
    background: url("40px.png") 0 -160px no-repeat;
    background-size: 120px 240px;
  }
  .jstree-default-dark-responsive .jstree-folder {
    background: url("40px.png") -40px -40px no-repeat;
    background-size: 120px 240px;
  }
  .jstree-default-dark-responsive > .jstree-container-ul > .jstree-node {
    margin-left: 0;
    margin-right: 0;
  }
}
.jstree-default-dark {
  background: #333;
}
.jstree-default-dark .jstree-anchor {
  color: #999;
  text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);
}
.jstree-default-dark .jstree-clicked,
.jstree-default-dark .jstree-checked {
  color: white;
}
.jstree-default-dark .jstree-hovered {
  color: white;
}
#jstree-marker.jstree-default-dark {
  border-left-color: #999;
  background: transparent;
}
.jstree-default-dark .jstree-anchor > .jstree-icon {
  opacity: 0.75;
}
.jstree-default-dark .jstree-clicked > .jstree-icon,
.jstree-default-dark .jstree-hovered > .jstree-icon,
.jstree-default-dark .jstree-checked > .jstree-icon {
  opacity: 1;
}
.jstree-default-dark.jstree-rtl .jstree-node {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==");
}
.jstree-default-dark.jstree-rtl .jstree-last {
  background: transparent;
}
.jstree-default-dark-small.jstree-rtl .jstree-node {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==");
}
.jstree-default-dark-small.jstree-rtl .jstree-last {
  background: transparent;
}
.jstree-default-dark-large.jstree-rtl .jstree-node {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAACZmZl+9SADAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==");
}
.jstree-default-dark-large.jstree-rtl .jstree-last {
  background: transparent;
}
/*!
 * Bootstrap-select v1.6.3 (http://silviomoreto.github.io/bootstrap-select/)
 *
 * Copyright 2013-2014 bootstrap-select
 * Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
 */

.bootstrap-select {
  /*width: 220px\9; IE8 and below*/
  width: 220px \0;
  /*IE9 and below*/
}
.bootstrap-select > .btn {
  widt


import os
from PyQt5.QtCore import pyqtSignal, Qt
from PyQt5.QtWidgets import QScrollArea, QWidget, QGridLayout, QCheckBox

def should_be_checked(extension, project_preferences):
    if not project_preferences:
        return False
    return extension in project_preferences.get("extensions", {})

class FileTypeCheckboxesFrame(QScrollArea):
    """Widget for file type selection checkboxes."""

    selection_changed = pyqtSignal(list)

    def __init__(self, parent=None):
        super().__init__(parent)
        self.checkboxes = {}
        self.init_ui()

    def init_ui(self):
        self.setWidgetResizable(True)
        container = QWidget()
        self.grid_layout = QGridLayout()
        container.setLayout(self.grid_layout)
        self.setWidget(container)

    def update_for_project(self, file_extensions, project_preferences=None):
        # Update checkboxes for current project
        for checkbox in self.checkboxes.values():
            self.grid_layout.removeWidget(checkbox)
            checkbox.deleteLater()
        self.checkboxes.clear()

        sorted_extensions = sorted(file_extensions)
        row, col = 0, 0
        for ext in sorted_extensions:
            checkbox = QCheckBox(ext)
            checkbox.setChecked(should_be_checked(ext, project_preferences))
            checkbox.stateChanged.connect(lambda state, e=ext: self.on_checkbox_changed(e, state))
            self.grid_layout.addWidget(checkbox, row, col)
            self.checkboxes[ext] = checkbox
            col += 1
            if col == 3:
                col = 0
                row += 1

    def on_checkbox_changed(self, extension, state):
        # Handle checkbox state change
        self.selection_changed.emit(self.get_selected_extensions())

    def get_selected_extensions(self):
        # Get list of selected extensions
        return [ext for ext, checkbox in self.checkboxes.items() if checkbox.isChecked()]


/collapse_all.gif" />See Also

DatabaseEnvironment Class

BerkeleyDB Namespace

Report Feedback on this item in the Oracle Technology Network Forum
Copyright (c) 2008, 2013 Oracle. All rights reserved.

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" /><META NAME="save" CONTENT="history" /><title>CachedValue Property </title><link rel="stylesheet" type="text/css" href="../styles/presentation.css" /><link rel="stylesheet" type="text/css" href="ms-help://Hx/HxRuntime/HxLink.css" /><meta name="container" content="BerkeleyDB" /><meta name="file" content="P_BerkeleyDB_SequenceStats_CachedValue" /><meta name="guid" content="P_BerkeleyDB_SequenceStats_CachedValue" /><xml><MSHelp:Attr Name="AssetID" Value="P:BerkeleyDB.SequenceStats.CachedValue" /><MSHelp:TOCTitle Title="CachedValue Property " /><MSHelp:RLTitle Title="SequenceStats.CachedValue Property  (BerkeleyDB)" /><MSHelp:Keyword Index="A" Term="P:BerkeleyDB.SequenceStats.CachedValue" /><MSHelp:Keyword Index="A" Term="frlrfBerkeleyDBSequenceStatsClassCachedValueTopic" /><MSHelp:Keyword Index="K" Term="CachedValue property" /><MSHelp:Keyword Index="K" Term="SequenceStats.CachedValue property" /><MSHelp:Keyword Index="F" Term="CachedValue" /><MSHelp:Keyword Index="F" Term="SequenceStats.CachedValue" /><MSHelp:Keyword Index="F" Term="BerkeleyDB.SequenceStats.CachedValue" /><MSHelp:Attr Name="APIType" Value="Managed" /><MSHelp:Attr Name="APILocation" Value="libdb_dotnet53.dll" /><MSHelp:Attr Name="APIName" Value="BerkeleyDB.SequenceStats.CachedValue" /><MSHelp:Attr Name="APIName" Value="BerkeleyDB.SequenceStats.get_CachedValue" /><MSHelp:Attr Name="DevLang" Value="CSharp" /><MSHelp:Attr Name="DevLang" Value="VB" /><MSHelp:Attr Name="DevLang" Value="C++" /><MSHelp:Attr Name="Locale" Value="en-us" /><MSHelp:Attr Name="TopicType" Value="kbSyntax" /><MSHelp:Attr Name="TopicType" Value="apiref" /><MSHelp:Attr Name="Abstract" Value="Current cached value." /><MSHelp:Attr Name="AssemblyVersion" Value="5.3.28.0" /></xml><i


 göre edğişir olmalıdır.

👇 Aşağıdaki program **object-like macro** ile **cosnt variable** kullanımı görülebilir.
```C
#include <stdio.h>

// Aşağıdaki gibi '100' sabitini iki farklı araç ile kullanabiliriz.
#define SIZE 100 // Buradaki 'SIZE' sadece önişlemci program için bir identifier'dır.
const int size = 100; //

int main(void)
{
    &SIZE; // Buradaki gibi bir ifadekullanamayız, hata alırız, böyle bir ifade kullanmak gerekiyorsa '&size' ile ihtiyacı karşılayabiliriz.
}
```

### 43.Ders 5. Mülakat Sorusu

Mülakatlarda en sık sorulan sorulardan biri `volative` anahtar sözcüğünün kullanımının doğru bilinip bilinmediğine yönelik sorulardır.

👇 Aşağıdaki programda `volatile` kullanımı incelenebilir, derleyici `volatile` olarak bildirilen adresteki değerlerin kullanıldığı her yerde adresteki değeri bellekten okuması gerekiyor.
```C
int main()
{
    int x = 5;
    int* const pc = &x; // const pointer to int

    int* volatile pv1 = &x; // 'volatile pointer to int'
    int volatile* pv2 = &x; // 'pointer to volatile int'
    volatile int * pv3 = &x; // 'pointer to volatile int'
}
```

## 45.Ders

### 45.Ders 1. Mülakat Sorusu

C mülakatlarında aşağıdaki gibi kullanıcıdan alınan değerlere göre dinamik nesneler üretilmesi gereken durumlar için program yazılması istenmektedir. </br>
👇 Aşağıdaki programdaki matris **pointer to pointer** ve **dynamic memory management** konularıyla ilgilidir, aşağıdaki programdan kullanıcıdan çalışma zamanında alınacak olan satır ve sütun adedine göre bir matris oluşturup o matrisi standart çıktı akımına nasıl gönderildiği incelenebilir. </br>
👇 Aşağıdaki programda üretilmesi istenilen matris iki boyutlu dizi olacak biçimde yazılmıştır.
```C
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "nutility.h"
#include <conio.h> // Standart bir modül değil

int main(void)
{
    printf("matrisin satir ve sutun sayisini girin: ");
    size_t row, col;

    scanf("%zu%zu", &row, &col);

    int** pd = (int**)malloc(row * sizeof(int*)); // Burada matrisin satırlarını oluşturacak olan elemanları 'int' türünden dizi nesnesi olan 'int**' türünden 'pd' değişkeni tanımlanıyor.
    if(!pd){
        printf("bellek yetersiz!\n");
        return 1;
    }

    // Aşağıdaki döngü ile 'pd' dizisinin her bir elemanı için bellekten dinamik olarak yer ayrılıp
    for(size_t i = 0; i < row; ++i){


* direction of that language.
     *
     * If the {@link #contentLanguage editor content language} was derived from the {@link #uiLanguage editor language},
     * the content language direction is the same as the {@link #uiLanguageDirection UI language direction}.
     *
     * The value is either `'ltr'` or `'rtl'`.
     *
     */
    readonly contentLanguageDirection: string;
    /**
     * Translates the given message to the {@link #uiLanguage}. This method is also available in
     * {@link module:core/editor/editor~Editor#t `Editor`} and {@link module:ui/view~View#t `View`}.
     *
     * This method's context is statically bound to the `Locale` instance and **should always be called as a function**:
     *
     *  const t = locale.t;
     *  t( 'Label' );
     *
     * The message can be either a string or an object implementing the {@link module:utils/translation-service~Message} interface.
     *
     * The message may contain placeholders (`%<index>`) for value(s) that are passed as a `values` parameter.
     * For an array of values, the `%<index>` will be changed to an element of that array at the given index.
     * For a single value passed as the second argument, only the `%0` placeholders will be changed to the provided value.
     *
     *  t( 'Created file "%0" in %1ms.', [ fileName, timeTaken ] );
     *   t( 'Created file "%0", fileName );
     *
     * The message supports plural forms. To specify the plural form, use the `plural` property. Singular or plural form
     * will be chosen depending on the first value from the passed `values`. The value of the `plural` property is used
     * as a default plural translation when the translation for the target language is missing.
     *
     *  t( { string: 'Add a space', plural: 'Add %0 spaces' }, 1 ); // 'Add a space' for the English language.
     *  t( { string: 'Add a space', plural: 'Add %0 spaces' }, 5 ); // 'Add 5 spaces' for the English language.
     *  t( { string: '%1 a space', plural: '%1 %0 spaces' }, [ 2, 'Add' ] ); // 'Add 2 spaces' for the English language.
     *
     *   t( { string: 'Add a space', plural: 'Add %0 spaces' }, 1 ); // 'Dodaj spację' for the Polish language.
     *  t( { string: 'Add a space', plural: 'Add %0 spaces' }, 5 ); // 'Dodaj 5 spacji' for the Polish language.
     *  t( { string: '%1 a space', plural: '%1 %0 spaces' }, [ 2, 'Add' ] ); // 'Dodaj 2 spacje' for the Polish language.
     *
     *  * The message should provide an ID using the `id` property when the message strings are not unique and their
     * translations should be different.
     *
     *  translate( 'en', { string: 'image', id: 'ADD_IMAGE' } );
     *  translate( 'en', { string: 'image', id: 'AN_IMAGE' } );
     *
     * For messages supporting plural forms the first value will determine the plural form.
     */
    t(message: string | Message, values?: string | number | Array<string | number>): string;

    private _t(message: string | Message, values?: string | number | Array<string | number>): string;
}
import {PerformProfileAction, buttonArgs} from "@/types/profile";

// Get Button Text
const getButtonText = ({currentPage, currentTab, userType}: buttonArgs) => {
  // Mentee's
  if (currentPage === "explore" && u


", "src\\api\\service.ts(29,50)", 29, 50);
	}

	@Test
	public void testFileInAbsoluteDirectoryWithWindowsTypeScriptStyleLineAndColumnNumbers() {
		// Windows, exception from TypeScript compiler
		assertPathDetection("From stack trace: D:\\src\\api\\service.ts(29,50)", "D:\\src\\api\\service.ts(29,50)", 29, 50);
	}

	@Test
	public void testFileInAbsoluteDirectoryWithWindowsTypeScriptStyleLineAndColumnNumbersAndMixedSlashes() {
		// Windows, exception from TypeScript compiler
		assertPathDetection("From stack trace: D:\\src\\api/service.ts(29,50)", "D:\\src\\api/service.ts(29,50)", 29, 50);
	}

	@Test
	public void testFileWithJavaExtensionInAbsoluteDirectoryAndLineNumbersWindowsStyle() {
		assertPathDetection("Windows: d:\\my\\file.java:150", "d:\\my\\file.java:150", 150);
	}

	@Test
	public void testFileWithJavaExtensionInAbsoluteDirectoryWithLineAndColumnNumbersInMaven()
	{
		assertPathDetection("/home/me/project/run.java:[245,15]", "/home/me/project/run.java:[245,15]", 245, 15);
	}

	@Test
	public void testFileWithJavaScriptExtensionInAbsoluteDirectoryWithLineNumbers() {
		// JS exception
		assertPathDetection("bla-bla /home/me/project/run.js:27 something", "/home/me/project/run.js:27", 27);
	}

	@Test
	public void testFileWithJavaStyleExceptionClassAndLineNumbers() {
		// Java exception stack trace
		assertPathDetection("bla-bla at (AwesomeLinkFilter.java:150) something", "AwesomeLinkFilter.java:150", 150);
	}

	@Test
	public void testFileWithRelativeDirectoryPythonExtensionAndLineNumberPlusColumn() {
		assertPathDetection("bla-bla at ./foobar/AwesomeConsole.py:1337:42 something", "./foobar/AwesomeConsole.py:1337:42", 1337, 42);
	}

	@Ignore
	@Test
	public void ignore_testFileWithoutExtensionInRelativeDirectory() {
		// TODO: detect files without extension
		assertPathDetection("No extension: bin/script pewpew", "bin/script");
	}

	@Test
	public void test_unicore_path_filename() {
		assertPathDetection("No extension: 中.txt yay", "中.txt");
	}

	@Test
	public void testURLHTTP() {
		assertURLDetection("omfg something: http://xkcd.com/ yay", "http://xkcd.com/");
	}

	@Test
	public void testURLHTTPWithIP() {
		assertURLDetection("omfg something: http://8.8.8.8/ yay", "http://8.8.8.8/");
	}

	@Test
	public void testURLHTTPS() {
		assertURLDetection("omfg something: https://xkcd.com/ yay", "https://xkcd.com/");
	}

	@Test
	public void testURLHTTPWithoutPath() {
		assertURLDetection("omfg something: http://xkcd.com yay", "http://xkcd.com");
	}

	@Test
	public void testURLFTPWithPort() {
		assertURLDetection("omfg something: ftp://8.8.8.8:2424 yay", "ftp://8.8.8.8:2424");
	}

	@Test
	public void testURLGIT() {
		assertURLDetection("omfg something: git://8.8.8.8:2424 yay", "git://8.8.8.8:2424");
	}

	@Test
	public void testURLFILEWithoutSchemeUnixStyle() {
		assertURLDetection("omfg something: /root/something yay", "/root/something");
	}

	@Test
	public void testURLFILEWithoutSchemeWindowsStyle() {
		assertURLDetection("omfg something: C:\\root\\something.java yay", "C:\\root\\something.java");


 the [`Fwd::fwd`]
/// method to send a message or use the [`fwd!`] macro.  Sending a
/// message typically results in the asynchronous execution of an
/// actor call, but may have other effects depending on the type of
/// forwarder.
///
/// [`Fwd::fwd`]: struct.Fwd.html#method.fwd
/// [`Fwd`]: struct.Fwd.html
/// [`Ret`]: struct.Ret.html
/// [`fwd!`]: macro.fwd.html
pub struct Fwd<M: 'static>(FwdRc<M>);

assert_eq_size!(Fwd<()>, [usize; 2]);

// Design note: Adding an `is_valid` method was considered, which
// could allow stale `Fwd` instances to be dropped if the target goes
// away.  However this adds overhead to all `Fwd` types, and in the
// cases where this might have been useful, it would require scanning
// potentially long lists at intervals, i.e. O(N).  It is better to
// make sure that proper cleanup occurs instead.  For actors, that
// means when the actor dies, cleaning up the whole group of related
// actors.

impl<M> Fwd<M> {
    /// Forward a message through the [`Fwd`] instance
    ///
    /// [`Fwd`]: struct.Fwd.html
    pub fn fwd(&self, msg: M) {
        self.0.inner()(msg);
    }

    /// Create a [`Fwd`] instance that performs an arbitrary action
    /// with the message on being called.  The call is made
    /// synchronously at the point that the message is forwarded.
    ///
    /// [`Fwd`]: struct.Fwd.html
    #[inline]
    pub fn new(f: impl Fn(M) + 'static) -> Self {
        Self(FwdRc::new(f))
    }

    /// Create a [`Fwd`] instance that queues calls to an actor.  The
    /// `Fn` provided must be `Copy` because on each invocation a new
    /// copy is made and put on the queue.  Use [`Ret`] instead if
    /// this is too restrictive.
    ///
    /// [`Fwd`]: struct.Fwd.html
    /// [`Ret`]: struct.Ret.html
    #[allow(clippy::wrong_self_convention)]
    #[inline]
    pub fn to_actor<A: 'static>(
        actor: Actor<A>,
        f: impl Fn(&mut A, &mut Cx<'_, A>, M) + Copy + 'static,
    ) -> Self {
        // This relies on closures being inlined.  We expect this to
        // result in just two fully-inlined closures: one boxed and
        // returned as the Fwd value, the other appended to the defer
        // queue when that is called.
        Self::new(move |m| {
            let actor2 = actor.clone();
            actor.defer(move |s| actor2.apply(s, move |a, cx| f(a, cx, m)));
        })
    }

    /// Create a [`Fwd`] instance that queues calls to an actor whilst
    /// in the **Prep** phase.  Once the actor is **Ready**, any
    /// queued prep calls are dropped.
    ///
    /// [`Fwd`]: struct.Fwd.html
    #[allow(clippy::wrong_self_convention)]
    #[inline]
    pub fn to_actor_prep<A: 'static>(
        actor: Actor<A>,
        f: impl Fn(&mut Cx<'_, A>, M) -> Option<A> + Copy + 'static,
    ) -> Self {
        Self::new(move |m| {
            let actor2 = actor.clone();
            actor.defer(move |s| actor2.apply_prep(s, move |cx| f(cx, m)));
        })
    }

    /// Create a [`Fwd`] instance that panics with the given message
    /// when called
    ///
    /// [`Fwd`]: struct.Fwd.html
    #[inline]
    pub fn panic(msg: impl Into<String>)


shortName) && shortName != dir)
                        {
                            destNtfs.SetShortName(dir, shortName);
                            --hardLinksRemaining;
                        }

                        if (newDir)
                        {
                            if (hardLinksRemaining > 0)
                            {
                                _uniqueFiles[sourceFileId] = dir;
                            }
                            CopyFiles(sourceNtfs, destNtfs, dir, subs);
                        }

                        // Set standard information last (includes modification timestamps)
                        destNtfs.SetFileStandardInformation(dir, sourceNtfs.GetFileStandardInformation(dir));
                    }
                }
            }

            foreach (var file in sourceNtfs.GetFiles(path))
            {
                Console.WriteLine(file);

                int hardLinksRemaining = sourceNtfs.GetHardLinkCount(file) - 1;

                long sourceFileId = sourceNtfs.GetFileId(file);

                string refPath;
                if (_uniqueFiles.TryGetValue(sourceFileId, out refPath))
                {
                    // If this is another name for a known file, recreate the hard link
                    destNtfs.CreateHardLink(refPath, file);
                }
                else
                {
                    CopyFile(sourceNtfs, destNtfs, file);

                    if (hardLinksRemaining > 0)
                    {
                        _uniqueFiles[sourceFileId] = file;
                    }


oded ASCII */
            "www.XY-----b91I0V65S96C2A355Cw1E5yCeQr19CsnP1mFfmAE0361DeA96B.com",
            new ParseException("StringPrep ACE_PREFIX_ERROR", -1),
            false, false, false
        ),
        /* cannot verify U_IDNA_VERIFICATION_ERROR */

        new ErrorCase( new char[]{
            0x0077, 0x0077, 0x0077, 0x002e, /* www. */
            0xC138, 0xACC4, 0xC758, 0xBAA8, 0xB4E0, 0xC0AC, 0xB78C, 0xB4E4, 0xC774,
            0xD55C, 0xAD6D, 0xC5B4, 0xB97C, 0xC774, 0xD574, 0xD55C, 0xB2E4, 0xBA74,
            0xC5BC, 0xB9C8, 0xB098, 0xC88B, 0xC744, 0xAE4C,
            0x002e, 0x0063, 0x006f, 0x006d, /* com. */

          },
          "www.xn--989AoMsVi5E83Db1D2A355Cv1E0vAk1DwRv93D5xBh15A0Dt30A5JpSD879Ccm6FeA98C.com",
          new ParseException("StringPrep LABEL_TOO_LONG_ERROR", -1),
          false, true, true
        ),
        new ErrorCase( new char[]{
            0x0077, 0x0077, 0x0077, 0x002e, /* www. */
            0x0030, 0x0644, 0x064A, 0x0647, 0x0031, /* Arabic code points squashed between EN codepoints */
            0x002e, 0x0063, 0x006f, 0x006d, /* com. */

          },
          "www.xn--01-tvdmo.com",
          new ParseException("StringPrep CHECK_BIDI_ERROR", -1),
          false, true, true
        ),

        new ErrorCase( new char[]{
            0x0077, 0x0077, 0x0077, 0x002e, // www.
            0x206C, 0x0644, 0x064A, 0x0647, 0x206D, // Arabic code points squashed between BN codepoints
            0x002e, 0x0063, 0x006f, 0x006d, // com.

          },
          "www.XN--ghbgi278xia.com",
          new ParseException("StringPrep PROHIBITED_ERROR", -1),
          false, true, true
        ),
        new ErrorCase( new char[] {
            0x0077, 0x0077, 0x0077, 0x002e, // www.
            0x002D, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, // HYPHEN at the start of label
            0x002e, 0x0063, 0x006f, 0x006d, // com.

          },
          "www.-abcde.com",
          new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
          true, true, false
        ),
        new ErrorCase( new char[] {
            0x0077, 0x0077, 0x0077, 0x002e, // www.
            0x0041, 0x0042, 0x0043, 0x0044, 0x0045,0x002D, // HYPHEN at the end of the label
            0x002e, 0x0063, 0x006f, 0x006d, // com.

          },
          "www.abcde-.com",
          new ParseException("StringPrep STD3_ASCII_RULES_ERROR", -1),
          true, true, false
        ),
        new ErrorCase( new char[]{
            0x0077, 0x0077,


moveSpeed * 3;
                    managers.Game.SFX = createjs.Sound.play("phoebeDash-Swing");
                    managers.Game.SFX.volume = 0.1;
                    //if (dirToPlayer.y < 60 && dirToPlayer.y > -60) {
                    if (Math.abs(dirToPlayer.x) >= Math.abs(dirToPlayer.y)) {
                        if (enemyPosition.x < playerPosition.x) {
                            console.log("Charge LEFT");
                            this.direction = config.Direction.LEFT;
                        }
                        else{
                            console.log("Charge RIGHT");
                            this.direction = config.Direction.RIGHT;
                        }
                    }
                    //else if (dirToPlayer.x < 40 && dirToPlayer.x > -40) {
                    else{
                        if (enemyPosition.y < playerPosition.y) {
                            this.direction = config.Direction.DOWN;
                        }
                        else {
                            this.direction = config.Direction.UP;
                        }
                    }
                    this.chargeSequence = 0;
                }, 1000);
            }

            if (this.chargeSequence > 0){
                switch (this.direction){
                    case config.Direction.UP:
                        this.y += this.currentSpeed;
                        this.scaleX = 1;
                        break;
                    case config.Direction.DOWN:
                        this.y -= this.currentSpeed;
                        this.scaleX = 1;
                        break;
                    case config.Direction.LEFT:
                        this.x += this.currentSpeed;
                        this.scaleX = 1;
                        break;
                    case config.Direction.RIGHT:
                        this.x -= this.currentSpeed;
                        this.scaleX = -1;
                        break;
                }
            }

            this.CheckBound();
        }
        public DevourEffect(): void {
            if (managers.Game.player.powerUp == this.powerUp){
                managers.Game.player.GainHealth(3);
            }
            else{
                managers.Game.player.powerUp = this.powerUp;
                managers.Game.SFX = createjs.Sound.play("phoebeTransform");
                managers.Game.SFX.volume = 0.6;
            }
        }
    }
}/*!
   Copyright 2019 Ron Buckton

   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.
*/

import /*#__INLINE__*/ { isPresent, isFunction, isNumber, isObject, isPropertyKey } from '@esfx/internal-guards';
import { AccessorPropertyDescriptor, MethodPropertyDescriptor } from '@esfx/type-model';
import type { DecoratorSignature, MappedDecoratorFactorySignature, MappedDecoratorOrDecoratorFactorySignature, MappedDecoratorSignature } from './typeModel';

/** @experimental */
export interface ClassDescriptor<T extends Function = Function> {
    kind: "class";
    target: T;
}

/** @experimental */
export interface MemberDescriptor<T = any> {
    kind: "member";
    target: object;
    key: string | symbol;
    descriptor?: TypedPropertyDescriptor<T>;
}

/** @experimental */
export interface AccessorMemberDescriptor<T = any> extends MemberDescriptor<T> {
    descriptor: AccessorPropertyDescriptor<T>;
}

/** @experimental */
export interface MethodMemberDescriptor<T extends (...args: any[]) => any = (...args: any[]) => any> extends MemberDescriptor<T


 IOBuffer::U16(transmute(v)),
                x if x == TypeId::of::<i16>() => IOBuffer::I16(transmute(v)),
                x if x == TypeId::of::<u32>() => IOBuffer::U32(transmute(v)),
                x if x == TypeId::of::<i32>() => IOBuffer::I32(transmute(v)),
                x if x == TypeId::of::<u64>() => IOBuffer::U64(transmute(v)),
                x if x == TypeId::of::<i64>() => IOBuffer::I64(transmute(v)),
                x if x == TypeId::of::<f32>() => IOBuffer::F32(transmute(v)),
                x if x == TypeId::of::<f64>() => IOBuffer::F64(transmute(v)),
                _ => v.into_iter().map(|x| x.to_f64().unwrap()).collect(),
            }
        }
    }
}

impl<T: ToPrimitive + 'static> From<Vec<T>> for IOBuffer {
    fn from(v: Vec<T>) -> IOBuffer {
        IOBuffer::new(v)
    }
}

impl<T: ToPrimitive + 'static> std::iter::FromIterator<T> for IOBuffer {
    fn from_iter<I>(iter: I) -> Self
    where
        I: IntoIterator<Item = T>,
    {
        IOBuffer::new(iter.into_iter().collect::<Vec<T>>())
    }
}

impl<T: 'static> Into<Option<Vec<T>>> for IOBuffer {
    fn into(self) -> Option<Vec<T>> {
        use std::mem::transmute;
        // SAFETY: in each case we definitively determine the type of the expected Vec, so the
        // transmute is a noop.
        unsafe {
            Some(match self {
                IOBuffer::U8(v) if TypeId::of::<T>() == TypeId::of::<u8>() => transmute(v),
                IOBuffer::I8(v) if TypeId::of::<T>() == TypeId::of::<i8>() => transmute(v),
                IOBuffer::U16(v) if TypeId::of::<T>() == TypeId::of::<u16>() => transmute(v),
                IOBuffer::I16(v) if TypeId::of::<T>() == TypeId::of::<i16>() => transmute(v),
                IOBuffer::U32(v) if TypeId::of::<T>() == TypeId::of::<u32>() => transmute(v),
                IOBuffer::I32(v) if TypeId::of::<T>() == TypeId::of::<i32>() => transmute(v),
                IOBuffer::U64(v) if TypeId::of::<T>() == TypeId::of::<u64>() => transmute(v),
                IOBuffer::I64(v) if TypeId::of::<T>() == TypeId::of::<i64>() => transmute(v),
                IOBuffer::F32(v) if TypeId::of::<T>() == TypeId::of::<f32>() => transmute(v),
                IOBuffer::F64(v) if TypeId::of::<T>() == TypeId::of::<f64>() => transmute(v),
                _ => return None,
            })
        }
    }
}

/// Evaluate the expression `$e` given a `Vec` `$v`.
#[macro_export]
macro_rules! match_buf {
    ($buf:expr, $v:pat => $e:expr) => {
        match $buf {
            IOBuffer::Bit($v) => $e,
            IOBuffer::U8($v) => $e,
            IOBuffer::I8($v) => $e,
            IOBuffer::U16($v) => $e,
            IOBuffer::I16($v) => $e,
            IOBuffer::U32($v) => $e,
            IOBuffer::I32($v) => $e,
            IOBuffer::U64($v) => $e,
            IOBuffer::I64($v) => $e,
            IOBuffer::F32($v) => $e,
            IOBuffer::F64($v) => $e,
        }
    };


value_1 = "43",
		base = 680
	},
	[687] = {
		id = 687,
		value_1 = "47",
		base = 680
	},
	[688] = {
		id = 688,
		value_1 = "51",
		base = 680
	},
	[689] = {
		id = 689,
		value_1 = "55",
		base = 680
	},
	[690] = {
		id = 690,
		value_1 = "60",
		base = 680
	},
	[691] = {
		id = 691,
		anti_siren = 100,
		value_1 = "65",
		base = 680
	},
	[700] = {
		name = "Type 98 Delayed Firing Device",
		tech = 0,
		type = 10,
		speciality = "N/A",
		attribute_1 = "cannon",
		value_2 = 0,
		icon = "700",
		value_1 = "12",
		descrip = "This device delays the firing of all main guns by a miniscule amount, reducing the effect that the shockwave has on the gun's accuracy and decreasing its spread.",
		rarity = 4,
		nationality = 3,
		ammo = 10,
		value_3 = 0,
		id = 700,
		torpedo_ammo = 0,
		property_rate = {},
		ammo_icon = {},
		ammo_info = {},
		equip_info = {
			6
		},
		weapon_id = {},
		skill_id = {
			6360
		},
		part_main = {
			4,
			5,
			10,
			13
		},
		part_sub = {
			4,
			5,
			10,
			13
		},
		equip_parameters = {},
		label = {
			"IJN",
			"DEV"
		}
	},
	[701] = {
		id = 701,
		value_1 = "14",
		base = 700
	},
	[702] = {
		id = 702,
		value_1 = "16",
		base = 700
	}
}