| ofs | hex dump | ascii |
|---|
| 0000 | 00 00 0f 81 00 00 83 08 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe | ....................2019.3.6f1.. |
| 0020 | ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 | ...............f..!..5.9.4.Q...B |
| 0040 | 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 | ...............7................ |
| 0060 | 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 | ................................ |
| 0080 | 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 | ...............E................ |
| 00a0 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 | ...............#................ |
| 00c0 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 | ...............,................ |
| 00e0 | 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 | ...........5...a................ |
| 0100 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 | ...............#................ |
| 0120 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 | ...............,................ |
| 0140 | 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 | ...............r................ |
| 0160 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 | ...............#................ |
| 0180 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 | ...............,................ |
| 01a0 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 | ...........H.................... |
| 01c0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 | ...........1...1............@... |
| 01e0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 | ................................ |
| 0200 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 | ...........Q...j................ |
| 0220 | 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 | ...............J................ |
| 0240 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 | ...........1...1................ |
| 0260 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 | ................................ |
| 0280 | 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 | ...............j................ |
| 02a0 | 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 | ...........\.................... |
| 02c0 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 | ...........H...r................ |
| 02e0 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0300 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 | ................................ |
| 0320 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0340 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 | ...........H...w................ |
| 0360 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0380 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 03c0 | 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 | ...........H.................... |
| 03e0 | 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 | ...........1...1............@... |
| 0400 | 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 | ................................ |
| 0420 | 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0440 | 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 | ...........y.................... |
| 0460 | 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 | ...............#.......!........ |
| 0480 | 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 | ...............,......."........ |
| 04a0 | 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 | .......................#....@... |
| 04c0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 | ...........1...1.......$........ |
| 04e0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 | .......................%........ |
| 0500 | 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 | ...............j.......&........ |
| 0520 | 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 | .......................'........ |
| 0540 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 | ...........1...1.......(........ |
| 0560 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 | .......................)........ |
| 0580 | 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 | ...............j.......*........ |
| 05a0 | 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 | ...........H...........+........ |
| 05c0 | 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 | ...........1...1.......,....@... |
| 05e0 | 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 | .......................-........ |
| 0600 | 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 | ...........Q...j................ |
| 0620 | 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 | ...........y.........../........ |
| 0640 | 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 | ...............#.......0........ |
| 0660 | 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 | ...............,.......1........ |
| 0680 | 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 | .......................2....@... |
| 06a0 | 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 | .......................3....@... |
| 06c0 | 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 | ...............#.......4........ |
| 06e0 | 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 | ...............,.......5........ |
| 0700 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 | ...........H...........6........ |
| 0720 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 | ...........1...1.......7....@... |
| 0740 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 | .......................8........ |
| 0760 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 | ...........Q...j.......9........ |
| 0780 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 | ...........H...........:........ |
| 07a0 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 | ...........1...1.......;....@... |
| 07c0 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 | .......................<........ |
| 07e0 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 | ...........Q...j.......=........ |
| 0800 | 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 | ...........H...........>........ |
| 0820 | 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 | ...........1...1.......?....@... |
| 0840 | 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 | .......................@........ |
| 0860 | 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 | ...........Q...j.......A........ |
| 0880 | 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 | .......MonoImporter.PPtr<EditorE |
| 08a0 | 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 | xtension>.m_FileID.m_PathID.PPtr |
| 08c0 | 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 | <PrefabInstance>.m_ExternalObjec |
| 08e0 | 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 | ts.SourceAssetIdentifier.type.as |
| 0900 | 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 | sembly.name.m_UsedFileIDs.m_Defa |
| 0920 | 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f | ultReferences.executionOrder.ico |
| 0940 | 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d | n.m_UserData.m_AssetBundleName.m |
| 0960 | 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 | _AssetBundleVariant.....s....... |
| 0980 | 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 | G....Z56.:!@i.J*...............7 |
| 09a0 | 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 | ................................ |
| 09c0 | 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 | ...............................E |
| 09e0 | 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0a00 | 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0a20 | 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 | ...........................(...a |
| 0a40 | 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0a60 | 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0a80 | 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 | ...............................r |
| 0aa0 | 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0ac0 | 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0ae0 | 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab | ...........................H.... |
| 0b00 | 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0b20 | 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ............@................... |
| 0b40 | 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | ...........................Q...j |
| 0b60 | 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea | ...........................H.... |
| 0b80 | 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0ba0 | 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ............@................... |
| 0bc0 | 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | ...........................Q...j |
| 0be0 | 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d | ...............................= |
| 0c00 | 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ...........................1...1 |
| 0c20 | 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | ................................ |
| 0c40 | 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a | ...............................j |
| 0c60 | 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b | ...........................H.... |
| 0c80 | 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 | ...........................1...1 |
| 0ca0 | 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b | ............@................... |
| 0cc0 | 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a | ...........................Q...j |
| 0ce0 | 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a | ...........................y.... |
| 0d00 | 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 | ................................ |
| 0d20 | 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f | ................................ |
| 0d40 | 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 | ...........................y...Q |
| 0d60 | 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 | ................................ |
| 0d80 | 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f | ................................ |
| 0da0 | 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 | ...............................X |
| 0dc0 | 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 | .......!...................H...i |
| 0de0 | 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | ......."...................1...1 |
| 0e00 | 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | .......#....@................... |
| 0e20 | 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | .......$...................Q...j |
| 0e40 | 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 | .......%...................H...u |
| 0e60 | 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 | .......&...................1...1 |
| 0e80 | 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b | .......'....@................... |
| 0ea0 | 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a | .......(...................Q...j |
| 0ec0 | 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 | .......)...............PPtr<Edit |
| 0ee0 | 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 | orExtension>.m_FileID.m_PathID.P |
| 0f00 | 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 | Ptr<PrefabInstance>.m_DefaultRef |
| 0f20 | 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 | erences.m_Icon.m_ExecutionOrder. |
| 0f40 | 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 | m_ClassName.m_Namespace......... |
| 0f60 | 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 | ............\........y......`... |
| 0f80 | a8 72 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .r.............................. |
| 0fa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0fe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1000 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1020 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 | .....................y.......... |
| 1040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 1080 | 00 00 00 00 00 00 00 00 12 00 00 00 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 00 00 | ............InputDeviceMatcher.. |
| 10a0 | 31 72 00 00 75 73 69 6e 67 20 53 79 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e | 1r..using.System;..using.System. |
| 10c0 | 43 6f 6c 6c 65 63 74 69 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 | Collections.Generic;..using.Syst |
| 10e0 | 65 6d 2e 4c 69 6e 71 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 54 65 78 74 2e 52 65 67 75 | em.Linq;..using.System.Text.Regu |
| 1100 | 6c 61 72 45 78 70 72 65 73 73 69 6f 6e 73 3b 0d 0a 75 73 69 6e 67 20 55 6e 69 74 79 45 6e 67 69 | larExpressions;..using.UnityEngi |
| 1120 | 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 55 74 69 6c 69 74 69 65 73 3b 0d 0a 0d 0a 6e 61 6d | ne.InputSystem.Utilities;....nam |
| 1140 | 65 73 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 74 65 6d 2e 4c | espace.UnityEngine.InputSystem.L |
| 1160 | 61 79 6f 75 74 73 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 | ayouts..{......///.<summary>.... |
| 1180 | 20 20 2f 2f 2f 20 53 70 65 63 69 66 69 63 61 74 69 6f 6e 20 74 68 61 74 20 63 61 6e 20 62 65 20 | ..///.Specification.that.can.be. |
| 11a0 | 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 20 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e | matched.against.an.<see.cref="In |
| 11c0 | 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 2e 20 54 68 69 73 20 69 73 | putDeviceDescription"/>..This.is |
| 11e0 | 0d 0a 20 20 20 20 2f 2f 2f 20 75 73 65 64 20 74 6f 20 66 69 6e 64 20 77 68 69 63 68 20 3c 73 65 | ......///.used.to.find.which.<se |
| 1200 | 65 20 63 72 65 66 3d 22 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 22 2f 3e 20 74 6f | e.cref="InputControlLayout"/>.to |
| 1220 | 20 63 72 65 61 74 65 20 66 6f 72 20 61 20 64 65 76 69 63 65 20 77 68 65 6e 20 69 74 20 69 73 20 | .create.for.a.device.when.it.is. |
| 1240 | 64 69 73 63 6f 76 65 72 65 64 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d | discovered.......///.</summary>. |
| 1260 | 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 45 61 63 68 | .....///.<remarks>......///.Each |
| 1280 | 20 6d 61 74 63 68 65 72 20 69 73 20 62 61 73 69 63 61 6c 6c 79 20 61 20 73 65 74 20 6f 66 20 6b | .matcher.is.basically.a.set.of.k |
| 12a0 | 65 79 2f 76 61 6c 75 65 20 70 61 69 72 73 20 77 68 65 72 65 20 65 61 63 68 20 76 61 6c 75 65 20 | ey/value.pairs.where.each.value. |
| 12c0 | 6d 61 79 20 65 69 74 68 65 72 20 62 65 0d 0a 20 20 20 20 2f 2f 2f 20 61 20 72 65 67 75 6c 61 72 | may.either.be......///.a.regular |
| 12e0 | 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 72 20 61 20 70 6c 61 69 6e 20 76 61 6c 75 65 20 6f 62 6a | .expression.or.a.plain.value.obj |
| 1300 | 65 63 74 2e 20 54 68 65 20 63 65 6e 74 72 61 6c 20 6d 65 74 68 6f 64 20 66 6f 72 20 74 65 73 74 | ect..The.central.method.for.test |
| 1320 | 69 6e 67 20 61 20 67 69 76 65 6e 20 6d 61 74 63 68 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 61 67 61 | ing.a.given.matcher......///.aga |
| 1340 | 69 6e 73 74 20 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 | inst.an.<see.cref="InputDeviceDe |
| 1360 | 73 63 72 69 70 74 69 6f 6e 22 2f 3e 20 69 73 20 3c 73 65 65 20 63 72 65 66 3d 22 4d 61 74 63 68 | scription"/>.is.<see.cref="Match |
| 1380 | 50 65 72 63 65 6e 74 61 67 65 22 2f 3e 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f | Percentage"/>.......///....../// |
| 13a0 | 20 56 61 72 69 6f 75 73 20 68 65 6c 70 65 72 20 6d 65 74 68 6f 64 73 20 73 75 63 68 20 61 73 20 | .Various.helper.methods.such.as. |
| 13c0 | 3c 73 65 65 20 63 72 65 66 3d 22 57 69 74 68 49 6e 74 65 72 66 61 63 65 22 2f 3e 20 6f 72 20 3c | <see.cref="WithInterface"/>.or.< |
| 13e0 | 73 65 65 20 63 72 65 66 3d 22 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 7b 54 56 61 6c 75 65 7d | see.cref="WithCapability{TValue} |
| 1400 | 22 2f 3e 0d 0a 20 20 20 20 2f 2f 2f 20 61 73 73 69 73 74 20 77 69 74 68 20 63 72 65 61 74 69 6e | "/>......///.assist.with.creatin |
| 1420 | 67 20 6d 61 74 63 68 65 72 73 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 3c 65 | g.matchers.......///......///.<e |
| 1440 | 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d 0a 20 20 20 20 2f 2f 2f | xample>......///.<code>....../// |
| 1460 | 20 2f 2f 20 41 20 6d 61 74 63 68 65 72 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 61 20 50 53 34 | .//.A.matcher.that.matches.a.PS4 |
| 1480 | 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 62 79 20 6e 61 6d 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 6e 65 | .controller.by.name.......///.ne |
| 14a0 | 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 20 2f 2f 2f 20 | w.InputDeviceMatcher()......///. |
| 14c0 | 20 20 20 20 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 22 48 49 44 22 29 0d 0a 20 20 20 20 2f | .....WithInterface("HID")....../ |
| 14e0 | 2f 2f 20 20 20 20 20 2e 57 69 74 68 4d 61 6e 75 66 61 63 74 75 72 65 72 28 22 53 6f 6e 79 2e 2b | //......WithManufacturer("Sony.+ |
| 1500 | 45 6e 74 65 72 74 61 69 6e 6d 65 6e 74 22 29 20 2f 2f 20 52 65 67 75 6c 61 72 20 65 78 70 72 65 | Entertainment").//.Regular.expre |
| 1520 | 73 73 69 6f 6e 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 50 72 6f 64 75 63 74 28 | ssion......///......WithProduct( |
| 1540 | 22 57 69 72 65 6c 65 73 73 20 43 6f 6e 74 72 6f 6c 6c 65 72 22 29 29 3b 0d 0a 20 20 20 20 2f 2f | "Wireless.Controller"));......// |
| 1560 | 2f 0d 0a 20 20 20 20 2f 2f 2f 20 2f 2f 20 41 20 6d 61 74 63 68 65 72 20 74 68 61 74 20 6d 61 74 | /......///.//.A.matcher.that.mat |
| 1580 | 63 68 65 73 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 74 72 6f 6c 6c 65 72 20 62 79 20 50 49 44 20 | ches.the.same.controller.by.PID. |
| 15a0 | 61 6e 64 20 56 49 44 2e 0d 0a 20 20 20 20 2f 2f 2f 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 | and.VID.......///.new.InputDevic |
| 15c0 | 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 49 6e 74 | eMatcher()......///......WithInt |
| 15e0 | 65 72 66 61 63 65 28 22 48 49 44 22 29 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 | erface("HID")......///......With |
| 1600 | 43 61 70 61 62 69 6c 69 74 79 28 22 76 65 6e 64 6f 72 49 64 22 2c 20 30 78 35 34 43 29 20 2f 2f | Capability("vendorId",.0x54C).// |
| 1620 | 20 53 6f 6e 79 20 45 6e 74 65 72 74 61 69 6e 6d 65 6e 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 | .Sony.Entertainment.......///... |
| 1640 | 20 20 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 22 70 72 6f 64 75 63 74 49 64 22 2c 20 30 | ...WithCapability("productId",.0 |
| 1660 | 78 39 43 43 29 29 3b 20 2f 2f 20 57 69 72 65 6c 65 73 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d | x9CC));.//.Wireless.controller.. |
| 1680 | 0a 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d | .....///.</code>......///.</exam |
| 16a0 | 70 6c 65 3e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 46 6f 72 20 65 61 63 68 20 | ple>......///......///.For.each. |
| 16c0 | 72 65 67 69 73 74 65 72 65 64 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 43 6f 6e 74 72 | registered.<see.cref="InputContr |
| 16e0 | 6f 6c 4c 61 79 6f 75 74 22 2f 3e 20 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 74 68 61 74 20 72 | olLayout"/>.in.the.system.that.r |
| 1700 | 65 70 72 65 73 65 6e 74 73 0d 0a 20 20 20 20 2f 2f 2f 20 61 20 64 65 76 69 63 65 2c 20 61 72 62 | epresents......///.a.device,.arb |
| 1720 | 69 74 72 61 72 79 20 6d 61 6e 79 20 6d 61 74 63 68 65 72 73 20 63 61 6e 20 62 65 20 61 64 64 65 | itrary.many.matchers.can.be.adde |
| 1740 | 64 2e 20 41 20 6d 61 74 63 68 65 72 20 63 61 6e 20 62 65 20 73 75 70 70 6c 69 65 64 20 65 69 74 | d..A.matcher.can.be.supplied.eit |
| 1760 | 68 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 61 74 20 72 65 67 69 73 74 72 61 74 69 6f 6e 20 74 69 6d | her......///.at.registration.tim |
| 1780 | 65 20 6f 72 20 61 74 20 61 6e 79 20 70 6f 69 6e 74 20 61 66 74 65 72 20 75 73 69 6e 67 20 3c 73 | e.or.at.any.point.after.using.<s |
| 17a0 | 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 53 79 73 74 65 6d 2e 52 65 67 69 73 74 65 72 4c 61 79 | ee.cref="InputSystem.RegisterLay |
| 17c0 | 6f 75 74 4d 61 74 63 68 65 72 22 2f 3e 2e 0d 0a 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f | outMatcher"/>.......///....../// |
| 17e0 | 20 3c 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d 0a 20 20 20 20 | .<example>......///.<code>...... |
| 1800 | 2f 2f 2f 20 2f 2f 20 53 75 70 70 6c 79 20 61 20 6d 61 74 63 68 65 72 20 61 74 20 72 65 67 69 73 | ///.//.Supply.a.matcher.at.regis |
| 1820 | 74 72 61 74 69 6f 6e 20 74 69 6d 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 49 6e 70 75 74 53 79 73 74 | tration.time.......///.InputSyst |
| 1840 | 65 6d 2e 52 65 67 69 73 74 65 72 4c 61 79 6f 75 74 26 6c 74 3b 44 75 61 6c 53 68 6f 63 6b 34 47 | em.RegisterLayout<DualShock4G |
| 1860 | 61 6d 65 70 61 64 48 49 44 26 67 74 3b 28 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 6d 61 74 63 | amepadHID>(......///.....matc |
| 1880 | 68 65 73 3a 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 | hes:.new.InputDeviceMatcher()... |
| 18a0 | 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 22 48 | ...///..........WithInterface("H |
| 18c0 | 49 44 22 29 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2e 57 69 74 68 43 61 70 61 62 | ID")......///..........WithCapab |
| 18e0 | 69 6c 69 74 79 28 22 76 65 6e 64 6f 72 49 64 22 2c 20 30 78 35 34 43 29 20 2f 2f 20 53 6f 6e 79 | ility("vendorId",.0x54C).//.Sony |
| 1900 | 20 45 6e 74 65 72 74 61 69 6e 6d 65 6e 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 | .Entertainment.......///........ |
| 1920 | 20 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 22 70 72 6f 64 75 63 74 49 64 22 2c 20 30 78 | ..WithCapability("productId",.0x |
| 1940 | 39 43 43 29 29 3b 20 2f 2f 20 57 69 72 65 6c 65 73 73 20 63 6f 6e 74 72 6f 6c 6c 65 72 2e 0d 0a | 9CC));.//.Wireless.controller... |
| 1960 | 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 2f 2f 2f 20 2f 2f 20 53 75 70 70 6c 79 20 61 20 6d 61 74 | ....///......///.//.Supply.a.mat |
| 1980 | 63 68 65 72 20 66 6f 72 20 61 6e 20 61 6c 72 65 61 64 79 20 72 65 67 69 73 74 65 72 65 64 20 6c | cher.for.an.already.registered.l |
| 19a0 | 61 79 6f 75 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 2f 2f 20 54 68 69 73 20 63 61 6e 20 62 65 20 63 | ayout.......///.//.This.can.be.c |
| 19c0 | 61 6c 6c 65 64 20 72 65 70 65 61 74 65 64 6c 79 20 61 6e 64 20 77 69 6c 6c 20 61 64 64 20 61 6e | alled.repeatedly.and.will.add.an |
| 19e0 | 6f 74 68 65 72 20 6d 61 74 63 68 65 72 0d 0a 20 20 20 20 2f 2f 2f 20 2f 2f 20 65 61 63 68 20 74 | other.matcher......///.//.each.t |
| 1a00 | 69 6d 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 49 6e 70 75 74 53 79 73 74 65 6d 2e 52 65 67 69 73 74 | ime.......///.InputSystem.Regist |
| 1a20 | 65 72 4c 61 79 6f 75 74 4d 61 74 63 68 65 72 26 6c 74 3b 44 75 61 6c 53 68 6f 63 6b 34 47 61 6d | erLayoutMatcher<DualShock4Gam |
| 1a40 | 65 70 61 64 48 49 44 26 67 74 3b 28 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 6d 61 74 63 68 65 | epadHID>(......///.....matche |
| 1a60 | 73 3a 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 | s:.new.InputDeviceMatcher()..... |
| 1a80 | 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 22 48 49 44 | .///..........WithInterface("HID |
| 1aa0 | 22 29 0d 0a 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2e 57 69 74 68 4d 61 6e 75 66 61 63 | ")......///..........WithManufac |
| 1ac0 | 74 75 72 65 72 28 22 53 6f 6e 79 2e 2b 45 6e 74 65 72 74 61 69 6e 6d 65 6e 74 22 29 0d 0a 20 20 | turer("Sony.+Entertainment").... |
| 1ae0 | 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 2e 57 69 74 68 50 72 6f 64 75 63 74 28 22 57 69 72 65 | ..///..........WithProduct("Wire |
| 1b00 | 6c 65 73 73 20 43 6f 6e 74 72 6f 6c 6c 65 72 22 29 29 3b 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 63 | less.Controller"));......///.</c |
| 1b20 | 6f 64 65 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 2f 2f | ode>......///.</example>......// |
| 1b40 | 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 | /.</remarks>......///.<seealso.c |
| 1b60 | 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 0d 0a | ref="InputDeviceDescription"/>.. |
| 1b80 | 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 | ....///.<seealso.cref="InputDevi |
| 1ba0 | 63 65 2e 64 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 | ce.description"/>......///.<seea |
| 1bc0 | 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 53 79 73 74 65 6d 2e 52 65 67 69 73 74 65 72 4c 61 | lso.cref="InputSystem.RegisterLa |
| 1be0 | 79 6f 75 74 4d 61 74 63 68 65 72 22 2f 3e 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 | youtMatcher"/>......public.struc |
| 1c00 | 74 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 3a 20 49 45 71 75 61 74 61 62 6c | t.InputDeviceMatcher.:.IEquatabl |
| 1c20 | 65 3c 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 3e 0d 0a 20 20 20 20 7b 0d 0a 20 20 | e<InputDeviceMatcher>......{.... |
| 1c40 | 20 20 20 20 20 20 70 72 69 76 61 74 65 20 4b 65 79 56 61 6c 75 65 50 61 69 72 3c 49 6e 74 65 72 | ......private.KeyValuePair<Inter |
| 1c60 | 6e 65 64 53 74 72 69 6e 67 2c 20 6f 62 6a 65 63 74 3e 5b 5d 20 6d 5f 50 61 74 74 65 72 6e 73 3b | nedString,.object>[].m_Patterns; |
| 1c80 | 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 | ............///.<summary>....... |
| 1ca0 | 20 20 20 2f 2f 2f 20 49 66 20 74 72 75 65 2c 20 74 68 65 20 6d 61 74 63 68 65 72 20 68 61 73 20 | ...///.If.true,.the.matcher.has. |
| 1cc0 | 62 65 65 6e 20 64 65 66 61 75 6c 74 2d 69 6e 69 74 69 61 6c 69 7a 65 64 20 61 6e 64 20 63 6f 6e | been.default-initialized.and.con |
| 1ce0 | 74 61 69 6e 73 20 6e 6f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d 61 74 63 68 69 6e 67 20 3c | tains.no..........///.matching.< |
| 1d00 | 73 65 65 20 63 72 65 66 3d 22 70 61 74 74 65 72 6e 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 | see.cref="patterns"/>........... |
| 1d20 | 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 76 61 6c | ///.</summary>..........///.<val |
| 1d40 | 75 65 3e 57 68 65 74 68 65 72 20 74 68 65 20 6d 61 74 63 68 65 72 20 63 6f 6e 74 61 69 6e 73 20 | ue>Whether.the.matcher.contains. |
| 1d60 | 61 6e 79 20 6d 61 74 63 68 69 6e 67 20 70 61 74 74 65 72 6e 73 2e 3c 2f 76 61 6c 75 65 3e 0d 0a | any.matching.patterns.</value>.. |
| 1d80 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 70 61 74 74 65 | ........///.<seealso.cref="patte |
| 1da0 | 72 6e 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 65 6d 70 74 | rns"/>..........public.bool.empt |
| 1dc0 | 79 20 3d 3e 20 6d 5f 50 61 74 74 65 72 6e 73 20 3d 3d 20 6e 75 6c 6c 3b 0d 0a 0d 0a 20 20 20 20 | y.=>.m_Patterns.==.null;........ |
| 1de0 | 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 | ....///.<summary>..........///.T |
| 1e00 | 68 65 20 6c 69 73 74 20 6f 66 20 70 61 74 74 65 72 6e 73 20 74 6f 20 6d 61 74 63 68 2e 0d 0a 20 | he.list.of.patterns.to.match.... |
| 1e20 | 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f | .......///.</summary>........../ |
| 1e40 | 2f 2f 20 3c 76 61 6c 75 65 3e 4c 69 73 74 20 6f 66 20 6d 61 74 63 68 69 6e 67 20 70 61 74 74 65 | //.<value>List.of.matching.patte |
| 1e60 | 72 6e 73 2e 3c 2f 76 61 6c 75 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 | rns.</value>..........///.<remar |
| 1e80 | 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 45 61 63 68 20 70 61 74 74 65 72 6e 20 69 73 | ks>..........///.Each.pattern.is |
| 1ea0 | 20 63 6f 6d 70 72 69 73 65 64 20 6f 66 20 61 20 6b 65 79 20 61 6e 64 20 61 20 76 61 6c 75 65 2e | .comprised.of.a.key.and.a.value. |
| 1ec0 | 20 54 68 65 20 6b 65 79 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 69 63 68 20 70 61 72 74 0d 0a | .The.key.determines.which.part.. |
| 1ee0 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 6f 66 20 61 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 | ........///.of.an.<see.cref="Inp |
| 1f00 | 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 20 74 6f 20 6d 61 74 63 68 2e | utDeviceDescription"/>.to.match. |
| 1f20 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 76 | ..........///..........///.The.v |
| 1f40 | 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 65 78 70 65 63 74 65 64 20 76 61 6c | alue.represents.the.expected.val |
| 1f60 | 75 65 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 20 70 6c 61 69 6e 20 73 | ue..This.can.be.either.a.plain.s |
| 1f80 | 74 72 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 28 6d 61 74 63 68 65 64 20 63 61 73 65 | tring..........///.(matched.case |
| 1fa0 | 2d 69 6e 73 65 6e 73 69 74 69 76 65 29 20 6f 72 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 | -insensitive).or.a.regular.expre |
| 1fc0 | 73 73 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a | ssion...........///.</remarks>.. |
| 1fe0 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 57 69 74 68 49 | ........///.<seealso.cref="WithI |
| 2000 | 6e 74 65 72 66 61 63 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 | nterface"/>..........///.<seeals |
| 2020 | 6f 20 63 72 65 66 3d 22 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 7b 54 56 61 6c 75 65 7d 22 2f | o.cref="WithCapability{TValue}"/ |
| 2040 | 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 57 69 | >..........///.<seealso.cref="Wi |
| 2060 | 74 68 50 72 6f 64 75 63 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c | thProduct"/>..........///.<seeal |
| 2080 | 73 6f 20 63 72 65 66 3d 22 57 69 74 68 4d 61 6e 75 66 61 63 74 75 72 65 72 22 2f 3e 0d 0a 20 20 | so.cref="WithManufacturer"/>.... |
| 20a0 | 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 57 69 74 68 56 65 72 | ......///.<seealso.cref="WithVer |
| 20c0 | 73 69 6f 6e 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 | sion"/>..........///.<seealso.cr |
| 20e0 | 65 66 3d 22 57 69 74 68 44 65 76 69 63 65 43 6c 61 73 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 | ef="WithDeviceClass"/>.......... |
| 2100 | 70 75 62 6c 69 63 20 49 45 6e 75 6d 65 72 61 62 6c 65 3c 4b 65 79 56 61 6c 75 65 50 61 69 72 3c | public.IEnumerable<KeyValuePair< |
| 2120 | 73 74 72 69 6e 67 2c 20 6f 62 6a 65 63 74 3e 3e 20 70 61 74 74 65 72 6e 73 0d 0a 20 20 20 20 20 | string,.object>>.patterns....... |
| 2140 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 0d 0a 20 20 20 20 20 20 20 20 20 | ...{..............get........... |
| 2160 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 50 61 74 74 | ...{..................if.(m_Patt |
| 2180 | 65 72 6e 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erns.==.null)................... |
| 21a0 | 20 20 20 79 69 65 6c 64 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...yield.break;................. |
| 21c0 | 20 20 20 76 61 72 20 63 6f 75 6e 74 20 3d 20 6d 5f 50 61 74 74 65 72 6e 73 2e 4c 65 6e 67 74 68 | ...var.count.=.m_Patterns.Length |
| 21e0 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 | ;..................for.(var.i.=. |
| 2200 | 30 3b 20 69 20 3c 20 63 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | 0;.i.<.count;.++i).............. |
| 2220 | 20 20 20 20 20 20 20 20 79 69 65 6c 64 20 72 65 74 75 72 6e 20 6e 65 77 20 4b 65 79 56 61 6c 75 | ........yield.return.new.KeyValu |
| 2240 | 65 50 61 69 72 3c 73 74 72 69 6e 67 2c 20 6f 62 6a 65 63 74 3e 28 6d 5f 50 61 74 74 65 72 6e 73 | ePair<string,.object>(m_Patterns |
| 2260 | 5b 69 5d 2e 4b 65 79 2e 54 6f 53 74 72 69 6e 67 28 29 2c 20 6d 5f 50 61 74 74 65 72 6e 73 5b 69 | [i].Key.ToString(),.m_Patterns[i |
| 2280 | 5d 2e 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 | ].Value);..............}........ |
| 22a0 | 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 | ..}............///.<summary>.... |
| 22c0 | 20 20 20 20 20 20 2f 2f 2f 20 41 64 64 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 3c 73 65 65 20 | ......///.Add.a.pattern.to.<see. |
| 22e0 | 63 72 65 66 3d 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 61 6e 20 3c 73 | cref="patterns"/>.to.match.an.<s |
| 2300 | 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e | ee.cref="InputDeviceDescription. |
| 2320 | 69 6e 74 65 72 66 61 63 65 4e 61 6d 65 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | interfaceName"/>...........///.< |
| 2340 | 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 | /summary>..........///.<param.na |
| 2360 | 6d 65 3d 22 70 61 74 74 65 72 6e 22 3e 53 74 72 69 6e 67 20 74 6f 20 6d 61 74 63 68 2e 3c 2f 70 | me="pattern">String.to.match.</p |
| 2380 | 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 | aram>..........///.<param.name=" |
| 23a0 | 73 75 70 70 6f 72 74 52 65 67 65 78 22 3e 49 66 20 74 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c | supportRegex">If.true.(default), |
| 23c0 | 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 2f 3e 20 63 61 6e 20 | .<paramref.name="pattern"/>.can. |
| 23e0 | 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 | be..........///.a.regular.expres |
| 2400 | 73 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 | sion.</param>..........///.<retu |
| 2420 | 72 6e 73 3e 54 68 65 20 6d 6f 64 69 66 69 65 64 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 | rns>The.modified.device.matcher. |
| 2440 | 77 69 74 68 20 74 68 65 20 61 64 64 65 64 20 70 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 72 6e 73 | with.the.added.pattern.</returns |
| 2460 | 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e | >..........///.<seealso.cref="In |
| 2480 | 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 69 6e 74 65 72 66 61 63 65 4e 61 | putDeviceDescription.interfaceNa |
| 24a0 | 6d 65 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 | me"/>..........public.InputDevic |
| 24c0 | 65 4d 61 74 63 68 65 72 20 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 73 74 72 69 6e 67 20 70 61 | eMatcher.WithInterface(string.pa |
| 24e0 | 74 74 65 72 6e 2c 20 62 6f 6f 6c 20 73 75 70 70 6f 72 74 52 65 67 65 78 20 3d 20 74 72 75 65 29 | ttern,.bool.supportRegex.=.true) |
| 2500 | 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 | ..........{..............return. |
| 2520 | 57 69 74 68 28 6b 49 6e 74 65 72 66 61 63 65 4b 65 79 2c 20 70 61 74 74 65 72 6e 2c 20 73 75 70 | With(kInterfaceKey,.pattern,.sup |
| 2540 | 70 6f 72 74 52 65 67 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 | portRegex);..........}.......... |
| 2560 | 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 64 64 | ..///.<summary>..........///.Add |
| 2580 | 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 70 61 74 74 65 72 6e | .a.pattern.to.<see.cref="pattern |
| 25a0 | 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 61 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 | s"/>.to.match.a.<see.cref="Input |
| 25c0 | 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 22 2f 3e | DeviceDescription.deviceClass"/> |
| 25e0 | 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 | ...........///.</summary>....... |
| 2600 | 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 3e 53 74 72 | ...///.<param.name="pattern">Str |
| 2620 | 69 6e 67 20 74 6f 20 6d 61 74 63 68 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f | ing.to.match.</param>........../ |
| 2640 | 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 75 70 70 6f 72 74 52 65 67 65 78 22 3e 49 66 | //.<param.name="supportRegex">If |
| 2660 | 20 74 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d | .true.(default),.<paramref.name= |
| 2680 | 22 70 61 74 74 65 72 6e 22 2f 3e 20 63 61 6e 20 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | "pattern"/>.can.be..........///. |
| 26a0 | 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 | a.regular.expression.</param>... |
| 26c0 | 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 6d 6f 64 69 66 69 65 64 | .......///.<returns>The.modified |
| 26e0 | 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 65 64 20 70 | .device.matcher.with.the.added.p |
| 2700 | 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | attern.</returns>..........///.< |
| 2720 | 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 | seealso.cref="InputDeviceDescrip |
| 2740 | 74 69 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 | tion.deviceClass"/>..........pub |
| 2760 | 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 44 65 76 69 63 | lic.InputDeviceMatcher.WithDevic |
| 2780 | 65 43 6c 61 73 73 28 73 74 72 69 6e 67 20 70 61 74 74 65 72 6e 2c 20 62 6f 6f 6c 20 73 75 70 70 | eClass(string.pattern,.bool.supp |
| 27a0 | 6f 72 74 52 65 67 65 78 20 3d 20 74 72 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 | ortRegex.=.true)..........{..... |
| 27c0 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 57 69 74 68 28 6b 44 65 76 69 63 65 43 6c 61 73 | .........return.With(kDeviceClas |
| 27e0 | 73 4b 65 79 2c 20 70 61 74 74 65 72 6e 2c 20 73 75 70 70 6f 72 74 52 65 67 65 78 29 3b 0d 0a 20 | sKey,.pattern,.supportRegex);... |
| 2800 | 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 | .......}............///.<summary |
| 2820 | 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 41 64 64 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 | >..........///.Add.a.pattern.to. |
| 2840 | 3c 73 65 65 20 63 72 65 66 3d 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 | <see.cref="patterns"/>.to.match. |
| 2860 | 61 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 | a.<see.cref="InputDeviceDescript |
| 2880 | 69 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f | ion.manufacturer"/>...........// |
| 28a0 | 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d | /.</summary>..........///.<param |
| 28c0 | 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 3e 53 74 72 69 6e 67 20 74 6f 20 6d 61 74 63 68 2e | .name="pattern">String.to.match. |
| 28e0 | 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d | </param>..........///.<param.nam |
| 2900 | 65 3d 22 73 75 70 70 6f 72 74 52 65 67 65 78 22 3e 49 66 20 74 72 75 65 20 28 64 65 66 61 75 6c | e="supportRegex">If.true.(defaul |
| 2920 | 74 29 2c 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 2f 3e 20 63 | t),.<paramref.name="pattern"/>.c |
| 2940 | 61 6e 20 62 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 | an.be..........///.a.regular.exp |
| 2960 | 72 65 73 73 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 | ression.</param>..........///.<r |
| 2980 | 65 74 75 72 6e 73 3e 54 68 65 20 6d 6f 64 69 66 69 65 64 20 64 65 76 69 63 65 20 6d 61 74 63 68 | eturns>The.modified.device.match |
| 29a0 | 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 65 64 20 70 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 | er.with.the.added.pattern.</retu |
| 29c0 | 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d | rns>..........///.<seealso.cref= |
| 29e0 | 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 6d 61 6e 75 66 61 63 74 | "InputDeviceDescription.manufact |
| 2a00 | 75 72 65 72 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 44 65 76 | urer"/>..........public.InputDev |
| 2a20 | 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 4d 61 6e 75 66 61 63 74 75 72 65 72 28 73 74 72 69 | iceMatcher.WithManufacturer(stri |
| 2a40 | 6e 67 20 70 61 74 74 65 72 6e 2c 20 62 6f 6f 6c 20 73 75 70 70 6f 72 74 52 65 67 65 78 20 3d 20 | ng.pattern,.bool.supportRegex.=. |
| 2a60 | 74 72 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | true)..........{..............re |
| 2a80 | 74 75 72 6e 20 57 69 74 68 28 6b 4d 61 6e 75 66 61 63 74 75 72 65 72 4b 65 79 2c 20 70 61 74 74 | turn.With(kManufacturerKey,.patt |
| 2aa0 | 65 72 6e 2c 20 73 75 70 70 6f 72 74 52 65 67 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a | ern,.supportRegex);..........}.. |
| 2ac0 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 | ..........///.<summary>......... |
| 2ae0 | 20 2f 2f 2f 20 41 64 64 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 3c 73 65 65 20 63 72 65 66 3d | .///.Add.a.pattern.to.<see.cref= |
| 2b00 | 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 61 20 3c 73 65 65 20 63 72 65 | "patterns"/>.to.match.a.<see.cre |
| 2b20 | 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 | f="InputDeviceDescription.produc |
| 2b40 | 74 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 | t"/>...........///.</summary>... |
| 2b60 | 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 | .......///.<param.name="pattern" |
| 2b80 | 3e 53 74 72 69 6e 67 20 74 6f 20 6d 61 74 63 68 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 | >String.to.match.</param>....... |
| 2ba0 | 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 75 70 70 6f 72 74 52 65 67 65 78 | ...///.<param.name="supportRegex |
| 2bc0 | 22 3e 49 66 20 74 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 3c 70 61 72 61 6d 72 65 66 20 6e | ">If.true.(default),.<paramref.n |
| 2be0 | 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 2f 3e 20 63 61 6e 20 62 65 0d 0a 20 20 20 20 20 20 20 20 | ame="pattern"/>.can.be.......... |
| 2c00 | 2f 2f 2f 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 70 61 72 61 6d | ///.a.regular.expression.</param |
| 2c20 | 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 6d 6f 64 69 | >..........///.<returns>The.modi |
| 2c40 | 66 69 65 64 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 | fied.device.matcher.with.the.add |
| 2c60 | 65 64 20 70 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f | ed.pattern.</returns>........../ |
| 2c80 | 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 | //.<seealso.cref="InputDeviceDes |
| 2ca0 | 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 74 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 | cription.product"/>..........pub |
| 2cc0 | 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 50 72 6f 64 75 | lic.InputDeviceMatcher.WithProdu |
| 2ce0 | 63 74 28 73 74 72 69 6e 67 20 70 61 74 74 65 72 6e 2c 20 62 6f 6f 6c 20 73 75 70 70 6f 72 74 52 | ct(string.pattern,.bool.supportR |
| 2d00 | 65 67 65 78 20 3d 20 74 72 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 | egex.=.true)..........{......... |
| 2d20 | 20 20 20 20 20 72 65 74 75 72 6e 20 57 69 74 68 28 6b 50 72 6f 64 75 63 74 4b 65 79 2c 20 70 61 | .....return.With(kProductKey,.pa |
| 2d40 | 74 74 65 72 6e 2c 20 73 75 70 70 6f 72 74 52 65 67 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d | ttern,.supportRegex);..........} |
| 2d60 | 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 | ............///.<summary>....... |
| 2d80 | 20 20 20 2f 2f 2f 20 41 64 64 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 3c 73 65 65 20 63 72 65 | ...///.Add.a.pattern.to.<see.cre |
| 2da0 | 66 3d 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 61 20 3c 73 65 65 20 63 | f="patterns"/>.to.match.a.<see.c |
| 2dc0 | 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 76 65 72 73 | ref="InputDeviceDescription.vers |
| 2de0 | 69 6f 6e 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d | ion"/>...........///.</summary>. |
| 2e00 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 | .........///.<param.name="patter |
| 2e20 | 6e 22 3e 53 74 72 69 6e 67 20 74 6f 20 6d 61 74 63 68 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 | n">String.to.match.</param>..... |
| 2e40 | 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 73 75 70 70 6f 72 74 52 65 67 | .....///.<param.name="supportReg |
| 2e60 | 65 78 22 3e 49 66 20 74 72 75 65 20 28 64 65 66 61 75 6c 74 29 2c 20 3c 70 61 72 61 6d 72 65 66 | ex">If.true.(default),.<paramref |
| 2e80 | 20 6e 61 6d 65 3d 22 70 61 74 74 65 72 6e 22 2f 3e 20 63 61 6e 20 62 65 0d 0a 20 20 20 20 20 20 | .name="pattern"/>.can.be........ |
| 2ea0 | 20 20 2f 2f 2f 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 70 61 72 | ..///.a.regular.expression.</par |
| 2ec0 | 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 6d 6f | am>..........///.<returns>The.mo |
| 2ee0 | 64 69 66 69 65 64 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 77 69 74 68 20 74 68 65 20 61 | dified.device.matcher.with.the.a |
| 2f00 | 64 64 65 64 20 70 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 | dded.pattern.</returns>......... |
| 2f20 | 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 | .///.<seealso.cref="InputDeviceD |
| 2f40 | 65 73 63 72 69 70 74 69 6f 6e 2e 76 65 72 73 69 6f 6e 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 | escription.version"/>..........p |
| 2f60 | 75 62 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 56 65 72 | ublic.InputDeviceMatcher.WithVer |
| 2f80 | 73 69 6f 6e 28 73 74 72 69 6e 67 20 70 61 74 74 65 72 6e 2c 20 62 6f 6f 6c 20 73 75 70 70 6f 72 | sion(string.pattern,.bool.suppor |
| 2fa0 | 74 52 65 67 65 78 20 3d 20 74 72 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | tRegex.=.true)..........{....... |
| 2fc0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 57 69 74 68 28 6b 56 65 72 73 69 6f 6e 4b 65 79 2c 20 | .......return.With(kVersionKey,. |
| 2fe0 | 70 61 74 74 65 72 6e 2c 20 73 75 70 70 6f 72 74 52 65 67 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 | pattern,.supportRegex);......... |
| 3000 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 | .}............///.<summary>..... |
| 3020 | 20 20 20 20 20 2f 2f 2f 20 41 64 64 20 61 20 70 61 74 74 65 72 6e 20 74 6f 20 3c 73 65 65 20 63 | .....///.Add.a.pattern.to.<see.c |
| 3040 | 72 65 66 3d 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 74 6f 20 6d 61 74 63 68 20 61 6e 20 69 6e 64 | ref="patterns"/>.to.match.an.ind |
| 3060 | 69 76 69 64 75 61 6c 20 63 61 70 61 62 69 6c 69 74 79 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d | ividual.capability.in.<see.cref= |
| 3080 | 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 63 61 70 61 62 69 6c 69 | "InputDeviceDescription.capabili |
| 30a0 | 74 69 65 73 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e | ties"/>...........///.</summary> |
| 30c0 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 70 61 74 68 22 | ..........///.<param.name="path" |
| 30e0 | 3e 50 61 74 68 20 74 6f 20 74 68 65 20 4a 53 4f 4e 20 70 72 6f 70 65 72 74 79 20 75 73 69 6e 67 | >Path.to.the.JSON.property.using |
| 3100 | 20 27 2f 27 20 61 73 20 61 20 73 65 70 61 72 61 74 6f 72 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f | .'/'.as.a.separator,..........// |
| 3120 | 2f 20 65 2e 67 2e 20 3c 63 3e 22 65 6c 65 6d 65 6e 74 73 2f 63 6f 75 6e 74 22 3c 2f 63 3e 2e 3c | /.e.g..<c>"elements/count"</c>.< |
| 3140 | 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 | /param>..........///.<param.name |
| 3160 | 3d 22 76 61 6c 75 65 22 3e 56 61 6c 75 65 20 74 6f 20 6d 61 74 63 68 2e 20 54 68 69 73 20 63 61 | ="value">Value.to.match..This.ca |
| 3180 | 6e 20 62 65 20 61 20 73 74 72 69 6e 67 2c 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 | n.be.a.string,.a.regular.express |
| 31a0 | 69 6f 6e 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 62 6f 6f 6c 65 61 6e 2c 20 61 6e 20 | ion,..........///.a.boolean,.an. |
| 31c0 | 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 20 66 6c 6f 61 74 2e 20 46 6c 6f 61 74 69 6e 67 2d 70 6f | integer,.or.a.float..Floating-po |
| 31e0 | 69 6e 74 20 6e 75 6d 62 65 72 73 20 61 72 65 20 6d 61 74 63 68 65 64 20 77 69 74 68 20 72 65 73 | int.numbers.are.matched.with.res |
| 3200 | 70 65 63 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 66 6f 72 20 3c 63 3e 4d 61 74 68 66 2e 45 | pect..........///.for.<c>Mathf.E |
| 3220 | 70 73 69 6c 6f 6e 3c 2f 63 3e 2e 20 56 61 6c 75 65 73 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 | psilon</c>..Values.are.converted |
| 3240 | 20 62 65 74 77 65 65 6e 20 74 79 70 65 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 61 73 0d | .between.types.automatically.as. |
| 3260 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 65 65 64 65 64 20 28 6d 65 61 6e 69 6e 67 20 74 68 61 | .........///.needed.(meaning.tha |
| 3280 | 74 20 61 20 62 6f 6f 6c 20 63 61 6e 20 62 65 20 63 6f 6d 70 61 72 65 64 20 74 6f 20 61 20 73 74 | t.a.bool.can.be.compared.to.a.st |
| 32a0 | 72 69 6e 67 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 29 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 | ring,.for.example).</param>..... |
| 32c0 | 20 20 20 20 20 2f 2f 2f 20 3c 74 79 70 65 70 61 72 61 6d 20 6e 61 6d 65 3d 22 54 56 61 6c 75 65 | .....///.<typeparam.name="TValue |
| 32e0 | 22 3e 54 79 70 65 20 6f 66 20 76 61 6c 75 65 20 74 6f 20 6d 61 74 63 68 2e 3c 2f 74 79 70 65 70 | ">Type.of.value.to.match.</typep |
| 3300 | 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 68 65 20 | aram>..........///.<returns>The. |
| 3320 | 6d 6f 64 69 66 69 65 64 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 77 69 74 68 20 74 68 65 | modified.device.matcher.with.the |
| 3340 | 20 61 64 64 65 64 20 70 61 74 74 65 72 6e 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 | .added.pattern.</returns>....... |
| 3360 | 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 61 | ...///.<remarks>..........///.Ca |
| 3380 | 70 61 62 69 6c 69 74 69 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 61 73 20 4a 53 4f 4e 20 73 74 | pabilities.are.stored.as.JSON.st |
| 33a0 | 72 69 6e 67 73 20 69 6e 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 | rings.in.<see.cref="InputDeviceD |
| 33c0 | 65 73 63 72 69 70 74 69 6f 6e 2e 63 61 70 61 62 69 6c 69 74 69 65 73 22 2f 3e 2e 0d 0a 20 20 20 | escription.capabilities"/>...... |
| 33e0 | 20 20 20 20 20 2f 2f 2f 20 41 20 6d 61 74 63 68 65 72 20 68 61 73 20 74 68 65 20 61 62 69 6c 69 | .....///.A.matcher.has.the.abili |
| 3400 | 74 79 20 74 6f 20 6d 61 74 63 68 20 73 70 65 63 69 66 69 63 20 70 72 6f 70 65 72 74 69 65 73 20 | ty.to.match.specific.properties. |
| 3420 | 66 72 6f 6d 20 74 68 65 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f | from.the.JSON.object..........// |
| 3440 | 2f 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 | /.contained.in.the.capabilities. |
| 3460 | 73 74 72 69 6e 67 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f | string...........///..........// |
| 3480 | 2f 20 3c 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d | /.<example>..........///.<code>. |
| 34a0 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 54 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 | .........///.//.The.description. |
| 34c0 | 66 6f 72 20 61 20 48 49 44 20 77 69 6c 6c 20 75 73 75 61 6c 6c 79 20 68 61 76 65 20 61 20 48 49 | for.a.HID.will.usually.have.a.HI |
| 34e0 | 44 44 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f | DDeviceDescriptor.in..........// |
| 3500 | 2f 20 2f 2f 20 4a 53 4f 4e 20 66 6f 72 6d 61 74 20 66 6f 75 6e 64 20 6f 6e 20 69 74 73 20 49 6e | /.//.JSON.format.found.on.its.In |
| 3520 | 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 63 61 70 61 62 69 6c 69 74 69 65 | putDeviceDescription.capabilitie |
| 3540 | 73 2e 20 53 6f 2c 20 61 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 72 65 61 6c 2d 77 6f | s..So,.a..........///.//.real-wo |
| 3560 | 72 6c 64 20 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 63 6f 75 6c 64 20 6c 6f 6f | rld.device.description.could.loo |
| 3580 | 6b 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 3a 0d 0a 20 20 20 20 20 | k.the.equivalent.of.this:....... |
| 35a0 | 20 20 20 2f 2f 2f 20 76 61 72 20 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 49 6e 70 | ...///.var.description.=.new.Inp |
| 35c0 | 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | utDeviceDescription........../// |
| 35e0 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 4e 61 6d | .{..........///.....interfaceNam |
| 3600 | 65 20 3d 20 22 48 49 44 22 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 63 61 70 61 | e.=."HID",..........///.....capa |
| 3620 | 62 69 6c 69 74 69 65 73 20 3d 20 6e 65 77 20 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 | bilities.=.new.HID.HIDDeviceDesc |
| 3640 | 72 69 70 74 6f 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | riptor..........///.....{....... |
| 3660 | 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 76 65 6e 64 6f 72 49 64 20 3d 20 30 78 35 34 43 2c | ...///.........vendorId.=.0x54C, |
| 3680 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 70 72 6f 64 75 63 74 49 64 20 | ..........///.........productId. |
| 36a0 | 3d 20 30 78 39 43 43 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 7d 2e 54 6f 4a 73 6f | =.0x9CC..........///.....}.ToJso |
| 36c0 | 6e 28 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | n()..........///.};........../// |
| 36e0 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 57 65 20 63 61 6e 20 63 72 65 61 74 65 20 61 | ..........///.//.We.can.create.a |
| 3700 | 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 72 20 74 68 61 74 20 6c 6f 6f 6b 73 20 66 6f 72 20 74 | .device.matcher.that.looks.for.t |
| 3720 | 68 6f 73 65 20 74 6f 20 70 72 6f 70 65 72 74 69 65 73 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | hose.to.properties..........///. |
| 3740 | 2f 2f 20 64 69 72 65 63 74 6c 79 20 69 6e 20 74 68 65 20 4a 53 4f 4e 20 6f 62 6a 65 63 74 2e 0d | //.directly.in.the.JSON.object.. |
| 3760 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 | .........///.new.InputDeviceMatc |
| 3780 | 68 65 72 28 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 43 61 70 61 | her()..........///......WithCapa |
| 37a0 | 62 69 6c 69 74 79 28 22 76 65 6e 64 6f 72 49 64 22 2c 20 30 78 35 34 43 29 0d 0a 20 20 20 20 20 | bility("vendorId",.0x54C)....... |
| 37c0 | 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 22 70 72 6f 64 | ...///......WithCapability("prod |
| 37e0 | 75 63 74 49 64 22 2c 20 30 78 39 43 43 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 | uctId",.0x9CC);..........///.</c |
| 3800 | 6f 64 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 | ode>..........///.</example>.... |
| 3820 | 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 72 6f 70 65 72 74 69 65 | ......///..........///.Propertie |
| 3840 | 73 20 69 6e 20 6e 65 73 74 65 64 20 6f 62 6a 65 63 74 73 20 63 61 6e 20 62 65 20 72 65 66 65 72 | s.in.nested.objects.can.be.refer |
| 3860 | 65 6e 63 65 64 20 62 79 20 73 65 70 61 72 61 74 69 6e 67 20 70 72 6f 70 65 72 74 69 65 73 0d 0a | enced.by.separating.properties.. |
| 3880 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 77 69 74 68 20 3c 63 3e 2f 3c 2f 63 3e 20 61 6e 64 20 70 72 | ........///.with.<c>/</c>.and.pr |
| 38a0 | 6f 70 65 72 74 69 65 73 20 69 6e 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 69 6e 64 65 78 65 | operties.in.arrays.can.be.indexe |
| 38c0 | 64 20 77 69 74 68 20 3c 63 3e 5b 2e 2e 5d 3c 2f 63 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | d.with.<c>[..]</c>.........../// |
| 38e0 | 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 | .</remarks>..........///.<seeals |
| 3900 | 6f 20 63 72 65 66 3d 22 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 63 | o.cref="InputDeviceDescription.c |
| 3920 | 61 70 61 62 69 6c 69 74 69 65 73 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 | apabilities"/>..........public.I |
| 3940 | 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 | nputDeviceMatcher.WithCapability |
| 3960 | 3c 54 56 61 6c 75 65 3e 28 73 74 72 69 6e 67 20 70 61 74 68 2c 20 54 56 61 6c 75 65 20 76 61 6c | <TValue>(string.path,.TValue.val |
| 3980 | 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | ue)..........{..............retu |
| 39a0 | 72 6e 20 57 69 74 68 28 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 28 70 61 74 68 29 | rn.With(new.InternedString(path) |
| 39c0 | 2c 20 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | ,.value);..........}............ |
| 39e0 | 70 72 69 76 61 74 65 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 57 69 74 68 28 | private.InputDeviceMatcher.With( |
| 3a00 | 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 6b 65 79 2c 20 6f 62 6a 65 63 74 20 76 61 6c 75 65 | InternedString.key,.object.value |
| 3a20 | 2c 20 62 6f 6f 6c 20 73 75 70 70 6f 72 74 52 65 67 65 78 20 3d 20 74 72 75 65 29 0d 0a 20 20 20 | ,.bool.supportRegex.=.true)..... |
| 3a40 | 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 69 74 27 73 20 61 | .....{..............//.If.it's.a |
| 3a60 | 20 73 74 72 69 6e 67 2c 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 69 74 27 73 20 61 20 72 65 | .string,.check.whether.it's.a.re |
| 3a80 | 67 65 78 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 75 70 70 6f 72 74 52 65 67 | gex...............if.(supportReg |
| 3aa0 | 65 78 20 26 26 20 76 61 6c 75 65 20 69 73 20 73 74 72 69 6e 67 20 73 74 72 29 0d 0a 20 20 20 20 | ex.&&.value.is.string.str)...... |
| 3ac0 | 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d | ........{..................var.m |
| 3ae0 | 61 79 42 65 52 65 67 65 78 20 3d 20 21 73 74 72 2e 41 6c 6c 28 63 68 20 3d 3e 20 63 68 61 72 2e | ayBeRegex.=.!str.All(ch.=>.char. |
| 3b00 | 49 73 4c 65 74 74 65 72 4f 72 44 69 67 69 74 28 63 68 29 20 7c 7c 20 63 68 61 72 2e 49 73 57 68 | IsLetterOrDigit(ch).||.char.IsWh |
| 3b20 | 69 74 65 53 70 61 63 65 28 63 68 29 29 20 26 26 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | iteSpace(ch)).&&................ |
| 3b40 | 20 20 20 20 20 20 21 64 6f 75 62 6c 65 2e 54 72 79 50 61 72 73 65 28 73 74 72 2c 20 6f 75 74 20 | ......!double.TryParse(str,.out. |
| 3b60 | 76 61 72 20 5f 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 76 6f 69 64 20 27 2e | var._);..............//.Avoid.'. |
| 3b80 | 27 20 69 6e 20 66 6c 6f 61 74 73 20 66 6f 72 63 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 74 6f | '.in.floats.forcing.the.value.to |
| 3ba0 | 20 62 65 20 61 20 72 65 67 65 78 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | .be.a.regex...................if |
| 3bc0 | 20 28 6d 61 79 42 65 52 65 67 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(mayBeRegex)................... |
| 3be0 | 20 20 20 76 61 6c 75 65 20 3d 20 6e 65 77 20 52 65 67 65 78 28 73 74 72 2c 20 52 65 67 65 78 4f | ...value.=.new.Regex(str,.RegexO |
| 3c00 | 70 74 69 6f 6e 73 2e 49 67 6e 6f 72 65 43 61 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ptions.IgnoreCase);............. |
| 3c20 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 74 6f 20 6c 69 73 74 | .}................//.Add.to.list |
| 3c40 | 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 74 68 69 73 | ...............var.result.=.this |
| 3c60 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 | ;..............ArrayHelpers.Appe |
| 3c80 | 6e 64 28 72 65 66 20 72 65 73 75 6c 74 2e 6d 5f 50 61 74 74 65 72 6e 73 2c 20 6e 65 77 20 4b 65 | nd(ref.result.m_Patterns,.new.Ke |
| 3ca0 | 79 56 61 6c 75 65 50 61 69 72 3c 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 2c 20 6f 62 6a 65 63 | yValuePair<InternedString,.objec |
| 3cc0 | 74 3e 28 6b 65 79 2c 20 76 61 6c 75 65 29 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | t>(key,.value));..............re |
| 3ce0 | 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 | turn.result;..........}......... |
| 3d00 | 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 52 65 | ...///.<summary>..........///.Re |
| 3d20 | 74 75 72 6e 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 6d 61 74 63 68 69 6e 67 20 74 6f 20 74 68 | turn.the.level.of.matching.to.th |
| 3d40 | 65 20 67 69 76 65 6e 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 44 65 | e.given.<paramref.name="deviceDe |
| 3d60 | 73 63 72 69 70 74 69 6f 6e 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d | scription"/>...........///.</sum |
| 3d80 | 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 | mary>..........///.<param.name=" |
| 3da0 | 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 3e 41 20 64 65 76 69 63 65 20 64 65 73 63 | deviceDescription">A.device.desc |
| 3dc0 | 72 69 70 74 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 | ription.</param>..........///.<r |
| 3de0 | 65 74 75 72 6e 73 3e 41 20 73 63 6f 72 65 20 75 73 75 61 6c 6c 79 20 69 6e 20 74 68 65 20 72 61 | eturns>A.score.usually.in.the.ra |
| 3e00 | 6e 67 65 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 31 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a | nge.between.0.and.1.</returns>.. |
| 3e20 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f | ........///.<remarks>........../ |
| 3e40 | 2f 2f 20 54 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 63 6f 6d 70 75 74 65 73 20 61 20 73 63 6f 72 | //.The.algorithm.computes.a.scor |
| 3e60 | 65 20 6f 66 20 68 6f 77 20 77 65 6c 6c 20 74 68 65 20 6d 61 74 63 68 65 72 20 6d 61 74 63 68 65 | e.of.how.well.the.matcher.matche |
| 3e80 | 73 20 74 68 65 20 67 69 76 65 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 | s.the.given.description......... |
| 3ea0 | 20 20 2f 2f 2f 20 45 73 73 65 6e 74 69 61 6c 6c 79 2c 20 61 20 6d 61 74 63 68 65 72 20 74 68 61 | ..///.Essentially,.a.matcher.tha |
| 3ec0 | 74 20 6d 61 74 63 68 65 73 20 65 76 65 72 79 20 73 69 6e 67 6c 65 20 70 72 6f 70 65 72 74 79 20 | t.matches.every.single.property. |
| 3ee0 | 74 68 61 74 20 69 73 20 70 72 65 73 65 6e 74 20 28 61 73 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 | that.is.present.(as.in.......... |
| 3f00 | 2f 2f 2f 20 6e 6f 74 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 20 61 6e 64 20 6e 6f 74 20 61 6e 20 65 | ///.not.<c>null</c>.and.not.an.e |
| 3f20 | 6d 70 74 79 20 73 74 72 69 6e 67 29 20 69 6e 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 | mpty.string).in.<paramref.name=" |
| 3f40 | 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 20 72 65 63 65 69 76 65 73 0d 0a 20 | deviceDescription"/>.receives... |
| 3f60 | 20 20 20 20 20 20 20 2f 2f 2f 20 61 20 73 63 6f 72 65 20 6f 66 20 31 2c 20 61 20 6d 61 74 63 68 | .......///.a.score.of.1,.a.match |
| 3f80 | 65 72 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 6e 6f 6e 65 20 61 20 73 63 6f 72 65 20 6f 66 20 | er.that.matches.none.a.score.of. |
| 3fa0 | 30 2e 20 4d 61 74 63 68 65 73 20 74 68 61 74 20 6d 61 74 63 68 20 6f 6e 6c 79 20 61 20 73 75 62 | 0..Matches.that.match.only.a.sub |
| 3fc0 | 73 65 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 72 65 63 65 69 76 65 20 61 20 73 63 6f 72 65 | set..........///.receive.a.score |
| 3fe0 | 20 69 6e 2d 62 65 74 77 65 65 6e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 | .in-between...........///....... |
| 4000 | 20 20 20 2f 2f 2f 20 41 6e 20 65 78 63 65 70 74 69 6f 6e 20 74 6f 20 74 68 69 73 20 61 72 65 20 | ...///.An.exception.to.this.are. |
| 4020 | 63 61 70 61 62 69 6c 69 74 69 65 73 2e 20 45 76 65 72 79 20 73 69 6e 67 6c 65 20 6d 61 74 63 68 | capabilities..Every.single.match |
| 4040 | 20 6f 66 20 61 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 63 6f 75 6e 74 65 64 0d 0a 20 20 20 | .of.a.capability.is.counted..... |
| 4060 | 20 20 20 20 20 2f 2f 2f 20 61 73 20 6f 6e 65 20 70 72 6f 70 65 72 74 79 20 6d 61 74 63 68 20 61 | .....///.as.one.property.match.a |
| 4080 | 6e 64 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 63 6f 72 65 2e 20 54 68 69 73 20 6d 65 61 6e | nd.added.to.the.score..This.mean |
| 40a0 | 73 20 74 68 61 74 20 6d 61 74 63 68 65 72 73 20 74 68 61 74 20 6d 61 74 63 68 0d 0a 20 20 20 20 | s.that.matchers.that.match...... |
| 40c0 | 20 20 20 20 2f 2f 2f 20 6f 6e 20 6d 75 6c 74 69 70 6c 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 | ....///.on.multiple.capabilities |
| 40e0 | 20 6d 61 79 20 61 63 74 75 61 6c 6c 79 20 61 63 68 69 65 76 65 20 61 20 73 63 6f 72 65 20 26 67 | .may.actually.achieve.a.score.&g |
| 4100 | 74 3b 31 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | t;1...........///..........///.< |
| 4120 | 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 63 6f 64 65 3e 0d 0a 20 20 | example>..........///.<code>.... |
| 4140 | 20 20 20 20 20 20 2f 2f 2f 20 76 61 72 20 64 65 73 63 72 69 70 74 69 6f 6e 20 3d 20 6e 65 77 20 | ......///.var.description.=.new. |
| 4160 | 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 | InputDeviceDescription.......... |
| 4180 | 2f 2f 2f 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 69 6e 74 65 72 66 61 63 65 | ///.{..........///.....interface |
| 41a0 | 4e 61 6d 65 20 3d 20 22 48 49 44 22 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 70 | Name.=."HID",..........///.....p |
| 41c0 | 72 6f 64 75 63 74 20 3d 20 22 4d 61 64 65 55 70 44 65 76 69 63 65 22 2c 0d 0a 20 20 20 20 20 20 | roduct.=."MadeUpDevice",........ |
| 41e0 | 20 20 2f 2f 2f 20 20 20 20 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 3d 20 6e 65 77 20 48 49 44 | ..///.....capabilities.=.new.HID |
| 4200 | 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 0d 0a 20 20 20 20 20 20 20 20 2f 2f | .HIDDeviceDescriptor..........// |
| 4220 | 2f 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 20 20 20 20 76 65 6e | /.....{..........///.........ven |
| 4240 | 64 6f 72 49 64 20 3d 20 30 78 41 42 43 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 | dorId.=.0xABC,..........///..... |
| 4260 | 20 20 20 20 70 72 6f 64 75 63 74 49 64 20 3d 20 30 78 44 45 46 0d 0a 20 20 20 20 20 20 20 20 2f | ....productId.=.0xDEF........../ |
| 4280 | 2f 2f 20 20 20 20 20 7d 2e 54 6f 4a 73 6f 6e 28 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 7d | //.....}.ToJson()..........///.} |
| 42a0 | 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 54 | ;..........///..........///.//.T |
| 42c0 | 68 69 73 20 6d 61 74 63 68 65 72 20 77 69 6c 6c 20 61 63 68 69 65 76 65 20 61 20 73 63 6f 72 65 | his.matcher.will.achieve.a.score |
| 42e0 | 20 6f 66 20 30 2e 36 36 36 20 28 32 2f 33 29 20 61 73 20 69 74 0d 0a 20 20 20 20 20 20 20 20 2f | .of.0.666.(2/3).as.it........../ |
| 4300 | 2f 2f 20 2f 2f 20 6d 61 74 63 68 65 73 20 74 77 6f 20 6f 75 74 20 6f 66 20 74 68 72 65 65 20 61 | //.//.matches.two.out.of.three.a |
| 4320 | 76 61 69 6c 61 62 6c 65 20 70 72 6f 70 65 72 74 69 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f | vailable.properties...........// |
| 4340 | 2f 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 20 | /.new.InputDeviceMatcher()...... |
| 4360 | 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 22 48 49 44 22 | ....///......WithInterface("HID" |
| 4380 | 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 50 72 6f 64 75 63 74 28 | )..........///......WithProduct( |
| 43a0 | 22 4d 61 64 65 55 70 44 65 76 69 63 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 0d 0a 20 | "MadeUpDevice");..........///... |
| 43c0 | 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 54 68 69 73 20 6d 61 74 63 68 65 72 20 77 69 6c 6c 20 | .......///.//.This.matcher.will. |
| 43e0 | 61 63 68 69 65 76 65 20 61 20 73 63 6f 72 65 20 6f 66 20 31 20 64 65 73 70 69 74 65 20 6e 6f 74 | achieve.a.score.of.1.despite.not |
| 4400 | 20 6d 61 74 63 68 69 6e 67 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 27 70 72 6f 64 75 | .matching..........///.//.'produ |
| 4420 | 63 74 27 2e 20 54 68 65 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 74 63 68 | ct'..The.reason.is.that.it.match |
| 4440 | 65 73 20 74 77 6f 20 6b 65 79 73 20 69 6e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 2f 2f 20 27 | es.two.keys.in..........///.//.' |
| 4460 | 63 61 70 61 62 69 6c 69 74 69 65 73 27 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6e 65 77 20 | capabilities'...........///.new. |
| 4480 | 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f | InputDeviceMatcher()..........// |
| 44a0 | 2f 20 20 20 20 20 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 22 48 49 44 22 29 0d 0a 20 20 20 | /......WithInterface("HID")..... |
| 44c0 | 20 20 20 20 20 2f 2f 2f 20 20 20 20 20 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 22 76 65 | .....///......WithCapability("ve |
| 44e0 | 6e 64 6f 72 49 64 22 2c 20 30 78 41 42 43 29 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 20 20 20 | ndorId",.0xABC)..........///.... |
| 4500 | 20 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 22 70 72 6f 64 75 63 74 49 64 22 2c 20 30 78 | ..WithCapability("productId",.0x |
| 4520 | 44 45 46 29 3b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 63 6f 64 65 3e 0d 0a 20 20 20 20 | DEF);..........///.</code>...... |
| 4540 | 20 20 20 20 2f 2f 2f 20 3c 2f 65 78 61 6d 70 6c 65 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | ....///.</example>..........///. |
| 4560 | 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 66 6c 6f 61 74 | </remarks>..........public.float |
| 4580 | 20 4d 61 74 63 68 50 65 72 63 65 6e 74 61 67 65 28 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 | .MatchPercentage(InputDeviceDesc |
| 45a0 | 72 69 70 74 69 6f 6e 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 29 0d 0a 20 20 20 20 | ription.deviceDescription)...... |
| 45c0 | 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 29 0d 0a 20 | ....{..............if.(empty)... |
| 45e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 0d 0a 20 20 20 20 | ...............return.0;........ |
| 4600 | 20 20 20 20 20 20 20 20 2f 2f 20 47 6f 20 74 68 72 6f 75 67 68 20 61 6c 6c 20 70 61 74 74 65 72 | ........//.Go.through.all.patter |
| 4620 | 6e 73 2e 20 53 63 6f 72 65 20 69 73 20 30 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 70 61 74 | ns..Score.is.0.if.any.of.the.pat |
| 4640 | 74 65 72 6e 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 65 73 6e 27 74 20 6d 61 | terns..............//.doesn't.ma |
| 4660 | 74 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6e 75 6d 50 61 74 74 65 72 6e | tch...............var.numPattern |
| 4680 | 73 20 3d 20 6d 5f 50 61 74 74 65 72 6e 73 2e 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 | s.=.m_Patterns.Length;.......... |
| 46a0 | 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6e 75 6d 50 61 74 74 65 | ....for.(var.i.=.0;.i.<.numPatte |
| 46c0 | 72 6e 73 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | rns;.++i)..............{........ |
| 46e0 | 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 20 3d 20 6d 5f 50 61 74 74 65 72 6e 73 5b 69 | ..........var.key.=.m_Patterns[i |
| 4700 | 5d 2e 4b 65 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 70 61 74 74 | ].Key;..................var.patt |
| 4720 | 65 72 6e 20 3d 20 6d 5f 50 61 74 74 65 72 6e 73 5b 69 5d 2e 56 61 6c 75 65 3b 0d 0a 0d 0a 20 20 | ern.=.m_Patterns[i].Value;...... |
| 4740 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 49 6e 74 65 72 66 | ..............if.(key.==.kInterf |
| 4760 | 61 63 65 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 | aceKey)..................{...... |
| 4780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c | ................if.(string.IsNul |
| 47a0 | 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 69 6e 74 65 72 | lOrEmpty(deviceDescription.inter |
| 47c0 | 66 61 63 65 4e 61 6d 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | faceName)....................... |
| 47e0 | 20 20 20 7c 7c 20 21 4d 61 74 63 68 53 69 6e 67 6c 65 50 72 6f 70 65 72 74 79 28 70 61 74 74 65 | ...||.!MatchSingleProperty(patte |
| 4800 | 72 6e 2c 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 69 6e 74 65 72 66 61 63 65 4e | rn,.deviceDescription.interfaceN |
| 4820 | 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 | ame))..........................r |
| 4840 | 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 | eturn.0;..................}..... |
| 4860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 44 65 | .............else.if.(key.==.kDe |
| 4880 | 76 69 63 65 43 6c 61 73 73 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b | viceClassKey)..................{ |
| 48a0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 | ......................if.(string |
| 48c0 | 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e | .IsNullOrEmpty(deviceDescription |
| 48e0 | 2e 64 65 76 69 63 65 43 6c 61 73 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .deviceClass)................... |
| 4900 | 20 20 20 20 20 20 20 7c 7c 20 21 4d 61 74 63 68 53 69 6e 67 6c 65 50 72 6f 70 65 72 74 79 28 70 | .......||.!MatchSingleProperty(p |
| 4920 | 61 74 74 65 72 6e 2c 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 64 65 76 69 63 65 | attern,.deviceDescription.device |
| 4940 | 43 6c 61 73 73 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Class))......................... |
| 4960 | 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 | .return.0;..................}... |
| 4980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b | ...............else.if.(key.==.k |
| 49a0 | 4d 61 6e 75 66 61 63 74 75 72 65 72 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ManufacturerKey)................ |
| 49c0 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 | ..{......................if.(str |
| 49e0 | 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 | ing.IsNullOrEmpty(deviceDescript |
| 4a00 | 69 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion.manufacturer)............... |
| 4a20 | 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 21 4d 61 74 63 68 53 69 6e 67 6c 65 50 72 6f 70 65 72 | ...........||.!MatchSingleProper |
| 4a40 | 74 79 28 70 61 74 74 65 72 6e 2c 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 6d 61 | ty(pattern,.deviceDescription.ma |
| 4a60 | 6e 75 66 61 63 74 75 72 65 72 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nufacturer)).................... |
| 4a80 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......return.0;................. |
| 4aa0 | 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 | .}..................else.if.(key |
| 4ac0 | 20 3d 3d 20 6b 50 72 6f 64 75 63 74 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .==.kProductKey)................ |
| 4ae0 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 | ..{......................if.(str |
| 4b00 | 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 | ing.IsNullOrEmpty(deviceDescript |
| 4b20 | 69 6f 6e 2e 70 72 6f 64 75 63 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion.product).................... |
| 4b40 | 20 20 20 20 20 20 7c 7c 20 21 4d 61 74 63 68 53 69 6e 67 6c 65 50 72 6f 70 65 72 74 79 28 70 61 | ......||.!MatchSingleProperty(pa |
| 4b60 | 74 74 65 72 6e 2c 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 74 | ttern,.deviceDescription.product |
| 4b80 | 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 | ))..........................retu |
| 4ba0 | 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 | rn.0;..................}........ |
| 4bc0 | 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 56 65 72 73 69 | ..........else.if.(key.==.kVersi |
| 4be0 | 6f 6e 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 | onKey)..................{....... |
| 4c00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c | ...............if.(string.IsNull |
| 4c20 | 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 76 65 72 73 69 6f | OrEmpty(deviceDescription.versio |
| 4c40 | 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7c 7c 20 21 | n)..........................||.! |
| 4c60 | 4d 61 74 63 68 53 69 6e 67 6c 65 50 72 6f 70 65 72 74 79 28 70 61 74 74 65 72 6e 2c 20 64 65 76 | MatchSingleProperty(pattern,.dev |
| 4c80 | 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 76 65 72 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 | iceDescription.version))........ |
| 4ca0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 | ..................return.0;..... |
| 4cc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............}.................. |
| 4ce0 | 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 | else..................{......... |
| 4d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 61 70 61 62 69 6c 69 74 69 65 73 20 6d 61 74 | .............//.Capabilities.mat |
| 4d20 | 63 68 2e 20 54 61 6b 65 20 74 68 65 20 6b 65 79 20 61 73 20 61 20 70 61 74 68 20 69 6e 74 6f 20 | ch..Take.the.key.as.a.path.into. |
| 4d40 | 74 68 65 20 4a 53 4f 4e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f | the.JSON......................// |
| 4d60 | 20 6f 62 6a 65 63 74 20 61 6e 64 20 6d 61 74 63 68 20 74 68 65 20 76 61 6c 75 65 20 66 6f 75 6e | .object.and.match.the.value.foun |
| 4d80 | 64 20 61 74 20 74 68 65 20 67 69 76 65 6e 20 70 61 74 68 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 | d.at.the.given.path............. |
| 4da0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 | ............if.(string.IsNullOrE |
| 4dc0 | 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 63 61 70 61 62 69 6c 69 74 | mpty(deviceDescription.capabilit |
| 4de0 | 69 65 73 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 | ies))..........................r |
| 4e00 | 65 74 75 72 6e 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eturn.0;........................ |
| 4e20 | 76 61 72 20 67 72 61 70 68 20 3d 20 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 28 64 65 76 69 63 | var.graph.=.new.JsonParser(devic |
| 4e40 | 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 63 61 70 61 62 69 6c 69 74 69 65 73 29 3b 0d 0a 20 20 20 | eDescription.capabilities);..... |
| 4e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 67 72 61 70 68 2e 4e 61 76 69 | .................if.(!graph.Navi |
| 4e80 | 67 61 74 65 54 6f 50 72 6f 70 65 72 74 79 28 6b 65 79 2e 54 6f 53 74 72 69 6e 67 28 29 29 20 7c | gateToProperty(key.ToString()).| |
| 4ea0 | 7c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 67 72 61 70 | |..........................!grap |
| 4ec0 | 68 2e 43 75 72 72 65 6e 74 50 72 6f 70 65 72 74 79 48 61 73 56 61 6c 75 65 45 71 75 61 6c 54 6f | h.CurrentPropertyHasValueEqualTo |
| 4ee0 | 28 6e 65 77 20 4a 73 6f 6e 50 61 72 73 65 72 2e 4a 73 6f 6e 56 61 6c 75 65 20 7b 20 74 79 70 65 | (new.JsonParser.JsonValue.{.type |
| 4f00 | 20 3d 20 4a 73 6f 6e 50 61 72 73 65 72 2e 4a 73 6f 6e 56 61 6c 75 65 54 79 70 65 2e 41 6e 79 2c | .=.JsonParser.JsonValueType.Any, |
| 4f20 | 20 61 6e 79 56 61 6c 75 65 20 3d 20 70 61 74 74 65 72 6e 7d 29 29 0d 0a 20 20 20 20 20 20 20 20 | .anyValue.=.pattern})).......... |
| 4f40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 | ................return.0;....... |
| 4f60 | 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 | ...........}..............}..... |
| 4f80 | 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 41 6c 6c 20 70 61 74 74 65 72 6e 73 20 6d 61 74 63 68 | ...........//.All.patterns.match |
| 4fa0 | 65 64 2e 20 4f 75 72 20 73 63 6f 72 65 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 | ed..Our.score.is.determined.by.t |
| 4fc0 | 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 72 6f 70 65 72 74 69 65 73 0d 0a 20 20 20 20 20 20 20 | he.number.of.properties......... |
| 4fe0 | 20 20 20 20 20 2f 2f 20 77 65 20 6d 61 74 63 68 65 64 20 61 67 61 69 6e 73 74 2e 0d 0a 20 20 20 | .....//.we.matched.against...... |
| 5000 | 20 20 20 20 20 20 20 20 20 76 61 72 20 70 72 6f 70 65 72 74 79 43 6f 75 6e 74 49 6e 44 65 73 63 | .........var.propertyCountInDesc |
| 5020 | 72 69 70 74 69 6f 6e 20 3d 20 47 65 74 4e 75 6d 50 72 6f 70 65 72 74 69 65 73 49 6e 28 64 65 76 | ription.=.GetNumPropertiesIn(dev |
| 5040 | 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 | iceDescription);..............va |
| 5060 | 72 20 73 63 6f 72 65 50 65 72 50 72 6f 70 65 72 74 79 20 3d 20 31 2e 30 66 20 2f 20 70 72 6f 70 | r.scorePerProperty.=.1.0f./.prop |
| 5080 | 65 72 74 79 43 6f 75 6e 74 49 6e 44 65 73 63 72 69 70 74 69 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 | ertyCountInDescription;......... |
| 50a0 | 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6e 75 6d 50 61 74 74 65 72 6e 73 20 2a 20 73 63 6f 72 | .......return.numPatterns.*.scor |
| 50c0 | 65 50 65 72 50 72 6f 70 65 72 74 79 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 | ePerProperty;..........}........ |
| 50e0 | 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 4d 61 74 63 68 53 69 6e | ....private.static.bool.MatchSin |
| 5100 | 67 6c 65 50 72 6f 70 65 72 74 79 28 6f 62 6a 65 63 74 20 70 61 74 74 65 72 6e 2c 20 73 74 72 69 | gleProperty(object.pattern,.stri |
| 5120 | 6e 67 20 76 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 | ng.value)..........{............ |
| 5140 | 20 20 2f 2f 20 53 74 72 69 6e 67 20 6d 61 74 63 68 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..//.String.match............... |
| 5160 | 69 66 20 28 70 61 74 74 65 72 6e 20 69 73 20 73 74 72 69 6e 67 20 73 74 72 29 0d 0a 20 20 20 20 | if.(pattern.is.string.str)...... |
| 5180 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 72 69 6e 67 2e 43 6f 6d 70 61 72 | ............return.string.Compar |
| 51a0 | 65 28 73 74 72 2c 20 76 61 6c 75 65 2c 20 53 74 72 69 6e 67 43 6f 6d 70 61 72 69 73 6f 6e 2e 49 | e(str,.value,.StringComparison.I |
| 51c0 | 6e 76 61 72 69 61 6e 74 43 75 6c 74 75 72 65 49 67 6e 6f 72 65 43 61 73 65 29 20 3d 3d 20 30 3b | nvariantCultureIgnoreCase).==.0; |
| 51e0 | 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 67 65 78 20 6d 61 74 63 68 2e 0d | ................//.Regex.match.. |
| 5200 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 61 74 74 65 72 6e 20 69 73 20 52 65 67 65 | .............if.(pattern.is.Rege |
| 5220 | 78 20 72 65 67 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | x.regex)..................return |
| 5240 | 20 72 65 67 65 78 2e 49 73 4d 61 74 63 68 28 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 | .regex.IsMatch(value);.......... |
| 5260 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a | ......return.false;..........}.. |
| 5280 | 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 69 6e 74 20 47 65 74 | ..........private.static.int.Get |
| 52a0 | 4e 75 6d 50 72 6f 70 65 72 74 69 65 73 49 6e 28 49 6e 70 75 74 44 65 76 69 63 65 44 65 73 63 72 | NumPropertiesIn(InputDeviceDescr |
| 52c0 | 69 70 74 69 6f 6e 20 64 65 73 63 72 69 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a | iption.description)..........{.. |
| 52e0 | 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 75 6e 74 20 3d 20 30 3b 0d 0a 20 20 20 20 | ............var.count.=.0;...... |
| 5300 | 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 | ........if.(!string.IsNullOrEmpt |
| 5320 | 79 28 64 65 73 63 72 69 70 74 69 6f 6e 2e 69 6e 74 65 72 66 61 63 65 4e 61 6d 65 29 29 0d 0a 20 | y(description.interfaceName))... |
| 5340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 | ...............count.+=.1;...... |
| 5360 | 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 | ........if.(!string.IsNullOrEmpt |
| 5380 | 79 28 64 65 73 63 72 69 70 74 69 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 29 29 0d 0a 20 20 20 | y(description.deviceClass))..... |
| 53a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 | .............count.+=.1;........ |
| 53c0 | 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 | ......if.(!string.IsNullOrEmpty( |
| 53e0 | 64 65 73 63 72 69 70 74 69 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 29 29 0d 0a 20 20 20 20 | description.manufacturer))...... |
| 5400 | 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 | ............count.+=.1;......... |
| 5420 | 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 | .....if.(!string.IsNullOrEmpty(d |
| 5440 | 65 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 74 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | escription.product))............ |
| 5460 | 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | ......count.+=.1;..............i |
| 5480 | 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 73 63 72 69 70 | f.(!string.IsNullOrEmpty(descrip |
| 54a0 | 74 69 6f 6e 2e 76 65 72 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tion.version)).................. |
| 54c0 | 63 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 | count.+=.1;..............if.(!st |
| 54e0 | 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 73 63 72 69 70 74 69 6f 6e 2e 63 | ring.IsNullOrEmpty(description.c |
| 5500 | 61 70 61 62 69 6c 69 74 69 65 73 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | apabilities))..................c |
| 5520 | 6f 75 6e 74 20 2b 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 63 | ount.+=.1;..............return.c |
| 5540 | 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | ount;..........}............///. |
| 5560 | 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 50 72 6f 64 75 63 65 20 61 | <summary>..........///.Produce.a |
| 5580 | 20 6d 61 74 63 68 65 72 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 74 68 65 20 67 69 76 65 6e 20 | .matcher.that.matches.the.given. |
| 55a0 | 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 76 65 72 62 61 74 69 6d 2e 0d 0a 20 20 | device.description.verbatim..... |
| 55c0 | 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f | ......///.</summary>..........// |
| 55e0 | 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e | /.<param.name="deviceDescription |
| 5600 | 22 3e 41 20 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e 0d | ">A.device.description.</param>. |
| 5620 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 41 20 6d 61 74 63 68 65 72 20 | .........///.<returns>A.matcher. |
| 5640 | 74 68 61 74 20 6d 61 74 63 68 65 73 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 64 65 76 | that.matches.<paramref.name="dev |
| 5660 | 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 22 2f 3e 20 65 78 61 63 74 6c 79 2e 3c 2f 72 65 74 75 | iceDescription"/>.exactly.</retu |
| 5680 | 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 | rns>..........///.<remarks>..... |
| 56a0 | 20 20 20 20 20 2f 2f 2f 20 54 68 69 73 20 6d 65 74 68 6f 64 20 63 61 6e 20 62 65 20 75 73 65 64 | .....///.This.method.can.be.used |
| 56c0 | 20 74 6f 20 70 72 6f 64 75 63 65 20 61 20 6d 61 74 63 68 65 72 20 66 6f 72 20 61 6e 20 65 78 69 | .to.produce.a.matcher.for.an.exi |
| 56e0 | 73 74 69 6e 67 20 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 69 6f 6e 2c 0d 0a 20 20 20 20 20 | sting.device.description,....... |
| 5700 | 20 20 20 2f 2f 2f 20 65 2e 67 2e 20 77 68 65 6e 20 77 72 69 74 69 6e 67 20 61 20 6c 61 79 6f 75 | ...///.e.g..when.writing.a.layou |
| 5720 | 74 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 70 75 74 43 6f 6e 74 72 6f 6c 4c 61 79 6f 75 74 2e | t.<see.cref="InputControlLayout. |
| 5740 | 42 75 69 6c 64 65 72 22 2f 3e 20 74 68 61 74 20 70 72 6f 64 75 63 65 73 0d 0a 20 20 20 20 20 20 | Builder"/>.that.produces........ |
| 5760 | 20 20 2f 2f 2f 20 6c 61 79 6f 75 74 73 20 66 6f 72 20 64 65 76 69 63 65 73 20 6f 6e 20 74 68 65 | ..///.layouts.for.devices.on.the |
| 5780 | 20 66 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 | .fly...........///.</remarks>... |
| 57a0 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 | .......public.static.InputDevice |
| 57c0 | 4d 61 74 63 68 65 72 20 46 72 6f 6d 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 28 49 6e | Matcher.FromDeviceDescription(In |
| 57e0 | 70 75 74 44 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 20 64 65 76 69 63 65 44 65 73 63 72 | putDeviceDescription.deviceDescr |
| 5800 | 69 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | iption)..........{.............. |
| 5820 | 76 61 72 20 6d 61 74 63 68 65 72 20 3d 20 6e 65 77 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 | var.matcher.=.new.InputDeviceMat |
| 5840 | 63 68 65 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 | cher();..............if.(!string |
| 5860 | 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e | .IsNullOrEmpty(deviceDescription |
| 5880 | 2e 69 6e 74 65 72 66 61 63 65 4e 61 6d 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .interfaceName))................ |
| 58a0 | 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 49 6e 74 65 72 66 61 63 | ..matcher.=.matcher.WithInterfac |
| 58c0 | 65 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 69 6e 74 65 72 66 61 63 65 4e 61 6d | e(deviceDescription.interfaceNam |
| 58e0 | 65 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 | e,.false);..............if.(!str |
| 5900 | 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 | ing.IsNullOrEmpty(deviceDescript |
| 5920 | 69 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ion.deviceClass))............... |
| 5940 | 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 44 65 76 69 63 65 43 | ...matcher.=.matcher.WithDeviceC |
| 5960 | 6c 61 73 73 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 64 65 76 69 63 65 43 6c 61 | lass(deviceDescription.deviceCla |
| 5980 | 73 73 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 | ss,.false);..............if.(!st |
| 59a0 | 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 | ring.IsNullOrEmpty(deviceDescrip |
| 59c0 | 74 69 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | tion.manufacturer))............. |
| 59e0 | 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 4d 61 6e 75 66 | .....matcher.=.matcher.WithManuf |
| 5a00 | 61 63 74 75 72 65 72 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 6d 61 6e 75 66 61 | acturer(deviceDescription.manufa |
| 5a20 | 63 74 75 72 65 72 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | cturer,.false);..............if. |
| 5a40 | 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 | (!string.IsNullOrEmpty(deviceDes |
| 5a60 | 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 74 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | cription.product)).............. |
| 5a80 | 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 50 72 6f 64 75 63 | ....matcher.=.matcher.WithProduc |
| 5aa0 | 74 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 70 72 6f 64 75 63 74 2c 20 66 61 6c | t(deviceDescription.product,.fal |
| 5ac0 | 73 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 | se);..............if.(!string.Is |
| 5ae0 | 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 65 76 69 63 65 44 65 73 63 72 69 70 74 69 6f 6e 2e 76 65 | NullOrEmpty(deviceDescription.ve |
| 5b00 | 72 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 | rsion))..................matcher |
| 5b20 | 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 56 65 72 73 69 6f 6e 28 64 65 76 69 63 65 44 65 73 | .=.matcher.WithVersion(deviceDes |
| 5b40 | 63 72 69 70 74 69 6f 6e 2e 76 65 72 73 69 6f 6e 2c 20 66 61 6c 73 65 29 3b 0d 0a 20 20 20 20 20 | cription.version,.false);....... |
| 5b60 | 20 20 20 20 20 20 20 2f 2f 20 57 65 20 64 6f 6e 27 74 20 69 6e 63 6c 75 64 65 20 63 61 70 61 62 | .......//.We.don't.include.capab |
| 5b80 | 69 6c 69 74 69 65 73 20 69 6e 20 74 68 69 73 20 63 6f 6e 76 65 72 73 69 6f 6e 2e 0d 0a 20 20 20 | ilities.in.this.conversion...... |
| 5ba0 | 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6d 61 74 63 68 65 72 3b 0d 0a 20 20 20 20 20 20 | .........return.matcher;........ |
| 5bc0 | 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 | ..}............///.<summary>.... |
| 5be0 | 20 20 20 20 20 20 2f 2f 2f 20 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 | ......///.Return.a.string.repres |
| 5c00 | 65 6e 74 61 74 69 6f 6e 20 75 73 65 66 75 6c 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2e 20 4c | entation.useful.for.debugging..L |
| 5c20 | 69 73 74 73 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d | ists.the..........///.<see.cref= |
| 5c40 | 22 70 61 74 74 65 72 6e 73 22 2f 3e 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 6d 61 | "patterns"/>.contained.in.the.ma |
| 5c60 | 74 63 68 65 72 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a | tcher...........///.</summary>.. |
| 5c80 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 41 20 73 74 72 69 6e 67 20 72 65 | ........///.<returns>A.string.re |
| 5ca0 | 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 6d 61 74 63 68 65 72 2e 3c 2f 72 65 | presentation.of.the.matcher.</re |
| 5cc0 | 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 | turns>..........public.override. |
| 5ce0 | 73 74 72 69 6e 67 20 54 6f 53 74 72 69 6e 67 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 | string.ToString()..........{.... |
| 5d00 | 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 | ..........if.(empty)............ |
| 5d20 | 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 3c 65 6d 70 74 79 3e 22 3b 0d 0a 0d 0a 20 20 20 20 20 | ......return."<empty>";......... |
| 5d40 | 20 20 20 20 20 20 20 76 61 72 20 72 65 73 75 6c 74 20 3d 20 73 74 72 69 6e 67 2e 45 6d 70 74 79 | .......var.result.=.string.Empty |
| 5d60 | 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 70 61 74 74 | ;..............foreach.(var.patt |
| 5d80 | 65 72 6e 20 69 6e 20 6d 5f 50 61 74 74 65 72 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ern.in.m_Patterns).............. |
| 5da0 | 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 73 75 6c 74 2e 4c 65 | {..................if.(result.Le |
| 5dc0 | 6e 67 74 68 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 | ngth.>.0)......................r |
| 5de0 | 65 73 75 6c 74 20 2b 3d 20 24 22 2c 7b 70 61 74 74 65 72 6e 2e 4b 65 79 7d 3d 7b 70 61 74 74 65 | esult.+=.$",{pattern.Key}={patte |
| 5e00 | 72 6e 2e 56 61 6c 75 65 7d 22 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 | rn.Value}";..................els |
| 5e20 | 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d | e......................result.+= |
| 5e40 | 20 24 22 7b 70 61 74 74 65 72 6e 2e 4b 65 79 7d 3d 7b 70 61 74 74 65 72 6e 2e 56 61 6c 75 65 7d | .$"{pattern.Key}={pattern.Value} |
| 5e60 | 22 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ";..............}............... |
| 5e80 | 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 | .return.result;..........}...... |
| 5ea0 | 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | ......///.<summary>........../// |
| 5ec0 | 20 54 65 73 74 20 77 68 65 74 68 65 72 20 74 68 69 73 20 6d 61 74 63 68 65 72 20 69 73 20 65 71 | .Test.whether.this.matcher.is.eq |
| 5ee0 | 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 | uivalent.to.the.<paramref.name=" |
| 5f00 | 6f 74 68 65 72 22 2f 3e 20 6d 61 74 63 68 65 72 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | other"/>.matcher...........///.< |
| 5f20 | 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 | /summary>..........///.<param.na |
| 5f40 | 6d 65 3d 22 6f 74 68 65 72 22 3e 41 6e 6f 74 68 65 72 20 64 65 76 69 63 65 20 6d 61 74 63 68 65 | me="other">Another.device.matche |
| 5f60 | 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 | r.</param>..........///.<returns |
| 5f80 | 3e 54 72 75 65 20 69 66 20 74 68 65 20 74 77 6f 20 6d 61 74 63 68 65 72 73 20 61 72 65 20 65 71 | >True.if.the.two.matchers.are.eq |
| 5fa0 | 75 69 76 61 6c 65 6e 74 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f | uivalent.</returns>........../// |
| 5fc0 | 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 54 77 6f 20 6d 61 74 63 | .<remarks>..........///.Two.matc |
| 5fe0 | 68 65 72 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 69 66 20 74 68 65 79 20 63 6f 6e 74 | hers.are.equivalent.if.they.cont |
| 6000 | 61 69 6e 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 74 74 65 72 6e 73 20 | ain.the.same.number.of.patterns. |
| 6020 | 61 6e 64 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 73 61 6d 65 20 70 61 74 74 65 72 | and.the..........///.same.patter |
| 6040 | 6e 20 6f 63 63 75 72 73 20 69 6e 20 65 61 63 68 20 6f 66 20 74 68 65 20 6d 61 74 63 68 65 72 73 | n.occurs.in.each.of.the.matchers |
| 6060 | 2e 20 4f 72 64 65 72 20 6f 66 20 74 68 65 20 70 61 74 74 65 72 6e 73 20 64 6f 65 73 20 6e 6f 74 | ..Order.of.the.patterns.does.not |
| 6080 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 6d 61 74 74 65 72 2e 0d 0a 20 20 20 20 20 20 20 20 2f | ..........///.matter.........../ |
| 60a0 | 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 5b 53 79 73 74 65 6d 2e 44 | //.</remarks>..........[System.D |
| 60c0 | 69 61 67 6e 6f 73 74 69 63 73 2e 43 6f 64 65 41 6e 61 6c 79 73 69 73 2e 53 75 70 70 72 65 73 73 | iagnostics.CodeAnalysis.Suppress |
| 60e0 | 4d 65 73 73 61 67 65 28 22 4d 69 63 72 6f 73 6f 66 74 2e 44 65 73 69 67 6e 22 2c 20 22 43 41 31 | Message("Microsoft.Design",."CA1 |
| 6100 | 30 36 32 3a 56 61 6c 69 64 61 74 65 20 61 72 67 75 6d 65 6e 74 73 20 6f 66 20 70 75 62 6c 69 63 | 062:Validate.arguments.of.public |
| 6120 | 20 6d 65 74 68 6f 64 73 22 2c 20 4d 65 73 73 61 67 65 49 64 20 3d 20 22 30 22 2c 20 4a 75 73 74 | .methods",.MessageId.=."0",.Just |
| 6140 | 69 66 69 63 61 74 69 6f 6e 20 3d 20 22 46 61 6c 73 65 20 70 6f 73 69 74 69 76 65 2e 22 29 5d 0d | ification.=."False.positive.")]. |
| 6160 | 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 62 6f 6f 6c 20 45 71 75 61 6c 73 28 49 6e 70 75 | .........public.bool.Equals(Inpu |
| 6180 | 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 6f 74 68 65 72 29 0d 0a 20 20 20 20 20 20 20 20 7b | tDeviceMatcher.other)..........{ |
| 61a0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 5f 50 61 74 74 65 72 6e 73 20 3d 3d 20 | ..............if.(m_Patterns.==. |
| 61c0 | 6f 74 68 65 72 2e 6d 5f 50 61 74 74 65 72 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | other.m_Patterns)............... |
| 61e0 | 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 | ...return.true;................i |
| 6200 | 66 20 28 6d 5f 50 61 74 74 65 72 6e 73 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 6f 74 68 65 72 2e 6d | f.(m_Patterns.==.null.||.other.m |
| 6220 | 5f 50 61 74 74 65 72 6e 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | _Patterns.==.null).............. |
| 6240 | 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ....return.false;............... |
| 6260 | 20 69 66 20 28 6d 5f 50 61 74 74 65 72 6e 73 2e 4c 65 6e 67 74 68 20 21 3d 20 6f 74 68 65 72 2e | .if.(m_Patterns.Length.!=.other. |
| 6280 | 6d 5f 50 61 74 74 65 72 6e 73 2e 4c 65 6e 67 74 68 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | m_Patterns.Length).............. |
| 62a0 | 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ....return.false;............... |
| 62c0 | 20 2f 2f 20 50 61 74 74 65 72 6e 20 63 6f 75 6e 74 20 6d 61 74 63 68 65 73 2e 20 43 6f 6d 70 61 | .//.Pattern.count.matches..Compa |
| 62e0 | 72 65 20 70 61 74 74 65 72 6e 20 62 79 20 70 61 74 74 65 72 6e 2e 20 4f 72 64 65 72 20 6f 66 20 | re.pattern.by.pattern..Order.of. |
| 6300 | 70 61 74 74 65 72 6e 73 20 64 6f 65 73 6e 27 74 20 6d 61 74 74 65 72 2e 0d 0a 20 20 20 20 20 20 | patterns.doesn't.matter......... |
| 6320 | 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 6d 5f 50 61 74 74 | ......for.(var.i.=.0;.i.<.m_Patt |
| 6340 | 65 72 6e 73 2e 4c 65 6e 67 74 68 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b | erns.Length;.++i)..............{ |
| 6360 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 74 68 69 73 50 61 74 74 65 72 | ..................var.thisPatter |
| 6380 | 6e 20 3d 20 6d 5f 50 61 74 74 65 72 6e 73 5b 69 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | n.=.m_Patterns[i];.............. |
| 63a0 | 20 20 20 20 76 61 72 20 66 6f 75 6e 64 50 61 74 74 65 72 6e 20 3d 20 66 61 6c 73 65 3b 0d 0a 20 | ....var.foundPattern.=.false;... |
| 63c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 6e 20 3d 20 30 3b 20 6e | ...............for.(var.n.=.0;.n |
| 63e0 | 20 3c 20 6d 5f 50 61 74 74 65 72 6e 73 2e 4c 65 6e 67 74 68 3b 20 2b 2b 6e 29 0d 0a 20 20 20 20 | .<.m_Patterns.Length;.++n)...... |
| 6400 | 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............{................... |
| 6420 | 20 20 20 76 61 72 20 6f 74 68 65 72 50 61 74 74 65 72 6e 20 3d 20 6f 74 68 65 72 2e 6d 5f 50 61 | ...var.otherPattern.=.other.m_Pa |
| 6440 | 74 74 65 72 6e 73 5b 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tterns[n];...................... |
| 6460 | 69 66 20 28 74 68 69 73 50 61 74 74 65 72 6e 2e 4b 65 79 20 21 3d 20 6f 74 68 65 72 50 61 74 74 | if.(thisPattern.Key.!=.otherPatt |
| 6480 | 65 72 6e 2e 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ern.Key)........................ |
| 64a0 | 20 20 63 6f 6e 74 69 6e 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..continue;..................... |
| 64c0 | 20 69 66 20 28 21 74 68 69 73 50 61 74 74 65 72 6e 2e 56 61 6c 75 65 2e 45 71 75 61 6c 73 28 6f | .if.(!thisPattern.Value.Equals(o |
| 64e0 | 74 68 65 72 50 61 74 74 65 72 6e 2e 56 61 6c 75 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | therPattern.Value))............. |
| 6500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 20 20 | .............return.false;...... |
| 6520 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 75 6e 64 50 61 74 74 65 72 6e 20 3d 20 74 | ................foundPattern.=.t |
| 6540 | 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b | rue;......................break; |
| 6560 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 | ..................}............. |
| 6580 | 20 20 20 20 20 20 20 69 66 20 28 21 66 6f 75 6e 64 50 61 74 74 65 72 6e 29 0d 0a 20 20 20 20 20 | .......if.(!foundPattern)....... |
| 65a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 20 20 | ...............return.false;.... |
| 65c0 | 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | ..........}................retur |
| 65e0 | 6e 20 74 72 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f | n.true;..........}............// |
| 6600 | 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 61 72 65 | /.<summary>..........///.Compare |
| 6620 | 20 74 68 69 73 20 6d 61 74 63 68 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0d 0a 20 20 20 20 20 | .this.matcher.to.another........ |
| 6640 | 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c | ...///.</summary>..........///.< |
| 6660 | 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6f 62 6a 22 3e 41 20 6d 61 74 63 68 65 72 20 6f 62 6a 65 63 | param.name="obj">A.matcher.objec |
| 6680 | 74 20 6f 72 20 3c 63 3e 6e 75 6c 6c 3c 2f 63 3e 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 | t.or.<c>null</c>.</param>....... |
| 66a0 | 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 72 75 65 20 69 66 20 74 68 65 20 6d 61 74 63 | ...///.<returns>True.if.the.matc |
| 66c0 | 68 65 72 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 | her.is.equivalent.</returns>.... |
| 66e0 | 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 45 71 75 61 6c 73 28 | ......///.<seealso.cref="Equals( |
| 6700 | 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 29 22 2f 3e 0d 0a 20 20 20 20 20 20 20 20 | InputDeviceMatcher)"/>.......... |
| 6720 | 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 62 6f 6f 6c 20 45 71 75 61 6c 73 28 6f 62 6a 65 | public.override.bool.Equals(obje |
| 6740 | 63 74 20 6f 62 6a 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ct.obj)..........{.............. |
| 6760 | 69 66 20 28 52 65 66 65 72 65 6e 63 65 45 71 75 61 6c 73 28 6e 75 6c 6c 2c 20 6f 62 6a 29 29 0d | if.(ReferenceEquals(null,.obj)). |
| 6780 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 66 61 6c 73 65 3b 0d 0a | .................return.false;.. |
| 67a0 | 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6f 62 6a 20 69 73 20 49 6e 70 75 74 44 | ............return.obj.is.InputD |
| 67c0 | 65 76 69 63 65 4d 61 74 63 68 65 72 20 6d 61 74 63 68 65 72 20 26 26 20 45 71 75 61 6c 73 28 6d | eviceMatcher.matcher.&&.Equals(m |
| 67e0 | 61 74 63 68 65 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f | atcher);..........}............/ |
| 6800 | 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 61 72 | //.<summary>..........///.Compar |
| 6820 | 65 20 74 77 6f 20 6d 61 74 63 68 65 72 73 20 66 6f 72 20 65 71 75 69 76 61 6c 65 6e 63 65 2e 0d | e.two.matchers.for.equivalence.. |
| 6840 | 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 | .........///.</summary>......... |
| 6860 | 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6c 65 66 74 22 3e 46 69 72 73 74 20 64 65 | .///.<param.name="left">First.de |
| 6880 | 76 69 63 65 20 6d 61 74 63 68 65 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f | vice.matcher.</param>........../ |
| 68a0 | 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 72 69 67 68 74 22 3e 53 65 63 6f 6e 64 20 64 65 | //.<param.name="right">Second.de |
| 68c0 | 76 69 63 65 20 6d 61 74 63 68 65 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f | vice.matcher.</param>........../ |
| 68e0 | 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 72 75 65 20 69 66 20 74 68 65 20 74 77 6f 20 6d 61 74 63 | //.<returns>True.if.the.two.matc |
| 6900 | 68 65 72 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a | hers.are.equivalent.</returns>.. |
| 6920 | 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 45 71 75 61 6c | ........///.<seealso.cref="Equal |
| 6940 | 73 28 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 29 22 2f 3e 0d 0a 20 20 20 20 20 20 | s(InputDeviceMatcher)"/>........ |
| 6960 | 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 6f 70 65 72 61 74 6f 72 3d 3d 28 | ..public.static.bool.operator==( |
| 6980 | 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 6c 65 66 74 2c 20 49 6e 70 75 74 44 65 | InputDeviceMatcher.left,.InputDe |
| 69a0 | 76 69 63 65 4d 61 74 63 68 65 72 20 72 69 67 68 74 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 | viceMatcher.right)..........{... |
| 69c0 | 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 65 66 74 2e 45 71 75 61 6c 73 28 72 69 | ...........return.left.Equals(ri |
| 69e0 | 67 68 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 | ght);..........}............///. |
| 6a00 | 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 61 72 65 20 74 | <summary>..........///.Compare.t |
| 6a20 | 77 6f 20 6d 61 74 63 68 65 72 73 20 66 6f 72 20 6e 6f 6e 2d 65 71 75 69 76 61 6c 65 6e 63 65 2e | wo.matchers.for.non-equivalence. |
| 6a40 | 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 | ..........///.</summary>........ |
| 6a60 | 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6c 65 66 74 22 3e 46 69 72 73 74 20 64 | ..///.<param.name="left">First.d |
| 6a80 | 65 76 69 63 65 20 6d 61 74 63 68 65 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 | evice.matcher.</param>.......... |
| 6aa0 | 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 72 69 67 68 74 22 3e 53 65 63 6f 6e 64 20 64 | ///.<param.name="right">Second.d |
| 6ac0 | 65 76 69 63 65 20 6d 61 74 63 68 65 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 | evice.matcher.</param>.......... |
| 6ae0 | 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 54 72 75 65 20 69 66 20 74 68 65 20 74 77 6f 20 6d 61 74 | ///.<returns>True.if.the.two.mat |
| 6b00 | 63 68 65 72 73 20 61 72 65 20 6e 6f 74 20 65 71 75 69 76 61 6c 65 6e 74 2e 3c 2f 72 65 74 75 72 | chers.are.not.equivalent.</retur |
| 6b20 | 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 61 6c 73 6f 20 63 72 65 66 3d 22 | ns>..........///.<seealso.cref=" |
| 6b40 | 45 71 75 61 6c 73 28 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 29 22 2f 3e 0d 0a 20 | Equals(InputDeviceMatcher)"/>... |
| 6b60 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 6f 70 65 72 61 74 | .......public.static.bool.operat |
| 6b80 | 6f 72 21 3d 28 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 6c 65 66 74 2c 20 49 6e | or!=(InputDeviceMatcher.left,.In |
| 6ba0 | 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 72 69 67 68 74 29 0d 0a 20 20 20 20 20 20 20 | putDeviceMatcher.right)......... |
| 6bc0 | 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 21 28 6c 65 66 74 20 3d 3d | .{..............return.!(left.== |
| 6be0 | 20 72 69 67 68 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f | .right);..........}............/ |
| 6c00 | 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 43 6f 6d 70 75 74 | //.<summary>..........///.Comput |
| 6c20 | 65 20 61 20 68 61 73 68 20 63 6f 64 65 20 66 6f 72 20 74 68 65 20 64 65 76 69 63 65 20 6d 61 74 | e.a.hash.code.for.the.device.mat |
| 6c40 | 63 68 65 72 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 | cher...........///.</summary>... |
| 6c60 | 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 6e 73 3e 41 20 68 61 73 68 20 63 6f 64 65 20 | .......///.<returns>A.hash.code. |
| 6c80 | 66 6f 72 20 74 68 65 20 6d 61 74 63 68 65 72 2e 3c 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 | for.the.matcher.</returns>...... |
| 6ca0 | 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20 69 6e 74 20 47 65 74 48 61 73 68 43 | ....public.override.int.GetHashC |
| 6cc0 | 6f 64 65 28 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | ode()..........{..............re |
| 6ce0 | 74 75 72 6e 20 6d 5f 50 61 74 74 65 72 6e 73 20 21 3d 20 6e 75 6c 6c 20 3f 20 6d 5f 50 61 74 74 | turn.m_Patterns.!=.null.?.m_Patt |
| 6d00 | 65 72 6e 73 2e 47 65 74 48 61 73 68 43 6f 64 65 28 29 20 3a 20 30 3b 0d 0a 20 20 20 20 20 20 20 | erns.GetHashCode().:.0;......... |
| 6d20 | 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 72 65 61 | .}............private.static.rea |
| 6d40 | 64 6f 6e 6c 79 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 6b 49 6e 74 65 72 66 61 63 65 4b | donly.InternedString.kInterfaceK |
| 6d60 | 65 79 20 3d 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 28 22 69 6e 74 65 72 66 61 | ey.=.new.InternedString("interfa |
| 6d80 | 63 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 69 63 20 72 65 | ce");..........private.static.re |
| 6da0 | 61 64 6f 6e 6c 79 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 6b 44 65 76 69 63 65 43 6c 61 | adonly.InternedString.kDeviceCla |
| 6dc0 | 73 73 4b 65 79 20 3d 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 28 22 64 65 76 69 | ssKey.=.new.InternedString("devi |
| 6de0 | 63 65 43 6c 61 73 73 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 61 74 | ceClass");..........private.stat |
| 6e00 | 69 63 20 72 65 61 64 6f 6e 6c 79 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 6b 4d 61 6e 75 | ic.readonly.InternedString.kManu |
| 6e20 | 66 61 63 74 75 72 65 72 4b 65 79 20 3d 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 | facturerKey.=.new.InternedString |
| 6e40 | 28 22 6d 61 6e 75 66 61 63 74 75 72 65 72 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 | ("manufacturer");..........priva |
| 6e60 | 74 65 20 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e | te.static.readonly.InternedStrin |
| 6e80 | 67 20 6b 50 72 6f 64 75 63 74 4b 65 79 20 3d 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 | g.kProductKey.=.new.InternedStri |
| 6ea0 | 6e 67 28 22 70 72 6f 64 75 63 74 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 | ng("product");..........private. |
| 6ec0 | 73 74 61 74 69 63 20 72 65 61 64 6f 6e 6c 79 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 20 6b | static.readonly.InternedString.k |
| 6ee0 | 56 65 72 73 69 6f 6e 4b 65 79 20 3d 20 6e 65 77 20 49 6e 74 65 72 6e 65 64 53 74 72 69 6e 67 28 | VersionKey.=.new.InternedString( |
| 6f00 | 22 76 65 72 73 69 6f 6e 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 5b 53 65 72 69 61 6c 69 7a | "version");............[Serializ |
| 6f20 | 61 62 6c 65 5d 0d 0a 20 20 20 20 20 20 20 20 69 6e 74 65 72 6e 61 6c 20 73 74 72 75 63 74 20 4d | able]..........internal.struct.M |
| 6f40 | 61 74 63 68 65 72 4a 73 6f 6e 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 | atcherJson..........{........... |
| 6f60 | 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 40 69 6e 74 65 72 66 61 63 65 3b 0d 0a 20 20 | ...public.string.@interface;.... |
| 6f80 | 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 5b 5d 20 69 6e 74 65 72 66 | ..........public.string[].interf |
| 6fa0 | 61 63 65 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 | aces;..............public.string |
| 6fc0 | 20 64 65 76 69 63 65 43 6c 61 73 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 | .deviceClass;..............publi |
| 6fe0 | 63 20 73 74 72 69 6e 67 5b 5d 20 64 65 76 69 63 65 43 6c 61 73 73 65 73 3b 0d 0a 20 20 20 20 20 | c.string[].deviceClasses;....... |
| 7000 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 6d 61 6e 75 66 61 63 74 75 72 65 | .......public.string.manufacture |
| 7020 | 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 5b 5d 20 | r;..............public.string[]. |
| 7040 | 6d 61 6e 75 66 61 63 74 75 72 65 72 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c | manufacturers;..............publ |
| 7060 | 69 63 20 73 74 72 69 6e 67 20 70 72 6f 64 75 63 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ic.string.product;.............. |
| 7080 | 70 75 62 6c 69 63 20 73 74 72 69 6e 67 5b 5d 20 70 72 6f 64 75 63 74 73 3b 0d 0a 20 20 20 20 20 | public.string[].products;....... |
| 70a0 | 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 76 65 72 73 69 6f 6e 3b 0d 0a 20 | .......public.string.version;... |
| 70c0 | 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 5b 5d 20 76 65 72 73 69 | ...........public.string[].versi |
| 70e0 | 6f 6e 73 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 43 61 70 61 62 69 6c | ons;..............public.Capabil |
| 7100 | 69 74 79 5b 5d 20 63 61 70 61 62 69 6c 69 74 69 65 73 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 | ity[].capabilities;............. |
| 7120 | 20 20 20 70 75 62 6c 69 63 20 73 74 72 75 63 74 20 43 61 70 61 62 69 6c 69 74 79 0d 0a 20 20 20 | ...public.struct.Capability..... |
| 7140 | 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c | .........{..................publ |
| 7160 | 69 63 20 73 74 72 69 6e 67 20 70 61 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ic.string.path;................. |
| 7180 | 20 70 75 62 6c 69 63 20 73 74 72 69 6e 67 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 | .public.string.value;........... |
| 71a0 | 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 73 74 61 74 69 | ...}................public.stati |
| 71c0 | 63 20 4d 61 74 63 68 65 72 4a 73 6f 6e 20 46 72 6f 6d 4d 61 74 63 68 65 72 28 49 6e 70 75 74 44 | c.MatcherJson.FromMatcher(InputD |
| 71e0 | 65 76 69 63 65 4d 61 74 63 68 65 72 20 6d 61 74 63 68 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 | eviceMatcher.matcher)........... |
| 7200 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 74 63 68 65 | ...{..................if.(matche |
| 7220 | 72 2e 65 6d 70 74 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 | r.empty)......................re |
| 7240 | 74 75 72 6e 20 6e 65 77 20 4d 61 74 63 68 65 72 4a 73 6f 6e 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 | turn.new.MatcherJson();......... |
| 7260 | 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6a 73 6f 6e 20 3d 20 6e 65 77 20 4d 61 74 63 68 65 | ...........var.json.=.new.Matche |
| 7280 | 72 4a 73 6f 6e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 | rJson();..................foreac |
| 72a0 | 68 20 28 76 61 72 20 70 61 74 74 65 72 6e 20 69 6e 20 6d 61 74 63 68 65 72 2e 6d 5f 50 61 74 74 | h.(var.pattern.in.matcher.m_Patt |
| 72c0 | 65 72 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 | erns)..................{........ |
| 72e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6b 65 79 20 3d 20 70 61 74 74 65 72 6e 2e | ..............var.key.=.pattern. |
| 7300 | 4b 65 79 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 76 61 | Key;......................var.va |
| 7320 | 6c 75 65 20 3d 20 70 61 74 74 65 72 6e 2e 56 61 6c 75 65 2e 54 6f 53 74 72 69 6e 67 28 29 3b 0d | lue.=.pattern.Value.ToString();. |
| 7340 | 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6b 65 79 20 3d | .......................if.(key.= |
| 7360 | 3d 20 6b 49 6e 74 65 72 66 61 63 65 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.kInterfaceKey)................ |
| 7380 | 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......{......................... |
| 73a0 | 20 69 66 20 28 6a 73 6f 6e 2e 40 69 6e 74 65 72 66 61 63 65 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 | .if.(json.@interface.==.null)... |
| 73c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 2e | ...........................json. |
| 73e0 | 40 69 6e 74 65 72 66 61 63 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | @interface.=.value;............. |
| 7400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .............else............... |
| 7420 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 | ...............ArrayHelpers.Appe |
| 7440 | 6e 64 28 72 65 66 20 6a 73 6f 6e 2e 69 6e 74 65 72 66 61 63 65 73 2c 20 76 61 6c 75 65 29 3b 0d | nd(ref.json.interfaces,.value);. |
| 7460 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 | .....................}.......... |
| 7480 | 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 44 65 76 | ............else.if.(key.==.kDev |
| 74a0 | 69 63 65 43 6c 61 73 73 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | iceClassKey).................... |
| 74c0 | 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 | ..{..........................if. |
| 74e0 | 28 6a 73 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 | (json.deviceClass.==.null)...... |
| 7500 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 2e 64 65 76 | ........................json.dev |
| 7520 | 69 63 65 43 6c 61 73 73 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | iceClass.=.value;............... |
| 7540 | 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........else................. |
| 7560 | 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 6e 64 | .............ArrayHelpers.Append |
| 7580 | 28 72 65 66 20 6a 73 6f 6e 2e 64 65 76 69 63 65 43 6c 61 73 73 65 73 2c 20 76 61 6c 75 65 29 3b | (ref.json.deviceClasses,.value); |
| 75a0 | 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 | ......................}......... |
| 75c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 4d 61 | .............else.if.(key.==.kMa |
| 75e0 | 6e 75 66 61 63 74 75 72 65 72 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nufacturerKey).................. |
| 7600 | 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 | ....{..........................i |
| 7620 | 66 20 28 6a 73 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 | f.(json.manufacturer.==.null)... |
| 7640 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 2e | ...........................json. |
| 7660 | 6d 61 6e 75 66 61 63 74 75 72 65 72 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 | manufacturer.=.value;........... |
| 7680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | ...............else............. |
| 76a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 | .................ArrayHelpers.Ap |
| 76c0 | 70 65 6e 64 28 72 65 66 20 6a 73 6f 6e 2e 6d 61 6e 75 66 61 63 74 75 72 65 72 73 2c 20 76 61 6c | pend(ref.json.manufacturers,.val |
| 76e0 | 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 | ue);......................}..... |
| 7700 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d | .................else.if.(key.== |
| 7720 | 20 6b 50 72 6f 64 75 63 74 4b 65 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .kProductKey)................... |
| 7740 | 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | ...{..........................if |
| 7760 | 20 28 6a 73 6f 6e 2e 70 72 6f 64 75 63 74 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 | .(json.product.==.null)......... |
| 7780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 73 6f 6e 2e 70 72 6f 64 75 63 | .....................json.produc |
| 77a0 | 74 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.=.value;...................... |
| 77c0 | 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....else........................ |
| 77e0 | 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 6e 64 28 72 65 66 20 6a 73 | ......ArrayHelpers.Append(ref.js |
| 7800 | 6f 6e 2e 70 72 6f 64 75 63 74 73 2c 20 76 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 | on.products,.value);............ |
| 7820 | 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........}..................... |
| 7840 | 20 65 6c 73 65 20 69 66 20 28 6b 65 79 20 3d 3d 20 6b 56 65 72 73 69 6f 6e 4b 65 79 29 0d 0a 20 | .else.if.(key.==.kVersionKey)... |
| 7860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 | ...................{............ |
| 7880 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6a 73 6f 6e 2e 76 65 72 73 69 6f 6e 20 3d | ..............if.(json.version.= |
| 78a0 | 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | =.null)......................... |
| 78c0 | 20 20 20 20 20 6a 73 6f 6e 2e 76 65 72 73 69 6f 6e 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 | .....json.version.=.value;...... |
| 78e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 | ....................else........ |
| 7900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 | ......................ArrayHelpe |
| 7920 | 72 73 2e 41 70 70 65 6e 64 28 72 65 66 20 6a 73 6f 6e 2e 76 65 72 73 69 6f 6e 73 2c 20 76 61 6c | rs.Append(ref.json.versions,.val |
| 7940 | 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 | ue);......................}..... |
| 7960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d 0a 20 20 20 20 20 20 20 20 20 | .................else........... |
| 7980 | 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...........{.................... |
| 79a0 | 20 20 20 20 20 20 41 72 72 61 79 48 65 6c 70 65 72 73 2e 41 70 70 65 6e 64 28 72 65 66 20 6a 73 | ......ArrayHelpers.Append(ref.js |
| 79c0 | 6f 6e 2e 63 61 70 61 62 69 6c 69 74 69 65 73 2c 20 6e 65 77 20 43 61 70 61 62 69 6c 69 74 79 20 | on.capabilities,.new.Capability. |
| 79e0 | 7b 70 61 74 68 20 3d 20 6b 65 79 2c 20 76 61 6c 75 65 20 3d 20 76 61 6c 75 65 7d 29 3b 0d 0a 20 | {path.=.key,.value.=.value});... |
| 7a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 | ...................}............ |
| 7a20 | 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 | ......}....................retur |
| 7a40 | 6e 20 6a 73 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 | n.json;..............}.......... |
| 7a60 | 20 20 20 20 20 20 70 75 62 6c 69 63 20 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 20 | ......public.InputDeviceMatcher. |
| 7a80 | 54 6f 4d 61 74 63 68 65 72 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 | ToMatcher()..............{...... |
| 7aa0 | 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 74 63 68 65 72 20 3d 20 6e 65 77 20 49 6e | ............var.matcher.=.new.In |
| 7ac0 | 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 65 72 28 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 | putDeviceMatcher();............. |
| 7ae0 | 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 3a 20 67 65 74 20 72 69 64 20 6f 66 20 74 68 65 20 | .......////TODO:.get.rid.of.the. |
| 7b00 | 70 69 65 63 65 6d 65 61 6c 20 61 72 72 61 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 64 | piecemeal.array.allocation.and.d |
| 7b20 | 6f 20 69 74 20 69 6e 20 6f 6e 65 20 73 74 65 70 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | o.it.in.one.step................ |
| 7b40 | 20 20 20 20 2f 2f 20 49 6e 74 65 72 66 61 63 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ....//.Interfaces............... |
| 7b60 | 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 40 69 | ....if.(!string.IsNullOrEmpty(@i |
| 7b80 | 6e 74 65 72 66 61 63 65 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nterface))...................... |
| 7ba0 | 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 49 6e 74 65 72 66 61 63 65 28 | matcher.=.matcher.WithInterface( |
| 7bc0 | 40 69 6e 74 65 72 66 61 63 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 | @interface);..................if |
| 7be0 | 20 28 69 6e 74 65 72 66 61 63 65 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 | .(interfaces.!=.null)........... |
| 7c00 | 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 76 61 6c 75 65 20 69 6e | ...........foreach.(var.value.in |
| 7c20 | 20 69 6e 74 65 72 66 61 63 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .interfaces).................... |
| 7c40 | 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 49 6e 74 65 | ......matcher.=.matcher.WithInte |
| 7c60 | 72 66 61 63 65 28 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rface(value);................... |
| 7c80 | 20 2f 2f 20 44 65 76 69 63 65 20 63 6c 61 73 73 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 | .//.Device.classes.............. |
| 7ca0 | 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 64 | .....if.(!string.IsNullOrEmpty(d |
| 7cc0 | 65 76 69 63 65 43 6c 61 73 73 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eviceClass)).................... |
| 7ce0 | 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 44 65 76 69 63 65 43 6c | ..matcher.=.matcher.WithDeviceCl |
| 7d00 | 61 73 73 28 64 65 76 69 63 65 43 6c 61 73 73 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ass(deviceClass);............... |
| 7d20 | 20 20 20 69 66 20 28 64 65 76 69 63 65 43 6c 61 73 73 65 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 | ...if.(deviceClasses.!=.null)... |
| 7d40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 | ...................foreach.(var. |
| 7d60 | 76 61 6c 75 65 20 69 6e 20 64 65 76 69 63 65 43 6c 61 73 73 65 73 29 0d 0a 20 20 20 20 20 20 20 | value.in.deviceClasses)......... |
| 7d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 | .................matcher.=.match |
| 7da0 | 65 72 2e 57 69 74 68 44 65 76 69 63 65 43 6c 61 73 73 28 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 | er.WithDeviceClass(value);...... |
| 7dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4d 61 6e 75 66 61 63 74 75 72 65 72 2e 0d 0a | ..............//.Manufacturer... |
| 7de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 | ................if.(!string.IsNu |
| 7e00 | 6c 6c 4f 72 45 6d 70 74 79 28 6d 61 6e 75 66 61 63 74 75 72 65 72 29 29 0d 0a 20 20 20 20 20 20 | llOrEmpty(manufacturer))........ |
| 7e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e | ..............matcher.=.matcher. |
| 7e40 | 57 69 74 68 4d 61 6e 75 66 61 63 74 75 72 65 72 28 6d 61 6e 75 66 61 63 74 75 72 65 72 29 3b 0d | WithManufacturer(manufacturer);. |
| 7e60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6d 61 6e 75 66 61 63 74 75 72 65 | .................if.(manufacture |
| 7e80 | 72 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rs.!=.null)..................... |
| 7ea0 | 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 76 61 6c 75 65 20 69 6e 20 6d 61 6e 75 66 61 63 74 75 | .foreach.(var.value.in.manufactu |
| 7ec0 | 72 65 72 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d | rers)..........................m |
| 7ee0 | 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 4d 61 6e 75 66 61 63 74 75 72 65 | atcher.=.matcher.WithManufacture |
| 7f00 | 72 28 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 | r(value);....................//. |
| 7f20 | 50 72 6f 64 75 63 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 21 73 | Product...................if.(!s |
| 7f40 | 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 70 72 6f 64 75 63 74 29 29 0d 0a 20 | tring.IsNullOrEmpty(product))... |
| 7f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 | ...................matcher.=.mat |
| 7f80 | 63 68 65 72 2e 57 69 74 68 50 72 6f 64 75 63 74 28 70 72 6f 64 75 63 74 29 3b 0d 0a 20 20 20 20 | cher.WithProduct(product);...... |
| 7fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 72 6f 64 75 63 74 73 20 21 3d 20 6e 75 6c 6c | ............if.(products.!=.null |
| 7fc0 | 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 | )......................foreach.( |
| 7fe0 | 76 61 72 20 76 61 6c 75 65 20 69 6e 20 70 72 6f 64 75 63 74 73 29 0d 0a 20 20 20 20 20 20 20 20 | var.value.in.products).......... |
| 8000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 | ................matcher.=.matche |
| 8020 | 72 2e 57 69 74 68 50 72 6f 64 75 63 74 28 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 | r.WithProduct(value);........... |
| 8040 | 20 20 20 20 20 20 20 20 20 2f 2f 20 56 65 72 73 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 | .........//.Version............. |
| 8060 | 20 20 20 20 20 20 69 66 20 28 21 73 74 72 69 6e 67 2e 49 73 4e 75 6c 6c 4f 72 45 6d 70 74 79 28 | ......if.(!string.IsNullOrEmpty( |
| 8080 | 76 65 72 73 69 6f 6e 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d | version))......................m |
| 80a0 | 61 74 63 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 56 65 72 73 69 6f 6e 28 76 65 72 | atcher.=.matcher.WithVersion(ver |
| 80c0 | 73 69 6f 6e 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 76 65 72 73 | sion);..................if.(vers |
| 80e0 | 69 6f 6e 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ions.!=.null)................... |
| 8100 | 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 76 61 6c 75 65 20 69 6e 20 76 65 72 73 69 6f 6e | ...foreach.(var.value.in.version |
| 8120 | 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 | s)..........................matc |
| 8140 | 68 65 72 20 3d 20 6d 61 74 63 68 65 72 2e 57 69 74 68 56 65 72 73 69 6f 6e 28 76 61 6c 75 65 29 | her.=.matcher.WithVersion(value) |
| 8160 | 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 43 61 70 61 62 69 6c 69 | ;....................//.Capabili |
| 8180 | 74 69 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 61 70 61 62 | ties...................if.(capab |
| 81a0 | 69 6c 69 74 69 65 73 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ilities.!=.null)................ |
| 81c0 | 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 76 61 6c 75 65 20 69 6e 20 63 61 70 61 | ......foreach.(var.value.in.capa |
| 81e0 | 62 69 6c 69 74 69 65 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bilities)....................... |
| 8200 | 20 20 20 2f 2f 2f 2f 46 49 58 4d 45 3a 20 77 65 27 72 65 20 74 75 72 6e 69 6e 67 20 61 6c 6c 20 | ...////FIXME:.we're.turning.all. |
| 8220 | 76 61 6c 75 65 73 20 69 6e 74 6f 20 73 74 72 69 6e 67 73 20 68 65 72 65 0d 0a 20 20 20 20 20 20 | values.into.strings.here........ |
| 8240 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 72 20 3d 20 6d 61 74 63 | ..................matcher.=.matc |
| 8260 | 68 65 72 2e 57 69 74 68 43 61 70 61 62 69 6c 69 74 79 28 76 61 6c 75 65 2e 70 61 74 68 2c 20 76 | her.WithCapability(value.path,.v |
| 8280 | 61 6c 75 65 2e 76 61 6c 75 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | alue.value);.................... |
| 82a0 | 72 65 74 75 72 6e 20 6d 61 74 63 68 65 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a | return.matcher;..............}.. |
| 82c0 | 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d 0a 00 00 00 00 00 00 00 00 00 00 00 | ........}......}..}............. |
| 82e0 | 00 00 00 00 00 00 00 00 00 00 00 00 12 00 00 00 49 6e 70 75 74 44 65 76 69 63 65 4d 61 74 63 68 | ................InputDeviceMatch |
| 8300 | 65 72 00 00 00 00 00 00 | er...... |